在 beamer 类中使用 includepdf 并保留 pagestyle 但计算页数

在 beamer 类中使用 includepdf 并保留 pagestyle 但计算页数

我正在创建一个 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 谢谢你的建议!

相关内容