我想问一下如何使用 longtabu 在两个不同的页面之间拆分对齐文本。目前,如果一行超出页面空间,则整个文本将打印在下一页,而在上一页留下较大的空白。
\documentclass[a4paper, 12pt]{article}
\usepackage{longtable,tabu}
\usepackage{lipsum}
\begin{document}
\begin{longtabu}{X[2,j]X[16,j]}
A & \lipsum[1] \\
B & \lipsum[1] \\
C & \lipsum[1] \\
D & \lipsum[1] \\
\end{longtabu}
\end{document}
您可能会注意到 C 的文本将完全打印在第 2 页上,而在第 1 页的底部留下一大片空白。
谢谢你们。
答案1
感谢 @davidcarlisle,他发布了此链接至另一个问题https://tex.stackexchange.com/a/107391/41963,我找到了一个很好的解决方案来解决我的问题,创建了一个自定义列表环境,如下所示:
\documentclass[a4paper, 12pt]{article}
\usepackage{longtable,tabu}
\usepackage{lipsum}
\usepackage{enumitem}
\usepackage[showframe]{geometry}
\newenvironment{plist}{%
\list{}{\labelwidth0pt
\def\makelabel##1{\makebox[2cm][l]{##1}}%
\itemsep 10pt
\advance\leftmargin1.2cm
\itemindent-2cm
}}
{\endlist}
\newenvironment{plist2}{%
\list{}{\labelwidth0pt
\def\makelabel##1{\makebox[1cm][l]{##1}}%
\itemsep 10pt
\advance\leftmargin.2cm
\itemindent-1cm
}}
{\endlist}
\begin{document}
\begin{plist}
\item[a] \lipsum[27]
\item[abc] \lipsum[27]
\item[abcdef] \lipsum[27]
\begin{plist2}
\item[abc] \lipsum[30]
\item[a] \lipsum[30]
\end{plist2}
\item[abcdefghi] \lipsum[27]
\end{plist}
\end{document}
此自定义列表环境甚至可以与嵌套子列表一起使用(通过更改序言中的参数),并正确地在两页之间拆分对齐段落。