我正在尝试打印出从此代码中获得的讲义中的页码/总页数:这是我的 MWE:
\documentclass[11 pt, handout,xcolor=pdftex,x11names,table]{beamer}
\mode<beamer>{\usetheme{CambridgeUS}}
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[letterpaper,border shrink=10mm]
\pgfpageslogicalpageoptions{1}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{2}{border code=\pgfusepath{stroke}}
\begin{document}
\begin{frame}
\frametitle{First}
\begin{itemize}
\item check1
\item check 2
\end{itemize}
\end{frame}
\begin{frame}
Text 1
\end{frame}
\end{document}
pDfpages
我很清楚我可以使用讲义中的实际页码(和总页数)。但是,使用的问题pDfpages
在于它不保留原始文档的书签。我想知道是否可以使用pGfpages
或任何其他包来实现这一点?
答案1
这是一个可能的解决方案,使用lastpage
包来获取总页数和background
放置文本的包<current page> of <total pages>
;我只计算了讲义的物理(而非逻辑)页面,但如果需要,可以轻松更改。我选择将文本放在顶部中央,但这也可以轻松更改:
\documentclass[11 pt, handout,xcolor=pdftex,x11names,table]{beamer}
\mode<beamer>{\usetheme{CambridgeUS}}
\usepackage{pgfpages}
\usepackage{lastpage}
\usepackage{refcount}
\usepackage{ifthen}
\pgfpagesuselayout{2 on 1}[letterpaper,border shrink=10mm]
\pgfpageslogicalpageoptions{1}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{2}{border code=\pgfusepath{stroke}}
\usepackage{background}
\SetBgAngle{0}
\SetBgScale{1}
\SetBgOpacity{1}
\SetBgColor{black}
\SetBgPosition{current page.north}
\SetBgVshift{10pt}
\SetBgContents{}
\makeatletter
\AddEverypageHook{%
\ifthenelse{\isodd{\thepage}}%
{\SetBgContents{\the\numexpr\thepage/2\relax\ of \the\numexpr\getpagerefnumber{LastPage}/2\relax}}%
{\SetBgContents{}}%
\bg@material}
\makeatother
\begin{document}
\begin{frame}
\frametitle{First}
\begin{itemize}
\item check1
\item check 2
\end{itemize}
\end{frame}
\begin{frame}
Text 1
\end{frame}
\begin{frame}
Text 2
\end{frame}
\begin{frame}
Text 3
\end{frame}
\begin{frame}
Text 4
\end{frame}
\end{document}