[Top][All Lists]
[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