我正在尝试使用 Martin Scharrer 的 niftystandalone
包将 Beamer 动画放入独立文件中。这是一个最小示例,演示了我遇到的错误。subfile.tex
我正在使用的子文件(创意命名为)是:
\documentclass[beamer]{standalone}
\usepackage{tikz}
\newcommand*{\mytext}{Hello world!}
\begin{document}%
\begin{standaloneframe}{Subfile}
\begin{tikzpicture}
\onslide<+->{\draw[red] (0,0) circle (3pt);}
\onslide<+->{\draw[blue] (1,1) circle (3pt);}
\onslide<+->{\draw[green] (2,0) circle (3pt);}
\onslide<+->{\node at (1,2) {\mytext};}
\end{tikzpicture}
\end{standaloneframe}%
\end{document}
该子文件本身可按预期进行编译。
mainfile.tex
我正在使用的主要文件名为:
\documentclass{beamer}
\usepackage[subpreambles=true]{standalone}
%\usepackage{tikz}
%\newcommand*{\mytext}{Hello world!}
\begin{document}
\begin{frame}{Main file}
\input{subfile.tex}
\end{frame}
\end{document}
当我尝试使用编译此主文件时pdflatex mainfile.tex
,出现错误:
Runaway argument?
%\begin {standaloneframe}{Subfile}\begin {tikzpicture}\onslide <+->{\draw \ETC.
! File ended while scanning use of \sa@@endinput.
当我尝试第二次运行 时pdflatex mainfile.tex
,这个失控参数错误消失了,但另一个错误取而代之: Extra}
或 forget \endgroup
。我X
在提示符下使用以在错误发生后退出编译。后续运行pdflatex mainfile.tex
继续出现此缺失\endgroup
错误。
我注意到了一些事情:
如果我删除该
subpreambles=true
选项并取消注释两行复制的前言(\usepackage{tikz}
和\newcommand*{\mytext}{Hello world!}
),则这个修改后的主文件将按预期进行编译。但是,如果我保持选项
subpreambles=true
,但取消注释复制的两行前言,当我尝试编译时,我得到了同样的错误。这表明选项出了问题subpreambles=true
。
有人知道我在这里做错了什么吗?在下面的评论中,Martin Scharrer 提到多次编译运行对他有用。我不确定为什么我似乎无法让多次编译运行对我有用。