我有一组使用该软件包的包含大量表格的文档longtable
。我正在寻找一种方法来强制所有表格占满整个页面的宽度。我知道这可以通过在序言中设置来实现:
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
然后添加\extracolsep{\fill}
到每个表中。
但是有没有办法在不修改每个表的情况下实现相同的效果?也许通过使用renewenvironment
重新定义longtable
以便\extracolsep{\fill}
始终使用?
答案1
\documentclass{article}
\usepackage{longtable,etoolbox}
\begin{document}
Nice
\begin{longtable}{cc}
\textbf{heading a}&\textbf{heading b}\\
1&2\\3&4\\5&6\\1&2\\3&4\\5&6
\end{longtable}
Horrible
{\setlength\LTleft{0pt}\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}cc@{}}
\textbf{heading a}&\textbf{heading b}\\
1&2\\3&4\\5&6\\1&2\\3&4\\5&6
\end{longtable}}
\makeatletter
\patchcmd\LT@array{\tabskip\z@}{\tabskip\fill}{\typeout{OK}}{\typeout{BAD}}
\setlength\LTleft{0pt}\setlength\LTright{0pt}
\makeatletter
Automatically Horrible
\begin{longtable}{cc}
\textbf{heading a}&\textbf{heading b}\\
1&2\\3&4\\5&6\\1&2\\3&4\\5&6
\end{longtable}
\end{document}