以下代码对我来说有效,但如果我删除注释并添加 longtabu/longtable,则 \enlargethispage 将失去其效果。
\documentclass{article}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage{longtable,tabu}
\usepackage{fancyhdr}
\usepackage[margin=2cm,showframe]{geometry}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\small\thepage}
\begin{document}
\enlargethispage{-2cm}
%\begin{longtabu}{Xl} a&b\\ \end{longtabu}
%\begin{longtable}{ll} a&b\\ \end{longtable}
\lipsum
\lipsum
\end{document}
我该如何解决这个问题?
答案1
这是一个解决方案。\enlargemypage
要使用的新命令。
编辑无论有没有 ,该命令都可以工作longtable
。
\documentclass{article}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage{longtable}
\usepackage{fancyhdr}
\usepackage[margin=2cm,showframe]{geometry}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\small\thepage}
\makeatletter
\newcommand{\Enlargemypage}[1]{%
\global\addtolength\textheight{#1}%
\global\setlength{\@colht}{\textheight}%
\global\setlength{\@colroom}{\textheight}%
\global\setlength{\vsize}{\textheight}}
\makeatother
\newcommand{\enlargemypage}[1]{%
\Enlargemypage{#1}\afterpage{\Enlargemypage{-#1}}}
\AtBeginDocument{\enlargemypage{-2cm}}
\begin{document}
\begin{longtable}{ll} a&b\\\end{longtable}
\lipsum
\lipsum
\end{document}