Beamer、textpos 和 xcolor:在文本块环境之外颜色也会改变

Beamer、textpos 和 xcolor:在文本块环境之外颜色也会改变

在环境中定义文本的颜色时textblock(即来自textpos包),则文本的颜色下一个框架也变成了那个颜色。

在下面的例子中(使用 lualatex 编译),文本“n°1”设置为Gray,并且在下一个框架,正常文本(“答案!”)Gray也是如此。

截屏

代码:

\documentclass[20pt, xcolor={usenames, dvipsnames}]{beamer}
\usepackage[overlay,absolute]{textpos}

\begin{document}

\begin{frame}
\begin{center}
\begin{textblock}{1}(0.5,0.5)\color{Gray}{n°1}\end{textblock}
$ \text{5}\times \text{9} $ = \color{BrickRed}{?}
\end{center}
\end{frame}

\begin{frame}
\begin{center}
Answers!
\end{center}
\end{frame}

\begin{frame}
\begin{center}
\begin{textblock}{1}(0.5,0.5)\color{Gray}{n°1}\end{textblock}
\only<1>{$ \text{5}\times \text{9} $ = \color{BrickRed}{?}}
\only<2>{$ \text{5}\times \text{9} $ = \color{OliveGreen}{\text{45}}}
\end{center}
\end{frame}

\end{document} 

我知道一个非常简单的解决方法是包装“答案!”:color{Black}{Answers!}但是:

  • 我不确定这是否是正常现象(原因是我的文档写得不好)或者这是否是包之间的冲突(textpos 文档提到了这种冲突,但它给出的解决方法并不适用于lualatex或涉及我不使用的其他命令,例如\pagecolor;尽管如此,尝试提到的技巧并lualatex没有奏效(相同的结果))。另外,我徒劳地尝试添加:\setbeamercolor{normal text}{fg=black,bg=white}before \begin{document}

  • 由于文档是自动创建的,如果可能的话,我宁愿避免添加这样的解决方法

那么,有什么办法(比我的解决方法更好)可以让下一帧的文本变成正常颜色(这里是黑色)吗?如果可能的话,答案不应该使用任何其他包(以限制其他包冲突的风险)。

答案1

\color不是带参数的宏,而是开关。根据你的代码设置方式,我建议改用\textcolor{<color>}{<text>}。它还有一个额外的优势,即它具有叠加感知功能,因此如果你想让一些文本在幻灯片之间切换颜色,你可以这样做\textcolor<2>{green}{test}

如果您想保留颜色命令,则在组内使用它将{ \color{red} text }防止颜色“泄漏”到下面的文本。

\documentclass[20pt, xcolor={usenames, dvipsnames}]{beamer}
\usepackage[overlay,absolute]{textpos}

\begin{document}

\begin{frame}
\begin{center}
\begin{textblock}{1}(0.5,0.5)\textcolor{Gray}{n°1}\end{textblock}
$ \text{5}\times \text{9} $ = \textcolor{BrickRed}{?}
\end{center}
\end{frame}

\begin{frame}
\begin{center}
Answers!
\end{center}
\end{frame}

\begin{frame}
\begin{center}
\begin{textblock}{1}(0.5,0.5)\textcolor{Gray}{n°1}\end{textblock}
\only<1>{$ \text{5}\times \text{9} $ = \textcolor{BrickRed}{?}}
\only<2>{$ \text{5}\times \text{9} $ = \textcolor{OliveGreen}{\text{45}}}
\end{center}
\end{frame}

\end{document} 

相关内容