bug-texinfo
[Top][All Lists]
Advanced

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

Re: Itemize/enumerate in multitable


From: Stepan Kasal
Subject: Re: Itemize/enumerate in multitable
Date: Thu, 19 Aug 2004 12:57:24 +0200
User-agent: Mutt/1.4.1i

Hello,
  thank you for your bug report.

On Wed, Aug 18, 2004 at 01:26:00PM -0400, Pierre-Luc Veilleux wrote:
> This code work in makeinfo, but fail to generate a pdf file with
> texi2dvi. I have the latest texinfo.tex macro file.
> 
> \input texinfo   @c -*,-texinfo-*-
> @c %**start of header
> @setfilename texinfo
> @settitle texinfo Manual 1.0
> @c %**end of header
> 
> @multitable @columnfractions 0.2 0.4 0.4
> @item first @tab second @tab three
> @item first @tab second @tab three
> @item first @tab second @tab 
> @itemize 
> @item toto 
> @item titi 
> @item tata
> @end itemize
> @item first @tab second @tab three
> @end multitable
> 
> @bye

Until a real fix is implemented, we have to find a workaround; please find
one possible solution attached at the end of this mail.

The problem is caused by the @item, which confuses @multitable.
With current implementation of multitable, which does \let\item\crcr,
you have to hide the @itemize in a group, like this:

@item first @tab second @tab 
{
@itemize 
@item toto 
@item titi 
@item tata
@end itemize
}
@item first @tab second @tab three

Unfortunately, makeinfo doesn't like this.  I suggest that the @multitable
syntax is changed, so that you can optionally add braces, eg.:

        @item {first} @tab second @tab {three}

Another way would be to find a way that @itemize address@hidden itemize would 
expand
to a grouped definition, at least within multitable.

The straightforward definition, which would be approximately

        \let\realitemize\itemize
        \def\itemize#1\end itemize{{\realitemize#1\end itemize}}

within the definition of @multitable would bring the usual set of problems
with 1) catcode chages inside @itemize, and 2) nested @itemize environments.
1) could perhaps be solved by utilizing \scanmacro mechanism, but it seems
to be an overkill which could bring problems.
2) is hard, though perhaps solvable---you have to find a fully expandable
solution!

So I'm not going to implement this, and urge you to accept the change to
texinfo language.

Have a nice day,
        Stepan Kasal


A possible workaround:

\input texinfo.tex
@c -*,-texinfo-*-
@c %**start of header
@setfilename itemi
@settitle intemi Manual 1.0
@c %**end of header

@tex
\global\let\shelter\empty
@end tex

@ifnottex
@macro shelter {a}
\a\
@end macro
@end ifnottex

@multitable @columnfractions 0.2 0.4 0.4
@item first @tab second @tab three
@item first @tab second @tab three
@item first @tab second @tab
@shelter {
@itemize
@item toto
@item titi
@item tata
@end itemize
}
@item first @tab second @tab three
@end multitable

@bye






reply via email to

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