5 我想用以下代码(调用了changepage宏包)实现页面布局尺寸的自动化调整,但是并未生效,如何解决? 6天02时29分05秒

发布于 2025-07-29 13:14:51

我想用以下代码(调用了changepage宏包)实现页面布局尺寸的自动化调整(自动化调整即不直接调用newpage命令,在latex自动分页时调整尺寸),代码如下:

\documentclass{book}
\usepackage{lipsum}
\usepackage[showframe]{geometry}
\usepackage{paracol}
\usepackage[strict]{changepage}
\footnotelayout{m}
\twosided[pcm]

\begin{document}

    \changetext{-2cm}{}{}{}{}
    \AddToHookNext{shipout}{\changetext{2cm}{}{}{}{}}
    \lipsum
    \lipsum

\end{document}

编译结果如图:
2.png

可见AddToHookNext中的命令并未生效,第二页的textheight与第一页相同。该如何解决这个问题?

查看更多

关注者
1
被浏览
76
1 个回答
雾月
雾月 2小时前
这家伙很懒,什么也没写!

\changetext 的修改是局部的,而 shipout 钩子总是放在一个组中执行,必须要全局修改。

\AddToHookNext{shipout}{\global\advance\textheight2cm\relax}

不过,如果修改 \textheight 正好发生在 paracol 环境中间,是无效的,原因未知。

撰写答案 当前问题悬赏金额为¥5 元,被提问者采纳后将获得赏金

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览