我对 latex 还不太熟悉,不太明白如何编译演示文稿的不同版本。如果这很重要:我正在使用 pdflatex 和 beamer。
我目前正在使用三种文档类:
\documentclass{beamer}
\documentclass[notes=only]{beamer}
\documentclass[handout]{beamer}
我目前正在使用 makefile 来编译整个内容,它基本上像这样调用 pdflatex:pdflatex '\documentclass[notes=only]{beamer} \input{$(INPUT_FILE)}'
这当然意味着我的.tex
文件缺少 documentclass,并且无法在不知道我的 Makefile 的情况下轻松编译。当然,这并不是很理想...
但我怎样才能做得更好?
答案1
将\documentclass{beamer}
背面放入主文件(例如presentation.tex
),添加对所有模式有效的必需默认选项(如果有),然后像这样执行它:
pdflatex '\PassOptionsToClass{notes=only}{beamer} \input{presentation}'
这仍将创建presentation.pdf
并覆盖 PDF 的普通版本。
或者创建以下文档:
% notes.tex
\PassOptionsToClass{notes=only}{beamer}
\input{presentation}
% handout.tex
\PassOptionsToClass{handout}{beamer}
\input{presentation}
其优点是可以创建notes.pdf
,handout.pdf
而不需要 Makefile 或编译器选项。
现在只需使用 和 即可轻松编译主文件,并使用和分别pdflatex presentation
编译笔记和讲义。pdflatex notes
pdflatex handout
答案2
pdflatex '\PassOptionsToClass{notes=only}{beamer} \input{file}'
那么你的 TeX 文件就可以作为演示文稿的默认文件,使用以下\documentclass
行