![新命令:默认可选值?](https://linux22.com/image/318812/%E6%96%B0%E5%91%BD%E4%BB%A4%EF%BC%9A%E9%BB%98%E8%AE%A4%E5%8F%AF%E9%80%89%E5%80%BC%EF%BC%9F.png)
鉴于beamer
类别。
\newcommand<>...
在序言中考虑。
其文档提到了“默认可选值”。
这是什么意思?
答案1
基本\newcommand
语法允许您指定“可选参数”;它括在方括号中。您可以为该可选参数指定一个“默认值”,只要您没有通过提供可选参数来覆盖它,就会使用该默认值。比较:
\documentclass[12pt]{article}
%\newcommand{⟨command name⟩}[⟨argument number⟩][⟨default optional value⟩]{⟨text⟩}
\newcommand{\forexample}[2][default optional value]{Do something with \textbf{#1} and \emph{#2}}
\begin{document}
Use my \forexample{no optional argument given}
Use my \forexample[this overrides the DOV]{optional argument given}
\end{document}
beamer
用其“覆盖规范”语法(即)扩展此语法<>
。这允许您根据所处的“覆盖编号”使命令的行为有所不同。例如:
\documentclass[12pt]{beamer}
%\newcommand<>{⟨command name⟩}[⟨argument number⟩][⟨default optional value⟩]{⟨text⟩}
\newcommand<>{\forexample}[2][default optional value]{{\color#3{red}{Do something with \textbf{#1} and \emph{#2}}}}
% the extra braces in this example are to group the \color command.
\begin{document}
\begin{frame}
Use my: \forexample<1>{no optional argument given}
Use my: \forexample<3>[this overrides the DOV]{optional argument given}
\end{frame}
\end{document}
在这里,您应该看到框架的第一行在“覆盖编号 1”上显示为红色,两条线在编号 2 上均显示为黑色,然后第二行(但不是第一行)在编号 3 上显示。