10 如何定义一个类似于\enlargethispage的命令,用于修改当前页的文字区域宽度?

发布于 2023-05-30 12:24:48
关注者
0
被浏览
852
雾月
雾月 2023-05-30
这家伙很懒,什么也没写!

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 多加几行到某页上很容易。

话说,为什么需要这样一个命令呢?

2 个回答
LaTeXStudio
LaTeXStudio 2023-05-30
这家伙很懒,什么也没写!

看这个文档:https://www.latexstudio.net/index/details/index/mid/3118.html
newgeometry 就是改变页面尺寸的。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览