在雙面文件的非標準混合頁碼上設定每頁的幾何形狀(正確的裝訂線)

在雙面文件的非標準混合頁碼上設定每頁的幾何形狀(正確的裝訂線)

我有一個帶有非預設頁碼的文章文檔,它也可以切換側面(切換側面奇偶校驗:有時甚至在右側,有時在左側)。
目標:無論頁碼 ( \count0/ \thepage) 如何,都獲得正確的分頁(切換左/右幾何形狀),而不是基於頁數。例如,僅包含偶數頁碼的文檔,分頁仍會切換。


我可以透過不同的方式存取實際頁數:

  • zref-abspage:\theabspage
  • zref-abspage:\zref@extract{abspage}{abspage}
  • \thetotalpages

我嘗試\newgeometry{...}使用以下方法為每個頁面設定 a :

  • 波普胡克:\AtBeginPage{...
  • \AddToHook{shipout}{...shipout/beforeshipout/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}

相關問題:

相關內容