
長い表では、出力が壊れることがあります。ページの先頭に、最初の表以外のヘッダーが挿入されます。これは非常にまれで、前のページに非常に特定の量のスペースが残っている場合にのみ発生するようです。
この出力の原因と回避策について何かアイデアはありますか?
そして、ドキュメント。これは私がなんとか作成できた最も単純な複製です。ただし、原因は \needspace だけではありません。同じ問題が、別の長い表の直後の長い表でも発生し、段落の後に発生することは非常にまれです。
\documentclass[10pt,a4paper,final,twoside]{article}
\usepackage[a4paper,landscape]{geometry}
\usepackage{longtable}
\usepackage{needspace}
\begin{document}
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz\\[30pt]
\needspace{10\baselineskip}
\section*{Header}
\begin{longtable}{l l l l l}
\multicolumn{5}{l}{Data (continued)}\\*
\textbf{Addr} & \textbf{Type} & \textbf{Product} & \textbf{Serial} & \textbf{Location} \\*
\hline
\endhead
\multicolumn{5}{l}{Data}\\*
\textbf{Addr} & \textbf{Type} & \textbf{Product} & \textbf{Serial} & \textbf{Location} \\*
\hline
\endfirsthead
25 & Data & Data & Data & Data \\
26 & Data & Data & Data & Data \\
27 & Data & Data & Data & Data \\
28 & Data & Data & Data & Data \\
29 & Data & Data & Data & Data \\
30 & Data & Data & Data & Data \\
31 & Data & Data & Data & Data \\
32 & Data & Data & Data & Data \\
\end{longtable}
\end{document}
私はこれを、debian wheezy texlive と miktex の両方で pdflatex、xelatex、lualatex でテストしましたが、常に同じ悪い出力が生成されます。
答え1
Longtableは、開始時に出力ルーチンを切り替えるため、少しデリケートな状態にあるため、\needspace
それを使用するのは勇気がいるかもしれませんが、あなたの例は次のように簡略化できます。
\documentclass[10pt,a4paper,final,twoside,landscape]{article}
\setlength\textwidth{591.5302pt}
\setlength\textheight{418.25368pt}
\usepackage{longtable}
\begin{document}
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz
xyz\\[30pt]
%%\clearpage
\section*{Header}
\begin{longtable}{l l l l l}
\multicolumn{5}{l}{Data (continued)}\\*
\textbf{Addr} & \textbf{Type} & \textbf{Product} & \textbf{Serial} & \textbf{Location} \\*
\hline
\endhead
\multicolumn{5}{l}{Data}\\*
\textbf{Addr} & \textbf{Type} & \textbf{Product} & \textbf{Serial} & \textbf{Location} \\*
\hline
\endfirsthead
25 & Data & Data & Data & Data \\
26 & Data & Data & Data & Data \\
27 & Data & Data & Data & Data \\
28 & Data & Data & Data & Data \\
29 & Data & Data & Data & Data \\
30 & Data & Data & Data & Data \\
31 & Data & Data & Data & Data \\
32 & Data & Data & Data & Data \\
\end{longtable}
\end{document}
同じ問題が発生しますが、寄付されたパッケージを使用していないため、責任を負うことができる人の数が限られているため残念です。
通常の回避策は、コメントを解除する\clearpage
ことです。
わかりやすいテストケースをありがとう。後で見てみるよ