私はpgfpages
4up の配布資料を作成しています。配布資料は非常に長く (1 学期分)、新しいセッションの開始時に新しいページを開始したいと考えています。私が探しているのは、新しい章の開始時に空のページを挿入し、新しい章が間違ったページから始まる書籍のコードのように機能するコードです。
MWE では、2 枚目のスライドに続く 3 枚のスライドは空白ページとなり、セッション 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}