bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: @ref in @multitable broken in Info output if split across lines


From: Gavin Smith
Subject: Re: @ref in @multitable broken in Info output if split across lines
Date: Fri, 6 Feb 2015 17:50:17 +0000

On Fri, Feb 6, 2015 at 4:33 PM, Gavin Smith <address@hidden> wrote:
> On Wed, Dec 3, 2014 at 8:22 PM, Gavin Smith <address@hidden> wrote:
>> If makeinfo produces a cross-reference in a table in the Info output
>> and the text for the cross-reference is split across lines, then it is
>> not possible to follow the cross-reference.
>
> I should note that this is a problem with the new texindex.info file
> that is generated in the Texinfo distribution, e.g. the "Per Record
> Processing" node. It may be possible to avoid this problem, in lieu of
> a proper fix in makeinfo, by changes to the source file, but I haven't
> investigated this.

I notice that @w can block newlines. Sample input:


@multitable @columnfractions .35 .65
@headitem Chunk name @tab First definition point
@item @r{<@i{Check for more than one initial}>} @tab See
@ref{Check-for-more-than-one-initial}.
@item @r{<@i{Get the initial}>} @tab See @ref{Get-the-initial}.
@item @r{<@i{Name the fields}>} @tab See @ref{Name-the-fields}.
@item @r{<@i{Remove duplicates}>} @tab See @ref{Remove-duplicates}.
@item @r{<@i{Remove leading @code{\entry}}>} @tab See
@ref{Remove-leading--code--entry-}.
@item @r{<@i{Set up @code{fields} array with the data}>} @tab See
@ref{Set-up--code-fields--array-with-the-data}.
@item @r{<@i{Store the data for this line in the @code{Data} array}>}
@tab See @ref{Store-the-data-for-this-line-in-the--code-Data--array}.
@end multitable

@multitable @columnfractions .35 .65
@headitem Chunk name @tab First definition point
@item @r{<@i{Check for more than one initial}>} @tab See
@ref{Check-for-more-than-one-initial}.
@item @r{<@i{Get the initial}>} @tab See @ref{Get-the-initial}.
@item @r{<@i{Name the fields}>} @tab See @ref{Name-the-fields}.
@item @r{<@i{Remove duplicates}>} @tab See @ref{Remove-duplicates}.
@item @r{<@i{Remove leading @code{\entry}}>} @tab See
@ref{Remove-leading--code--entry-}.
@item @r{<@i{Set up @code{fields} array with the data}>} @tab See
@address@hidden
@item @r{<@i{Store the data for this line in the @code{Data} array}>}
@tab See
@address@hidden
@end multitable

Sample output (with "makeinfo --no-validate")

This is multitable.info, produced by makeinfo version 5.2dev from
multitable.texi.

Chunk name                First definition point
--------------------------------------------------------------------------
<Check for more than      See *note Check-for-more-than-one-initial::.
one initial>
<Get the initial>         See *note Get-the-initial::.
<Name the fields>         See *note Name-the-fields::.
<Remove duplicates>       See *note Remove-duplicates::.
<Remove leading           See *note Remove-leading--code--entry-::.
'\entry'>
<Set up 'fields' array    See *note
with the data>            Set-up--code-fields--array-with-the-data::.
<Store the data for       See *note
this line in the 'Data'
Store-the-data-for-this-line-in-the--code-Data--array::.
array>

Chunk name                First definition point
--------------------------------------------------------------------------
<Check for more than      See *note Check-for-more-than-one-initial::.
one initial>
<Get the initial>         See *note Get-the-initial::.
<Name the fields>         See *note Name-the-fields::.
<Remove duplicates>       See *note Remove-duplicates::.
<Remove leading           See *note Remove-leading--code--entry-::.
'\entry'>
<Set up 'fields' array    See
with the data>            *note Set-up--code-fields--array-with-the-data::.
<Store the data for       See
this line in the 'Data'   *note
Store-the-data-for-this-line-in-the--code-Data--array::.
array>

^_
Tag Table:
^_
End Tag Table

=================
(compare the last two table entries.)

I see that this is generated from input like

@<Process a record@> =
{
  @<Remove duplicates@>
  @<Remove leading @code{\entry}@>
  @<Get the initial@>
  @<Set up @code{fields} array with the data@>
  @<Name the fields@>
  @<Store the data for this line in the @code{Data} array@>
  @<Check for more than one initial@>
}
@

in ti.twjr.

I'd suggest as a temporary solution, in jrweave to define a macro like
@w-for-ref that would be defined as @w for the Info output only, and
which would be used around cross-references in multitables - the
output would only be slightly broken in that line lengths could be too
long.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]