[XeTeX] tabular in footnote

Daniel Greenhoe dgreenhoe at gmail.com
Thu Dec 8 04:59:38 CET 2011


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.

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



More information about the XeTeX mailing list