我最近遇到了以下命令:
\newcommand{\minitab}[2][c]{\begin{tabular}{#1}#2\end{tabular}}
嗯,这接近 TLC 第 845 页列出的语法,但我仍然不明白。我的解释是这样的:
正在定义一个新命令minitab
。该命令具有可选参数 2(第一对方括号)和默认参数c
(第二对方括号)。
虽然可选参数是 2,但它可以是 0 到 9 之间的任何值。
c
仅当 (a) 指定了可选参数,或者 (b) 不存在时,默认参数才会生效。
默认参数c
本身并不意味着中心。例如,它可以用作幂:a$^{c}$。
那么,
到目前为止我理解得对吗?如果正确,
表格命令如何区分(a)和(b)?
表格中非花括号参数有什么意义?
举个例子就很好了。
答案1
注意力:您的代码有错误。您忘记}
在 之前添加右括号[2]
。
代码
\newcommand{\minitab}[2][c]{\begin{tabular}{#1}#2\end{tabular}}
\minitab
定义具有两个参数的命令。
第一个是可选的,具有默认值c
(如果不使用其他值,将使用该默认值)。它用于确定单列的对齐方式tabular
。因此它也可以是r
ight 或l
eft。
第二个参数是强制性的,它实际上是 的内容tabular
。
因此你可以使用命令
\minitab{foo and foo}
或者
\minitab[l]{foo and foo}
回想一下,命令的选项在括号中传递,而强制参数在括号中传递\command[<optional>]{<mandatory>}
。
编辑:
命令名称: \minitab
参数数量: [2]
(因此#1
是可选的;#2
是强制性的)
默认值#1
: [c]
(如果传递另一个有效值,将被覆盖)
如何处理这些论点?#2
在 内使用tabular
作为其内容;用于#1
中的列对齐tabular
。
(!)因此您必须{#1}
在定义中使用。另外,例如,如果您想插入右边框,则应使用{#1|}
。括号对于分组很重要。
回想一下,使用 a 的正确方法tabular
是:
\begin{tabular}{cols}
content...
\end{tabular}
简历中: \minitab[l]{a lot of text}
将与
\begin{tabular}{l}
a lot of text
\end{tabular}