要将裁剪后的页面居中,\newgeometry
可以添加
\makeatletter\CROP@center\makeatother
每次几何形状改变后(https://tex.stackexchange.com/a/118824/61658)。
使用该\etoolbox
包,可以定义一个开关来通过以下方式打开或关闭裁剪
\usepackage{etoolbox}
\newtoggle{crop}
\settoggle{crop}{true}
结合
\iftoggle{crop}{...}{}.
当我执行此操作时(参见下面的源代码),出现以下错误:
未定义控制序列。<argument> \makeatletter \CROP @center \makeatother
移除切换开关即可修复该错误。
以下是 MWE:
\documentclass[
paper=a4,
DIV=10,
twoside=true,
titlepage=on
]{scrbook}
\usepackage[
pass,
]{geometry}
\usepackage{etoolbox}
\newtoggle{crop}
\settoggle{crop}{true}
\iftoggle{crop}{
\usepackage[
width=21.6truecm, height=30.3truecm,
cross, axes,
pdftex,
center,
noinfo
]{crop}
}
\usepackage{blindtext}
\begin{document}
% Standard page (right)
\Blindtext[2]
% Centered page (left)
\newgeometry{centering}
%%% TODO Delete following line to fix error.
\iftoggle{crop}{
\makeatletter \CROP@center \makeatother
%%% TODO Delete following line to fix error.
}
\Blindtext[2]
\restoregeometry
%%% TODO Delete following line to fix error.
\iftoggle{crop}{
\makeatletter \CROP@center \makeatother
%%% TODO Delete following line to fix error.
}
% Standard page (right)
\Blindtext[2]
% Standard page (left)
\newpage
\Blindtext[2]
% Standard page (right)
\newpage
\Blindtext[2]
\end{document}
答案1
\iftoggle
有三參數。\iftogle{<toggle>}{<true>}{<false>}
你错过了这个
<false>
案例每个使用时间(也在序言中)放
\makeatletter
和\makeatother
外部条件的。一旦读取(并标记)了它的参数,就不@
能再\CROP@center
更改了。这就是为什么更改必须在读取参数之前发生的原因。\makeatletter \iftoggle{crop} {\CROP@center} {} \makeatother