\cleardoublepage를 사용하여 페이지 스타일을 변경하고 메모를 인쇄하는 방법은 무엇입니까?

\cleardoublepage를 사용하여 페이지 스타일을 변경하고 메모를 인쇄하는 방법은 무엇입니까?

제공된 이 솔루션을 사용하고 있습니다.여기클래스 및 명령 openright의 옵션 사용으로 인해 빈 페이지가 도입될 때 페이지 스타일을 지우려면 다음을 수행하십시오 .report\cleardoublepage

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{\clearpage{\pagestyle{empty}\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

하지만 페이지 스타일을 지우는 것 외에도 페이지 중앙에 메모를 표시하고 싶습니다. 나는 시도했다eso-pic그리고 tikz(왼쪽과 오른쪽 여백을 고려하여 중앙에 맞추려면):

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{
\clearpage{\pagestyle{empty}\AddToShipoutPictureBG*{
 \begin{tikzpicture}[overlay]
  \pgfmathsetmacro{\correct}{((\rmargin-\lmargin)/(2*28.453)}
  \node[font=\normalfont] at ($(current page.center)+(\correct,0)$) {\blanknote};
 \end{tikzpicture}
}
\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

\AddToShipoutPictureBG*는 이전에 실행되므로 실제로 \origdoublepage\cleardoublepage메모가 삽입된 경우 빈 페이지에 추가되거나 다음 장의 첫 페이지에 추가됩니다. 나는 후자의 행동을 피하고 싶습니다. 즉, 아무것도 하지 \AddToShipoutPictureBG*않으면 실행하지 않는 것입니다 \origdoublepage.

나는 사용하고있다eso-pic대신에background\NoBgThispage지금은 작동하지 않기 때문에 이를 사용하여 다음과 같이 다른 배경을 만듭니다.이것질문. 그러나 나는 다른 접근 방식에 열려 있습니다.

MWE(잘못된 동작은 5페이지에 표시됨):

\documentclass[a4paper,titlepage,11pt,twoside,openright]{report}
\usepackage{lipsum}
\usepackage{eso-pic}
\def\lmargin{3.5cm}
\def\rmargin{1.5cm}
\def\blanknote{This page intentionally left blank}
\usepackage[left=\lmargin, right=\rmargin]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}

\let\origdoublepage\cleardoublepage
\newcommand{\clearemptydoublepage}{
\clearpage{\pagestyle{empty}\AddToShipoutPictureBG*{
 \begin{tikzpicture}[overlay]
  \pgfmathsetmacro{\correct}{((\rmargin-\lmargin)/(2*28.453)}
  \node[font=\normalfont] at ($(current page.center)+(\correct,0)$) {\blanknote};
 \end{tikzpicture}
}
\origdoublepage}}
\let\cleardoublepage\clearemptydoublepage

\begin{document}
Introduction text...
\chapter{First}  \lipsum[1-9]
\chapter{Second} \lipsum[10-12]
\chapter{Third}  \lipsum[15]
\end{document}

답변1

나는 당신이 그것을 필요한 것보다 훨씬 더 복잡하게 만들고 있다고 생각하며 \cleardoublepage이미 페이지를 생성하고 있습니다. 텍스트를 추가하기만 하면 되며 출력 루틴 shipout에 연결할 필요가 없습니다.

\documentclass[a4paper,titlepage,11pt,twoside,openright]{report}
\usepackage{lipsum}

\def\lmargin{3.5cm}
\def\rmargin{1.5cm}
\def\blanknote{This page intentionally left blank}
\usepackage[left=\lmargin, right=\rmargin]{geometry}

\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
 \thispagestyle{empty}%
 \hbox{}\vfill\centerline\blanknote\vfill\hbox{}\newpage
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother

\begin{document}
Introduction text...
\chapter{First}  \lipsum[1-9]
\chapter{Second} \lipsum[10-12]
\chapter{Third}  \lipsum[15]
\end{document}

관련 정보