\mode<presentation>
我遇到了乳胶忽略\mode<article>
设置后的文本的问题。
MWE 描述
我有一个经常更改模式的大型文档,还有\include
一些乳胶文件。我已将其缩减为以下 MWE。
\documentclass{article}
\usepackage{beamerarticle}
%\documentclass{beamer}
\begin{document}
1. Text without a mode being set. This should be shown
in both presentation and article mode.
\mode
<presentation>
\begin{frame}
2. This is text inside a frame. It should only appear in presentation
\end{frame}
\mode
<article>
3. Text outside a frame. Only in article.
\mode
<all>
\include{in}
\end{document}
该文件in.tex
严格遵循 Beamer 用户指南 3.26 版第 210 页中的示例
\mode*
4. This is some text outside a frame. Shouldn't be shown in presentation mode.
\begin{frame}
5. This is text inside a frame. This is expected to show in article mode.
\end{frame}
\mode<all>
问题描述
这里需要考虑两种情况,使用 进行编译\documentclass{beamer}
,或者使用\documentclass{article}
和进行编译\usepackage{beamerarticle}
。
根据我对相关文档的理解,我应该得到 MWE 正文中描述的结果。相反,我得到了以下内容:
案例“文章”
- 之后的所有内容
\mode<presentation>
似乎都被忽略了。我得到了一个包含句子 1 的页面。切换回\mode<article>
不会产生句子 3,并且\include
命令似乎未被处理。
- 之后的所有内容
案例“投影机”
- 句子 1. 和 2. 得到类型,包含的文件被忽略,即使它应该在所有模式下处理。
尝试第三种mode
命令ignorenonframetext
得到了相同的结果,请参见输出这里和这里(由于缺乏声誉,无法直接包含)。我使用第二种模式来\include
工作,因为我需要做一些花哨的事情,比如在某些幻灯片上设置背景。
问题
我这里漏掉了什么?据我所知,我已经正确地组织了文档。我是否误解了模式的设置和处理方式?这是beamer
or中的错误吗beamerarticle
?我希望实现 MWE 中描述的结果。
我正在使用 texlive 2012 在 Arch Linux 上编译该文档,它目前代表修订版 28273。
答案1
使用时\mode
命令时(没有括号参数),该命令必须单独占一行,且没有注释或空格。这是因为该行需要与检查值进行“逐字”比较。因此
Some text
\mode
<all>
会起作用,但是
Some text
\mode
<all>
将失败。 (\mode*
也是允许的,但同样没有什么否则就此结束。)如果空格被整理好,问题中的示例就可以正常工作。