# [XeTeX] tabular in footnote

Daniel Greenhoe dgreenhoe at gmail.com
Thu Dec 8 00:49:05 CET 2011

Hello Heiko,

On Wed, Dec 7, 2011 at 7:51 AM, Heiko Oberdiek
<heiko.oberdiek at googlemail.com> wrote:
> I have seen two problems with your example and one of them solved,
> the other remained unsolved. No more, no less.

Yes, that misunderstanding was my fault.

> 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.

A very nice solution --- thank you very much

>  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:

Thank you for this solution as well. I have tested it and it did work.
I am sorry for my slow response in acknowledging it. I have worked for
it seems several hours trying to integrate it into a larger project.
The integration did not go so smoothly. In particular, when I tried to
use it in a real project, the spacing between footnotes increased. I
finally traced the conflict to the directive "\VerbatimFootnotes" from
the "fancyvrb" (fancy verbatim) package. I reproduced the problem in
the code you provided and will attach it to this email. You can take a
look if you happen to have time. But if you don't have time, I do want
to say that I greatly appreciate all the time you have already spent
in helping me with this problem.

Even if you do choose to take a look at the attached files, I don't
think you need to spend time on this problem. I have observed that
LaTeX apparently often has this bottom overflow problem, not just in
the case of footnotes. For example, when using AMS's {align*}
environment, the index "n" in \sum_n can also extend outside the lower
text boundary. Even in the patch that you so skillfully crafted, the
letter "g" still can violate the lower boundary (maybe letters with
descenders in general have this problem)? But I suppose that could be
remedied as well. Even if this problem was fixed, there is still the
problem that the patch does not work well when there is only one entry
in the tltabular environment (too much vertical spacing).

On Wed, Dec 7, 2011 at 5:46 AM, Heiko Oberdiek
<heiko.oberdiek at googlemail.com> wrote:
> Please, be more precise. What do you consider as bug?

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".

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[
> ]{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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Heiko2.tex
Type: application/x-tex
Size: 1422 bytes
Desc: not available
URL: <http://tug.org/pipermail/xetex/attachments/20111208/b59ca42e/attachment.tex>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Heiko2.pdf
Type: application/pdf
Size: 5609 bytes
Desc: not available
URL: <http://tug.org/pipermail/xetex/attachments/20111208/b59ca42e/attachment.pdf>