我正在为一些输出编写包装器。我需要文件,beamer.tex
其内容如下
% !TEX encoding = UTF-8 Unicode
\documentclass{beamer}
% add page numbers for malmoe
\newcommand*\oldmacro{}%
\let\oldmacro\insertshorttitle%
\renewcommand*\insertshorttitle{%
\oldmacro\hfill%
\insertframenumber\,/\,\inserttotalframenumber}
\usetheme{Malmoe}
\date{}
\input{content}
和content.tex
,类似于
\newcommand{\pdfslide}[1]{
\begin{frame}[plain]
\vspace*{-1pt}
\makebox[\linewidth]{\includegraphics[page=1,width=\paperwidth]{#1}}
\end{frame}
}
\begin{document}
\maketitle
\mode*
\pdfslide{fig4.pdf}
\end{document}
如果我不编写pdfslide
命令,而是直接将命令放入文档中(用 fig4.pdf 替换 #1),我会得到正确的输出。但就目前情况而言,我没有得到正确的输出(文档的其余部分得到正确处理,只是缺少 pdf 幻灯片)。我也没有收到任何错误消息(我想这来自我的\include
结构)。
有人发现错误了吗?或者在这种情况下我该如何调试?
答案1
'错误' 是\mode*
因为它强制beamer
忽略frame
环境之外的所有内容,这是命令的情况\pgfslide
,因为它是在frame
环境内部使用的。
评论/删除\mode*
将导致成功编译包含所含图形的框架。
\documentclass{beamer}
% add page numbers for malmoe
\newcommand*\oldmacro{}%
\let\oldmacro\insertshorttitle%
\renewcommand*\insertshorttitle{%
\oldmacro\hfill%
\insertframenumber\,/\,\inserttotalframenumber}
\usetheme{Malmoe}
\date{}
\input{content}
内容.tex
\newcommand{\pdfslide}[1]{
\begin{frame}[plain]
\vspace*{-1pt}
\makebox[\linewidth]{\includegraphics[page=1,width=\paperwidth]{#1}}
\end{frame}
}
\begin{document}
\maketitle
%\mode* Must be switched off!!
\pdfslide{fig4.pdf}
\end{document}