我希望我的文档相当大,每页都有不同的边距,顶部和底部。左右都可以,我必须将 A4 脚本分成两个横向 A5 页,见下面的附件图片。我尝试编辑几何包选项,但没有成功,每次都会出现不同的错误:
\ifthenelse{\equal{\value{Hilf}}{0}}{\geometry{top=1.5cm}}{\ifthenelse{\isodd{\value{page}}}{\geometry{top=1.5cm}}{\geometry{top=.5cm}}}
我希望您能看到我在这里尝试做的事情,一旦文档启动,值“Hilf”就不等于 0。ifthenelse 帮了我很多忙,但是我读过关于几何包的 texdoc 文档,似乎除了在包的参数中进行算术运算之外,您什么也做不了。
\geometry{
top={\ifthenelse{\equal{\value{Hilf}}{0}}{1.5cm}{{\ifthenelse{\isodd{\value{page}}}{1.5cm}{.5cm}}}},
bottom=1.5cm,
footskip=1.4cm, nomarginpar
%top={\ifthenelse{\isodd{\value{page}}}
%{2cm}
%{5cm}}
}
我不想每隔一页就使用 \newgeometry 和 \restoregeometry,一定有更好的方法 - 而且由于目录有很多页长,这种手动方法可以奏效。
谢谢你!
答案1
对于遇到此问题的人,或遇到任何涉及偶数/奇数页的类似垂直边距问题的人,或遇到任何链接到任何计数器或变量的页面的人:我设法解决了我自己的问题!
网上找到的所有信息都是关于书籍或双面或不对称文档的左右边距。该geometry
包不起作用,该vmargin
包也不起作用(\newgeometry
可能仅适用于单页),但就像我说的,即使是目录也不会遵循这一点。
因为您必须平衡几何边距顶部或底部的变化,以及页面上下整体移动,就像您希望的那样atbeginshi
,对于我来说,这是将几何参数中的顶部边距减少约 1.25 厘米,然后这样:
\AtBeginShipout{%
\ifthenelse{\equal{\value{Hilf}}{0}}{}{\ifodd\value{page}%
\edef\mytemp{%
\ht\AtBeginShipoutBox=\the\ht\AtBeginShipoutBox\relax
\dp\AtBeginShipoutBox=\the\dp\AtBeginShipoutBox\relax
}%
\sbox\AtBeginShipoutBox{%
\raisebox{-1.25cm}{\usebox\AtBeginShipoutBox}%
}%
\mytemp
\AtBeginShipoutUpperLeft{%
\ifthenelse{\equal{\value{page}}{1}\and\equal{\value{Hilf}}{0}}{\put(0,-\paperheight){\includegraphics[width=\paperwidth,height=\paperheight]{art/titel.pdf}}}{ % Titelseite
\ifthenelse{\isodd{\value{page}}}%
{\put(0,-\paperheight){\includegraphics[width=\paperwidth,height=\paperheight]{art/top.pdf}}
}%
{}%
}
}
\fi
}
}
它可能看起来很乱,但你可以看到我甚至设法用同样的方式纠正了我的背景 PDF。这里的值“Hilf”有助于实现标题页,只有在文档真正开始时才会起作用。
如前所述,我希望有交替的页边距和页面背景,因此只有我的“顶部”背景 PDF 需要在此处进行移位校正。对于每个底部页面,我只需要减少顶部边距即可。