我试图在某一时刻制作一个longtabu
比更宽的textwidth
。我尝试过不同的方法,但总是遇到不同的问题:
第一种可能性:如果我使用环境,adjustwidth
longtabu 无法正确对齐。左边距保持固定,右边距超出页面。相比之下,如果我做同样的事情来制作一个tabu
(而不是longtabu
),它会完美地工作。我认为使用adjustwidth
是最好的方法,但我无法让它工作。
第二种可能性:我找到了一个使用fullwidth
包的解决方案。该包可以解决问题,但使用 endhead 和 endfirsthead 完全被忽略了。所以它对我也没什么帮助,因为我需要它。
最后一种可能性:使用geometry
包可以解决问题,但是当我开始使用包时,它会添加分页符,我无法做到这一点。它必须直接位于某些文本下方,这些文本具有较窄的textwidth
。
干杯。
我添加一个小例子:
\documentclass[a4paper]{article}
\usepackage{longtable}
\usepackage{chngpage}
\usepackage{lipsum}
\usepackage{tabu}
\begin{document}
\section{This is the original textwidth.}
\lipsum[1]
\section{This is the width I need for my longtabu}
\begin{adjustwidth}{-1in}{-1in}
\begin{tabu} to \linewidth {*{13}{|X[l]} |}
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
\end{tabu}
\end{adjustwidth}
\section{This is what happens}
\begin{adjustwidth}{-1in}{-1in}
\begin{longtabu} to \linewidth {*{13}{|X[l]} |}
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
\end{longtabu}
\end{adjustwidth}
\end{document}
答案1
longtable
让您设置左边距和右边距,但不幸的是,tabu
包装器longtable
总是传递一个可选参数,该参数将边距设置为0pt
或\fill
取决于lcr
对齐方式。
因此,longtabu
除了将边距设置为 之外,-1in
您还需要修补tabu
默认c
对齐方式(这会将它们重置为\fill
)。
\documentclass[a4paper]{article}
\usepackage{longtable}
\usepackage{chngpage}
\usepackage{lipsum}
\usepackage{tabu}
\begin{document}
\section{This is the original textwidth.}
\lipsum[1]
\setlength\LTleft{-1in}
\setlength\LTright{-1in}
\section{This is the width I need for my longtabu}
\noindent\kern-1in X \dotfill X\kern-1in\mbox{}
\makeatletter
\g@addto@macro\tabu@setup{\def\tabu@aligndefault{x}}
\makeatother
\begin{longtabu} to \dimexpr\linewidth+0in\relax {*{13}{|X[l]} |}
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
01 & 02 & 03 & 04 & 05 & 06 & 07 & 08 & 09 & 10 & 11 & 12 & 13 \\
\end{longtabu}
\end{document}