如何将每张幻灯片放在单独的文件中,每张幻灯片都可编译,然后将它们合并

如何将每张幻灯片放在单独的文件中,每张幻灯片都可编译,然后将它们合并

我想将演示文稿的每一张幻灯片写入其自己的文件,以便我可以一次编译和查看每张幻灯片。
但是,我仍然需要将它们全部组合起来制作演示文稿。
该怎么做?
我尝试了以下方法,但无法编译。Beamer
includedoc中似乎没有。

文件:1.tex

\documentclass{beamer}
\begin{document}
    \begin{frame}
        Content
    \end{frame}
\end{document}

文件:slide.tex

\documentclass{beamer}
\begin{document}
    \includedoc{1}
\end{document}

答案1

方法 1

LATEX 文档的结构不允许将一个独立文档包含为另一个文档的一部分。包试图弥补这一限制,并允许使用标准和命令docmute导入独立文档,就像它们没有序言一样。\input\include

docmute在主输入文件中使用package。packagedocmute将导入导入文件\begin{document}和之间的所有内容(在下面的示例中)。您仍然可以将 编译为独立演示文稿。\end{document}child.texchild.tex

\documentclass{beamer}
\usepackage{filecontents}
\begin{filecontents*}{child.tex}
\documentclass{beamer}
\begin{document}
    \begin{frame}
        Content
    \end{frame}
\end{document}
\end{filecontents*}

\usepackage{docmute}
\begin{document}
    \input{child}
\end{document}

方法 2

对子(导入的)输入文件使用standalone带有选项的文档类,并在主输入文件中使用包。beamerstandalone

\documentclass{beamer}
\usepackage{filecontents}
\begin{filecontents*}{child.tex}
\documentclass[beamer]{standalone}
\begin{document}
    \begin{frame}
        Content
    \end{frame}
\end{document}
\end{filecontents*}

\usepackage{standalone}
\begin{document}
    \input{child}
\end{document}

注意:使用第一种方法似乎更简单!

答案2

有一个选择,但我不确定这是否确切地您要做的是标记框架,以便可以使用\includeonlyframes;一个小例子:

\documentclass{beamer}

\includeonlyframes{one,three}

\begin{document}

\begin{frame}[label=one]
test frame one.
\end{frame}

\begin{frame}[label=two]
test frame two.
\end{frame}

\begin{frame}[label=three]
test frame three.
\end{frame}

\begin{frame}[label=four]
test frame four.
\end{frame}

\end{document}

使用上述代码,将仅显示与标签one和相对应的两个帧。three

\include将这个想法与(或)的使用结合起来\input,你就可以把每个框架的内容写在自己的文件中;比如

\begin{frame}[label=two]
the frame contents...
\end{frame}

(特别注意,这些附属文件没有\documentclass、 也没有\begin{document}\end{document}命令);然后,每个文件都将保存在您当前的工作目录中,例如 、frameone.texframetwo.texframethree.tex然后framefour.tex您可以\include在“主”文档中按所需的顺序使用它们;例如:

\documentclass{beamer}

\begin{document}

\include{frametwo}
\include{framefour}
\include{framethree}
\include{frameone}

\end{document}

two将按、fourthree、的顺序显示四帧one

下面的代码

\documentclass{beamer}

\includeonlyframes{one,three}

\begin{document}

\include{frametwo}
\include{framefour}
\include{framethree}
\include{frameone}

\end{document}

将为 您 提供 一个 按 顺序 显示 帧 的 双 帧 文档three, one.

相关内容