Longtable 仅在第一页留下页眉:我该如何修复它?

Longtable 仅在第一页留下页眉:我该如何修复它?

我正在使用 MiKTeX 2.9 和 XeLaTeX。以下是最小的工作示例:

\documentclass[oneside,final,14pt]{extreport}
\usepackage[top=2.0cm,bottom=2.0cm,left=2.0cm,right=1.0cm]{geometry}
\setlength\parindent{1.5cm}
\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Times New Roman}
\setsansfont{Calibri}
\setmonofont{Consolas}
\defaultfontfeatures{Scale=MatchLowercase, Mapping=tex-text}

\usepackage{array}
\usepackage{longtable}
\usepackage{multirow}

\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sagittis pretium felis, id malesuada enim. Nam nunc odio, tempor eu pharetra a, aliquam non dui. Mauris ac vulputate quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec euismod lacinia ante, id pretium nulla molestie quis. Duis dignissim massa odio, a cursus arcu ornare nec. Maecenas mollis rhoncus nisl ac luctus. Praesent sollicitudin, arcu ac fringilla semper, massa justo venenatis sapien, eget gravida tellus metus nec ipsum. Praesent convallis consectetur orci, nec placerat dolor tristique nec. Curabitur vel quam et felis luctus interdum. Sed lacinia enim quam, at commodo lorem suscipit a. Nullam posuere nulla mi, nec convallis libero pharetra sed. Aliquam venenatis fringilla sapien eget suscipit. Nulla bibendum consequat lectus, non consequat dui tempus sed.

Nam sed sapien auctor, consectetur augue vel, consectetur nisi. Morbi venenatis massa eget venenatis facilisis. Nullam dapibus nibh eget purus malesuada facilisis. Duis molestie nisl in est posuere mollis. Vestibulum gravida blandit gravida. Cras eu magna posuere, egestas enim vel, auctor nibh. Donec porta interdum lorem ut ornare. Nulla facilisi.

Quisque laoreet, dolor sed gravida posuere, metus nulla sagittis est, vel porttitor justo neque eget lectus. Phasellus quis urna pulvinar, vehicula tortor eget, laoreet lectus. Sed eget mi ut massa egestas venenatis in ac ligula. Nulla eget malesuada purus. Curabitur mollis ligula sit amet urna auctor, nec auctor tellus pellentesque. Maecenas ligula quam, lacinia eu lorem non, malesuada sagittis mauris. Aliquam sapien arcu, aliquet a malesuada eget, accumsan a quam. Donec iaculis auctor elit, non lobortis magna pharetra commodo. Proin convallis neque id libero varius posuere eget eget orci. Aenean sit amet neque non erat pulvinar sodales at ac ligula. Suspendisse potenti. Donec euismod blandit eros, vel imperdiet augue dignissim mattis.

Sed dapibus augue ac felis tincidunt commodo. Quisque ante lacus, condimentum eget justo nec, accumsan vestibulum tellus. Praesent lobortis in dui et vehicula. Nam elit turpis, vehicula consequat lectus in, scelerisque vulputate tortor. Vestibulum ut dolor eu turpis luctus pellentesque at ut risus. Integer et cursus orci, a consectetur metus. Praesent tempus pellentesque diam, sit amet sodales lorem pharetra et. Integer vulputate risus ac ultrices tempus.

Phasellus aliquet gravida eros, at iaculis enim vestibulum at. Sed semper pharetra ipsum, non posuere purus aliquet eu. Mauris bibendum consectetur facilisis. In nec elit pharetra, fringilla elit ut, consequat felis. Maecenas sollicitudin nisi dapibus neque tristique, quis elementum mi posuere. In vestibulum leo a lectus dapibus tincidunt. Quisque in nisl non magna sollicitudin cursus. Praesent sodales rhoncus pulvinar. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur dapibus egestas suscipit.

\begin{longtable}{|m{3cm}|m{3cm}|m{3cm}|}
\caption{Long long table (for example)}
\label{tab:example}
\\\hline
Lorem ipsum & Dolor sit & Consectetur \\
\endfirsthead
\caption*{Table~\ref{tab:example} (cont.)}
\\\hline
Lorem ipsum & Dolor sit & Consectetur \\
\endhead

\hline
Phasellus & aliquet & gravida \\\hline
eros & at iaculis & enim vestibulum at \\\hline
Sed semper & pharetra ipsum & non posuere \\\hline
\end{longtable}

Morbi in leo non purus dignissim pulvinar a in erat. Donec in lorem non nisl ultricies elementum. Praesent rutrum libero vitae purus suscipit, venenatis convallis neque aliquam.
\end{document}

这就是我得到的:

示例1 示例2

我怎样才能防止 longtable 以这种奇怪的方式划分它?理想的结果是留下标题第一页的第一行 - 如果没有空间,则将整个表格移至下一页并用下一段代替。

这是源文件、结果文件和两个正确行为的示例:例子.zip

答案1

我认为您可能对表头的设置有点特殊,这导致了此问题行为。使用类似下面的代码,我不会遇到您遇到的不良分页问题。请注意,修改后的代码\hline在和的末尾都有一个语句\endfirsthead\endhead相反,longtable 主体的实际行不再以\hline指令开头。

一个单独的主题:我会在的范围内使用\caption(或)语句,但避免在中使用它;我更喜欢使用类似的东西作为材料的第一行。\caption*\endfirsthead\endhead\multicolumn{3}{l}{\em (Table~\ref{tab:example}, cont'd)}\endhead

\begin{longtable}{|m{3cm}|m{3cm}|m{3cm}|}
\caption{Long long table (for example)}\label{tab:example} \\ \hline
Lorem ipsum & Dolor sit & Consectetur \\ \hline
\endfirsthead
\multicolumn{3}{l}{\em (Table~\ref{tab:example}, cont'd)} \\ \hline
Lorem ipsum & Dolor sit & Consectetur \\ \hline
\endhead
\hline
\multicolumn{3}{r}{\em (continued on following page)}\\
\endfoot
\hline
\endlastfoot
Phasellus & aliquet & gravida \\ \hline
eros & at iaculis & enim vestibulum at \\ \hline
Sed semper & pharetra ipsum & non posuere \\ \hline
\end{longtable}

相关内容