측면을 전환하는 기본이 아닌 페이지 번호가 있는 기사 문서가 있습니다(측면 패리티 전환: 때로는 오른쪽에 있고 때로는 왼쪽에 있음).
목표\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
=> "부적절한 \prevlength.\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}
관련 질문: