Festlegen der Geometrie auf jeder Seite (korrekter Bundsteg) bei nicht standardmäßigen, gemischten Seitenzahlen in einem zweiseitigen Dokument

Festlegen der Geometrie auf jeder Seite (korrekter Bundsteg) bei nicht standardmäßigen, gemischten Seitenzahlen in einem zweiseitigen Dokument

Ich habe ein Artikeldokument mit nicht standardmäßigen Seitenzahlen, bei denen auch die Seiten gewechselt werden (Seitenwechselparität: manchmal ist gerade rechts, manchmal links).
Ziel: Erhalten Sie die korrekte Seitennummerierung (Umschalten der Links-/Rechtsgeometrie) unabhängig von der Seitenzahl ( \count0/ \thepage), anstatt sie auf der Seitenanzahl zu basieren. So dass beispielsweise bei einem Dokument, das nur aus geraden Seitenzahlen besteht, die Seitennummerierung trotzdem wechselt.


Auf die tatsächliche Seitenzahl konnte ich auf verschiedene Weise zugreifen:

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

Ich habe versucht, \newgeometry{...}für jede Seite einen Wert festzulegen, indem ich die folgenden Ansätze verwendet habe:

  • bophook:\AtBeginPage{...
  • \AddToHook{shipout}{...oder shipout/beforeodershipout/after
  • jedeSeite:\AddEverypageHook{...
  • Nachseite: \afterpage{...(um das Layout der nächsten Seiten festzulegen)
\ifthenelse{\isodd{\theabspage}}{
    \newgeometry{left=8cm,right=3cm,top=3cm,bottom=3cm}
}{
    \newgeometry{left=3cm,right=8cm,top=3cm,bottom=3cm}
}

Meine Annäherungen endeten mit:

  • Schon beim Laden bophookbekam ich Fehlermeldungen wie „Undefinierte Steuersequenz. \end{titlepage}“
  • \AddToHook{shipout...}& \afterpage=> es wurde kein Format angewendet
  • \AddEverypageHook=> Fehler „Falsche \prevdepth. \pagenumbering“

MWE:

\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}

Ähnliche Fragen:

verwandte Informationen