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.oberd...@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@box \newcount\c@tlcount \setcounter{tlcount}{0} \def\thetlcount{\the\c@tlcount} \newenvironment*{tltabular}[1]{% \stepcounter{tlcount}% \begin{lrbox}{\tl@box}% \begin{tabular}[t]{|#1|}% \hline \zref@savepos \zref@labelbyprops{tl@b\thetlcount}{posy}% \xdef\g@dp@arstrutbox{% \the\dimexpr\dp\@arstrutbox+\arrayrulewidth }% \ignorespaces }{% \hline \end{tabular}% \end{lrbox}% \zref@refused{tl@a\thetlcount}% \zref@refused{tl@b\thetlcount}% \dimen@=\dimexpr \zposy{tl@a\thetlcount}sp-\zposy{tl@b\thetlcount}sp% \relax \raisebox{\dimen@}{% \zref@savepos \zref@labelbyprops{tl@a\thetlcount}{posy}% \box\tl@box }\\*[-\g@dp@arstrutbox]% \hbox{\vrule width 0pt depth\g@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