我正在创建一个 beamer 文档,其中有多个 PDF 文档通过 python 脚本包含。为了保持幻灯片的样式并包含 PDF,我使用 \includepdf,如下所示:
\setbeamercolor{background canvas}{bg=}
\includepdf[pages={1-},width = 0.9\\textwidth,pagecommand={}]{*Path}
*Path 被 Python 脚本替换为 PDF 名称。问题是,页码不会随着添加的 PDF 而更新。
另一方面,我发现:使用 pdfpages 来设置文档页码
添加页码的方法是:
\includepdf[pages=-,pagecommand=\thispagestyle{plain}]{filename}
但在那种情况下,我的页眉和页脚就会松动。
有人知道如何将两者结合起来吗?
问候
斯蒂芬
编辑
(希望) MWE 能够显示我的问题:
\documentclass{beamer}
\mode<presentation>
{
\usetheme{Warsaw}
}
\usepackage[ngerman]{babel}
\usepackage{pdfpages}
%%---------FootLine------------------------
\setbeamertemplate{footline}
{%
\centering
\begin{tabular*}{\textwidth}{l@{\extracolsep\fill}c c c c}
\hline
& & & \\
& \insertshorttitle & \today & {\insertframenumber}
\end{tabular*}
}
\setbeamertemplate{headline}
{
\leavevmode%
\hbox{%
\hspace{2em}
\begin{beamercolorbox}[wd=\paperwidth,ht=8.25ex,dp=3.5ex]{}%
\raggedright
\vbox to 7.25ex{\vfil\hbox{\sffamily\Large\color{orange}\insertsection}\vfil}\\
\vbox to0.25ex{\vfil\hbox{\sffamily\Large\color{orange}\insertsubsection}\vfil}
\end{beamercolorbox}%
}%
}
\setbeamertemplate{frametitle}
{\vskip-3pt
\leavevmode
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.6ex,dp=1ex]{black_white}%
\raggedright
\hspace*{2em}
{\normalsize\insertframetitle}
\end{beamercolorbox}
}%
}
\begin{document}
\section*{First Section}
\begin{frame}
Hello1
\end{frame}
\newpage
\begin{frame}
Hello2
\end{frame}
\section*{PDF Test}
\setbeamercolor{background canvas}{bg=}
\includepdf[pages={-},width=0.9\textwidth,pagecommand={}]{test.pdf}
\end{document}
答案1
我按照您的循环提示找到了解决方案。我包含了 forloop 包,在 python 中读出 PDF 文档的最大页数,并在需要时创建 for 循环。
仅供您参考,这是我的解决方案的测试代码:
\documentclass{beamer}
\mode<presentation>
{
\usetheme{Warsaw}
}
\usepackage[ngerman]{babel}
\usepackage{forloop}
%%---------FootLine------------------------
\setbeamertemplate{footline}
{%
\centering
\begin{tabular*}{\textwidth}{l@{\extracolsep\fill}c c c c}
\hline
& & & \\
& \insertshorttitle & \today & {\insertframenumber}
\end{tabular*}
}
\setbeamertemplate{headline}{%
\leavevmode%
\hbox{%
\hspace{2em}
\begin{beamercolorbox}[wd=\paperwidth,ht=8.25ex,dp=3.5ex]{}%
\raggedright
\vbox to 7.25ex{\vfil\hbox{\sffamily\Large\color{orange}\insertsection}\vfil}\\
\vbox to0.25ex{\vfil\hbox{\sffamily\Large\color{orange}\insertsubsection}\vfil}
\end{beamercolorbox}%
}%
}
\setbeamertemplate{frametitle}
{\vskip-3pt
\leavevmode
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth,ht=1.6ex,dp=1ex]{black_white}%
\raggedright
\hspace*{2em}
{\normalsize\insertframetitle}
\end{beamercolorbox}
}%
}
\begin{document}
\section*{First Section}
\begin{frame}
Hello1
\end{frame}
\newpage
\begin{frame}
Hello2
\end{frame}
\section*{PDF Test}
\newcounter{ct}
\forloop{ct}{1}{\value{ct} < 4}%
{%
\begin{frame}
\includegraphics[page=\value{ct}, width=0.9\textwidth]{test.pdf}
\end{frame}
}
\end{document}
@JohnKormylo 谢谢你的建议!