在双面文档的非标准、混合页码上设置每页的几何形状(正确的装订线)

在双面文档的非标准、混合页码上设置每页的几何形状(正确的装订线)

我有一篇带有非默认页码的文章文档,它也会切换边(切换边奇偶校验:有时偶数在右边,有时在左边)。
目标:无论页码是多少(\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}

相关问题:

相关内容