저는 pgfpages
4up 유인물을 만드는 데 사용합니다. 유인물이 매우 길고(한 학기 동안) 새 세션이 시작되면 새 페이지를 시작하고 싶습니다. 내가 찾고 있는 것은 새 장이 시작되고 새 장이 잘못된 페이지에서 시작될 때 빈 페이지를 삽입하는 책의 코드처럼 작동하는 코드입니다.
MWE에서 2 다음에 나오는 세 개의 슬라이드는 빈 페이지여야 하며 세션 2는 새 페이지의 왼쪽 상단에서 시작되어야 합니다.
편집하다:
이와 같은 것이 \cleardoublepage
트릭을 수행해야합니다. 그러나 페이지 카운터를 살펴보고 4로 나누어지는 다음 페이지까지 얼마나 많은 빈 페이지를 삽입해야 하는지 확인해야 합니다. LaTeX에서 수학을 수행하는 방법을 모르겠습니다. 어떤 도움이라도 주시면 감사하겠습니다.
\def\cleardoublepage{%
\clearpage%
\if@twoside%
\ifodd\c@page%
% do nothing
\else%
\emptypage@emptypage%
\fi%
\fi%
}%
MWE:
\documentclass{beamer}
\author{Stefan Müller}
\title{The great test}
\usepackage{pgfpages}
\pgfpagesuselayout{4 on 1}[a4paper, border shrink=5mm, landscape]
\pgfpageslogicalpageoptions{1}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.275\pgfphysicalwidth}{.74\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{2}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.725\pgfphysicalwidth}{.74\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{3}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.275\pgfphysicalwidth}{.26\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{4}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.725\pgfphysicalwidth}{.26\pgfphysicalheight}
}
\begin{document}
\frame{
\maketitle
}
\frame{
0
}
\section{1}
\subtitle{Session 1}
\frame{
\maketitle
}
\frame{1}
\section{2}
\frame{2}
\subtitle{Session 2}
\frame{
\maketitle
}
\section{3}
\frame{3}
\section{4}
\frame{4}
\section{5}
\frame{5}
\end{document}
답변1
자막 시작 부분에서 현재 페이지 번호를 확인한 다음 필요에 따라 빈 페이지를 삽입할 수 있습니다.
\documentclass{beamer}
\author{Stefan Müller}
\title{The great test}
\usepackage{pgfpages}
\pgfpagesuselayout{4 on 1}[a4paper, border shrink=5mm, landscape]
\pgfpageslogicalpageoptions{1}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.275\pgfphysicalwidth}{.74\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{2}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.725\pgfphysicalwidth}{.74\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{3}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.275\pgfphysicalwidth}{.26\pgfphysicalheight}
}
\pgfpageslogicalpageoptions{4}{border code=\pgfusepath{stroke},
% resized height=.65\pgfphysicalheight,
% resized width=.65\pgfphysicalwidth,
center = \pgfpoint{.725\pgfphysicalwidth}{.26\pgfphysicalheight}
}
\usepackage{pgffor}
\pretocmd{\subtitle}{
{
\setbeamertemplate{navigation symbols}{}
\pgfmathparse{int(mod(\thepage,4))}
\let\foo\pgfmathresult
\ifnum\foo=0
\begin{frame}[plain,noframenumbering]
\end{frame}
\fi
\ifnum\foo=2
\begin{frame}[plain,noframenumbering]
\end{frame}
\begin{frame}[plain,noframenumbering]
\end{frame}
\begin{frame}[plain,noframenumbering]
\end{frame}
\fi
\ifnum\foo=3
\begin{frame}[plain,noframenumbering]
\end{frame}
\begin{frame}[plain,noframenumbering]
\end{frame}
\fi
}
}{}{}
\makeatletter
\apptocmd{\beamer@subtitle}{\frame{\maketitle}}{}{}
\makeatother
\begin{document}
\frame{
\maketitle
}
\frame{
0
\pause
abc
}
\section{1}
\subtitle{Session 1}
\frame{1}
\section{2}
\frame{2}
\subtitle{Session 2}
\section{3}
\frame{3}
\section{4}
\frame{4}
\section{5}
\frame{5}
\end{document}