TeX 是先读取一整段然后根据文字宽度断行的,所以不能在段落中间改变文字宽度。(好吧,其实可以用 \parshape
改),所以不存在一个通用的命令可以在某页开始改变文字宽度,要改只能整段整段地改(用 \parshape
实现起来很麻烦)。\newgeometry
也需要另起一页。
可以用 changepage
宏包更改某些段落的文字宽度。
\documentclass{article}
\usepackage{changepage}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
% 右边加宽 1cm
\begin{adjustwidth}{0cm}{-1cm}
\lipsum[2-6]
\end{adjustwidth}
\lipsum[7-10]
\end{document}
\enlargethispage
能起作用是因为,TeX 在构建段落时并不需要知道文字的高度,TeX 先“分段为行”,然后“组行为页”,分页是一行一行试出来的,所以让 TeX 多加几行到某页上很容易。
话说,为什么需要这样一个命令呢?
看这个文档:https://www.latexstudio.net/index/details/index/mid/3118.htmlnewgeometry
就是改变页面尺寸的。
这个命令我试过,用了之后还需要restoregeometry恢复之前的页面布局,我想要一个只对当前页生效的命令