我确实定义了一个新命令:
\newcommand{\keyword}[1]{\textbf{\textcolor{red}{#1}}}
并尝试过
\begin{grammar}
stepsScript ::= \keyword{steps} \synt{steps} \keyword{steps}
\end{grammar}
我收到消息:
@declaredcolor 的参数有一个额外的 }
我的\keyword
命令在 之外运行良好grammar
。正如预期的那样,省略环境内的\textcolor
命令会导致粗体显示。但是,我必须做什么才能获得粗体红色关键字?\keyword
grammar
答案1
该类beamer
重新定义了颜色命令\textcolor
和\color
。这会导致软件包出现问题。作为一种解决方法,您可以在新命令中直接syntax
使用原始定义。由于包含符号,因此您需要用和将定义括起来。\@declaredcolor
\@declaredcolor
@
\makeatletter
\makeatother
梅威瑟:
\documentclass{beamer}
\usepackage{syntax}
\makeatletter
\newcommand{\keyword}[1]{\textbf{\@declaredcolor{red}#1}}
\makeatother
\begin{document}
\begin{frame}{Syntax with color in beamer}
\begin{grammar}
<stepsScript> ::= \keyword{steps} \synt{steps} \keyword{steps}
\end{grammar}
\end{frame}
\end{document}
结果: