[XeTeX] tabular in footnote

Tobias Schoel liesdiedatei at googlemail.com
Thu Dec 8 08:50:30 CET 2011


On 08.12.2011 05:59, Daniel Greenhoe wrote:
> 2011/12/8 Zdenek Wagner<zdenek.wagner at gmail.com>:
>> No, I do not agree. I can only agree that the LaTeX user
>> documentatioin is incomplete. ...
>> Without knowledge of the
>> modes you cannot understand why the table behaves differently in the
>> footnote. It is documented in the TeXbook.
>
> Then if that is the current state of the platform, as a LaTeX/XeLaTeX
> user it is not reasonable for me to make the demands on the system
> such as I originally sought (e.g. keeping text completely within the
> text area); that is,  absolute precision is beyond the reach of one
> who only codes at the LaTeX/XeLaTeX level, and is only within the
> reach of one who codes at the TeX level.
Yes. It's not (Xe)LaTeX's purpose. It's (Xe)TeX's purpose.

But when using (Xe)LaTeX, I don't want to care about different modes. 
(Xe)LaTeX should “understand” the structure, I give to text, the 
different formatting options, I give to the structures, and should tell 
TeX, how to accomplish these tasks.

[Because (Xe)LaTeX is only software working on hardware, which can only 
tell wheter a specific electric quantum (voltage, current, charge) is 0 
or not (1), it can only work with structures and formatting options that 
it's programmers has translated into 0 and 1.]

Which means, only the structures, formatting options and their 
interactions, which are precomposed by LaTeX or composed by the author 
(via \newcommand, \newenvironment, etc.) are available.

Unfortunately, the interaction "tabulars in footnotes" was not 
specifically designed, so it's interaction is definded by more general 
approaches, which happen to fail.

>
> This is not a complaint, it is only an observation. I actually have a
> copy of the TeX Book, I just need to open it.  ^___^
>
> Thank you for the clarification,
> Dan
>
>
> 2011/12/8 Zdenek Wagner<zdenek.wagner at gmail.com>:
>> 2011/12/8 Daniel Greenhoe<dgreenhoe at gmail.com>:
>>> Hello Heiko,
>>> ...
>>> In my mind (and maybe in my mind only) if I code something (e.g. a
>>> tabular in a footnote) in accordance with documented syntax and then
>>> the result of that code violates a parameter (e.g. a lower text area
>>> boundary) defined in the same documentation, then that by definition
>>> is a bug. Secondly, if  a 32 line section of code is required to
>>> prevent my correctly coded (as defined by documented syntax) code from
>>> violating such a parameter, then such a violation is by definition a
>>> bug and the 32 lines of additional code is by definition a "patch".
>>>
>> No, I do not agree. I can only agree that the LaTeX user
>> documentatioin is incomplete. Consider the expression "my text". You
>> would certainly be disapointed if the word "text" were verticaly
>> aligned so that its baseline matched with the bottom of "y". That's
>> why boxes have height and depth and are aligned to baselines, not to
>> bottom. The truth is that the documentation of tabular is incomplete.
>> It does not say that it has zero width and the whole table extends
>> below baseline. Thus in your original sample file you aske LaTeX to
>> put the table below the baseline and LaTeX did exactly what you asked
>> for. Incomplete documentation is unfortunately a feature of LaTeX.
>> Normal users do not know that \vspace is expanded to \vskip in the
>> vertical mode but to \vadjust{...} in the horizontal mode and the
>> starred variant is esentially \vglue. I am afraid that the LaTeX
>> documentation does not even mention the 5 modes so that the vertical
>> and horizontal modes may be strange for you. Without knowledge of the
>> modes you cannot understand why the table behaves differently in the
>> footnote. It is documented in the TeXbook.
>>
>>> Having said that, let me make these additional comments:
>>>   1. I am embarrassed by my own lack of knowledge with respect to TeX coding.
>>>   2. I realize that I take a lot from this email list but contribute
>>> nothing or next to nothing
>>>   3. I very much appreciate all the help that I have and do receive
>>> from this mailing list
>>>   4. I know that beggars can't be choosers.
>>>   5. TeX and it's derivatives has to be one of the greatest
>>> developments of all time --- like unto the Gutenberg Press --- many
>>> many thanks to everyone who has and continues to work so hard to
>>> develop it.
>>>
>>> Dan
>>>
>>>
>>> On Wed, Dec 7, 2011 at 7:51 AM, Heiko Oberdiek
>>> <heiko.oberdiek at googlemail.com>  wrote:
>>>> On Wed, Dec 07, 2011 at 06:30:39AM +0800, Daniel Greenhoe wrote:
>>>>
>>>>> On Wed, Dec 7, 2011 at 5:46 AM, Heiko Oberdiek
>>>>> <heiko.oberdiek at googlemail.com>  wrote:
>>>>>> You have to compile twice at least.
>>>>>
>>>>> I compiled at least 8 times using "xelatex Heiko.tex". I still get the
>>>>> same error: the text extends below the text area (see attachment). You
>>>>> don't get this result on your system?
>>>>
>>>> And I had written:
>>>>
>>>> | The following example addresses calculates the shift to align
>>>> | the baseline of the footnote line with the first line of
>>>> | the tabular. No time for looking at the problem with the overfull \vbox.
>>>>
>>>> I have seen two problems with your example and one of them solved,
>>>> the other remained unsolved. No more, no less.
>>>>
>>>> Taking more time, I see now, that the overfull \vbox is caused
>>>> by something different: The header is set to zero (see options
>>>> for geometry), but the page number is printed causing the
>>>> overfull \vbox. Changing the options of geometry or \pagestyle{empty}
>>>> solves the problem.
>>>>
>>>> The exceeding part of the second footnote text is correct behaviour:
>>>> TeX tries to align the top and bottom lines of a page in order to
>>>> get the baselines at the same position:
>>>> * At the top vertical space is added up to \topskip unless
>>>>   the height of the first element is larger than \topskip.
>>>> * At the bottom the bottom element might have a depth up to
>>>>   \maxdepth. The default for \maxdepth with \documentclass[12pt]{book}
>>>>   is .5\topskip = 8pt. \maxdepth=0pt doesn't allow the bottom element
>>>>   to exceed the textarea. Aligning the last line of the tabular with the
>>>>   bottom of the textarea is much more tricky.
>>>>
>>>>   The following assumes that the last line of the tabular contains
>>>>   normal text without large depths:
>>>>
>>>> \documentclass[12pt]{book}
>>>> \usepackage{array}
>>>> \usepackage[
>>>>   a4paper,noheadfoot,nomarginpar,margin=20mm,showframe
>>>> ]{geometry}
>>>> \usepackage{zref-savepos}
>>>> \pagestyle{empty}
>>>>
>>>> %\maxdepth=0pt
>>>>
>>>> \makeatletter
>>>> \newsavebox\tl at box
>>>> \newcount\c at tlcount
>>>> \setcounter{tlcount}{0}
>>>> \def\thetlcount{\the\c at tlcount}
>>>> \newenvironment*{tltabular}[1]{%
>>>>   \stepcounter{tlcount}%
>>>>   \begin{lrbox}{\tl at box}%
>>>>   \begin{tabular}[t]{|#1|}%
>>>>   \hline
>>>>   \zref at savepos
>>>>   \zref at labelbyprops{tl at b\thetlcount}{posy}%
>>>>   \xdef\g at dp@arstrutbox{%
>>>>     \the\dimexpr\dp\@arstrutbox+\arrayrulewidth
>>>>   }%
>>>>   \ignorespaces
>>>> }{%
>>>>   \hline
>>>>   \end{tabular}%
>>>>   \end{lrbox}%
>>>>   \zref at refused{tl at a\thetlcount}%
>>>>   \zref at refused{tl at b\thetlcount}%
>>>>   \dimen@=\dimexpr
>>>>     \zposy{tl at a\thetlcount}sp-\zposy{tl at b\thetlcount}sp%
>>>>   \relax
>>>>   \raisebox{\dimen@}{%
>>>>     \zref at savepos
>>>>     \zref at labelbyprops{tl at a\thetlcount}{posy}%
>>>>     \box\tl at box
>>>>   }\\*[-\g at dp@arstrutbox]%
>>>>   \hbox{\vrule width 0pt depth\g at dp@arstrutbox}%
>>>> }
>>>>
>>>> \begin{document}%
>>>>   xyz\footnote{%
>>>>    \begin{tltabular}{l}
>>>>      abc\\
>>>>      def\\
>>>>      ghj\\
>>>>      klm\\
>>>>    \end{tltabular}%\\
>>>>   }
>>>>   xyz\footnote{%
>>>>    \begin{tltabular}{l}
>>>>      abc\\
>>>>      def\\
>>>>      ghj\\
>>>>      klm\\
>>>>    \end{tltabular}%\\
>>>>   }
>>>> \end{document}%
>>>>
>>>> Yours sincerely
>>>>   Heiko Oberdiek
>>>>
>>>>
>>>> --------------------------------------------------
>>>> Subscriptions, Archive, and List information, etc.:
>>>>   http://tug.org/mailman/listinfo/xetex
>>>
>>>
>>>
>>> --------------------------------------------------
>>> Subscriptions, Archive, and List information, etc.:
>>>   http://tug.org/mailman/listinfo/xetex
>>>
>>
>>
>>
>> --
>> Zdeněk Wagner
>> http://hroch486.icpf.cas.cz/wagner/
>> http://icebearsoft.euweb.cz
>>
>>
>>
>> --------------------------------------------------
>> Subscriptions, Archive, and List information, etc.:
>>   http://tug.org/mailman/listinfo/xetex
>
>
>
> --------------------------------------------------
> Subscriptions, Archive, and List information, etc.:
>    http://tug.org/mailman/listinfo/xetex


More information about the XeTeX mailing list