使用 beamerarticle 禁用宏效果

使用 beamerarticle 禁用宏效果
\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}

然而,这是一个次优的解决方案,因为我仍然必须重新定义每个覆盖感知宏,如果有一个更通用/简单的解决方案就好了

相关内容