\documentclass{article}
\usepackage{beamerarticle}
\begin{document}
\textcolor<3->{red}{Some text}
\end{document}
由于该beamerarticle
软件包的存在,前面的代码可以顺利编译。但是,我不仅希望它能够编译,还希望完全禁用叠加效果:在这种情况下,我希望文本在打印到文章中时保持黑色(就像在前两帧中一样)。
这可能吗?
编辑。我的用例如下:我有一组用 LaTeX 排版的问题,我将其用作投影仪幻灯片的内容和印刷材料的来源。每个问题都在其自定义文件中,因此我有类似以下内容:
\documentclass{beamer}
\usepackage{mybeamertheme}
\begin{document}
\mycustomimportcommand{problem1}
\mycustomimportcommand{problem4}
...
\end{document}
然后在另一个文件上:
\documentclass{article}
\usepackage{mycustomarticleformatting}
\usepackage{beamerarticle}
\begin{document}
\mycustomimportcommand{problem1}
\mycustomimportcommand{problem4}
...
\end{document}
由于问题是针对演示文稿排版的,因此代码中充满了覆盖规范:\pause
,\only
等等,我希望在将代码导入文章时忽略这些规范。
除非存在 MWE 中显示的覆盖感知宏,否则这可以正常工作。
答案1
我认为问题不在于规范,overlay
而在于\textcolor
命令。在 中使用时beamerarcicle
,命令\textcolor<1->{red}{Some text}
会转换为\textcolor{red}{Some text}
并Some text
以红色显示。
我可以想到两种解决方案,第一种是使用
\mode<article>{Some text}\mode<beamer>{\textcolor<1->{red}{Some text}}
但我想这工作量太大了。
beamerarticle
第二种解决方法是使用时将所有颜色重新定义为黑色:
\documentclass{article}
\usepackage{beamerarticle}
\mode<article>
{
\colorlet{red}{black}
}
\begin{document}
\begin{frame}
\textcolor<2->{red}{Some text}
\end{frame}
\end{document}
答案2
我找到了一个解决方法:
\documentclass{article}
\usepackage{beamerarticle}
\renewcommand<>{\textcolor}[2]{\iffalse#1\fi#2}
\begin{document}
\textcolor<3->{red}{Some text}
\end{document}
然而,这是一个次优的解决方案,因为我仍然必须重新定义每个覆盖感知宏,如果有一个更通用/简单的解决方案就好了