我有一個帶有非預設頁碼的文章文檔,它也可以切換側面(切換側面奇偶校驗:有時甚至在右側,有時在左側)。
目標:無論頁碼 ( \count0
/ \thepage
) 如何,都獲得正確的分頁(切換左/右幾何形狀),而不是基於頁數。例如,僅包含偶數頁碼的文檔,分頁仍會切換。
我可以透過不同的方式存取實際頁數:
- zref-abspage:
\theabspage
- zref-abspage:
\zref@extract{abspage}{abspage}
\thetotalpages
。
我嘗試\newgeometry{...}
使用以下方法為每個頁面設定 a :
- 波普胡克:
\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
=> 錯誤“\prev深度不正確。\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}
相關問題: