序言

序言

下列的轮廓字符,您可以使用该contour包制作可选的轮廓文本。例如,下面写“文本文本轮廓文本”,其中“轮廓”为绿色,带有红色轮廓。它按预期编译和显示(使用pdflatexlualatex):

\documentclass[12pt]{article}
\usepackage[outline]{contour}
\begin{document}
Text text text \contour{red}{\textcolor{green}{contour}} text.
\end{document}

然而,当我尝试在 Beamer 演示文稿中执行相同操作时——

\documentclass{beamer}
\usepackage[outline]{contour}
\begin{document}
\begin{frame}{Example}
Text text text \contour{red}{\textcolor{green}{contour}} text.
\end{frame}
\end{document}

—编译失败,错误如下

! Use of \\@contour doesn't match its definition.
\beamer@ifnextcharospec #1#2->\def \reserved@a {
                                                #1}\def \reserved@b {#2}\fut...
l.14 \end{frame}

? 

如何在 Beamer 演示文稿中使用轮廓效果?

答案1

序言

显然,beamer重新定义\textcolor的方式使其变得脆弱。

如果您\usepackage{beamerarticle}articleMWE 中,您会遇到与 相同的问题beamer

长答案

脆弱命令和坚固命令之间有什么区别?

简短回答

使用

  • \contour{<color>}{\protect\textcolor{<color>}{<text>}}或者
  • \textcolor{<color>}{\contour{<color>}{<text>}}

代码

\documentclass{beamer}
\usepackage[outline]{contour}
\begin{document}
\begin{frame}{Example}
Text text text \contour{red}{\protect\textcolor{green}{contour}} text. \\
Text text text \textcolor{green}{\contour{red}{contour}} text.
\end{frame}
\end{document}

输出

输出

相关内容