我有一篇带有非默认页码的文章文档,它也会切换边(切换边奇偶校验:有时偶数在右边,有时在左边)。
目标:无论页码是多少(\count0
/ \thepage
),都可获得正确的分页(切换左/右几何),而不是基于页数。例如,对于仅包含偶数页码的文档,分页仍可切换。
我可以通过不同的方式获取实际的页数:
- zref-abspage:
\theabspage
- zref-abspage:
\zref@extract{abspage}{abspage}
\thetotalpages
。
\newgeometry{...}
我尝试使用以下方法为每个页面设置:
- 博普胡克:
\AtBeginPage{...
\AddToHook{shipout}{...
或者shipout/before
或者shipout/after
- 每一页:
\AddEverypageHook{...
- afterpage:(
\afterpage{...
设置下一页布局)
\ifthenelse{\isodd{\theabspage}}{
\newgeometry{left=8cm,right=3cm,top=3cm,bottom=3cm}
}{
\newgeometry{left=3cm,right=8cm,top=3cm,bottom=3cm}
}
我的方法最终是:
- 刚加载时,
bophook
我就收到类似“未定义的控制序列。\end{titlepage}”的错误 \AddToHook{shipout...}
&\afterpage
=> 未应用任何格式\AddEverypageHook
=> 错误“不正确的 \prevdepth。\pagenumbering”
梅威瑟:
\documentclass[twoside]{article}
\usepackage[pdfpagelayout=TwoPageRight]{hyperref}
\usepackage{fancyhdr,lipsum,geometry,ifthen}
\pagestyle{fancy}
\fancyfoot[C]{\thepage}
\newcommand\blankpage{ % source: https://tex.stackexchange.com/a/331068
\clearpage
\begingroup
\null
\thispagestyle{empty}
\addtocounter{page}{-1}
\hypersetup{pageanchor=false}
\clearpage
\endgroup
}
\usepackage{zref-abspage}
\makeatletter
\renewcommand{\cleardoublepage}{
\clearpage
\zref@refused{abspage}
\ifthenelse{\isodd{\zref@extract{abspage}{abspage}}}{
\blankpage
}{
\blankpage
\blankpage
}
}
\makeatother
% trying to make gutter compatible with custom page numbers:
\newgeometry{left=8cm,right=3cm,top=3cm,bottom=3cm}
%\usepackage{bophook}\AtBeginPage{
\AddToHook{shipout/after}{ % or shipout/before or shipout/after
%\usepackage{everypage} \AddEverypageHook{
%\usepackage{afterpage}\afterpage{6
\ifthenelse{\thetotalpages>1}{% Avoid applying new geometry on the title page
\ifthenelse{\isodd{\theabspage}}{
\newgeometry{left=8cm,right=3cm,top=3cm,bottom=3cm}
}{
\newgeometry{left=3cm,right=8cm,top=3cm,bottom=3cm}
}
}{}
}
\begin{document}
\begin{titlepage}
my title page
\end{titlepage}
\pagenumbering{roman}
\lipsum[1-8]
\cleardoublepage
\clearpage
\pagenumbering{arabic}
\addtocounter{page}{1}
\lipsum[1-8]
\cleardoublepage
\pagenumbering{roman}
\lipsum[1-10]
\end{document}
相关问题: