需要使用 >{\cmd} 和

需要使用 >{\cmd} 和

我正在阅读 wikibooks 表格教程中提到的

使用 >{\cmd} 和 <{\cmd} 指定列

可以使用数组包更改列规范。这在表格环境的参数中完成,使用 >{\command} 表示在每个列元素之前执行的命令,使用 <{\command} 表示在每个列元素之后执行的命令。例如:要在数学模式下获取列,请输入:\begin{tabular}{>{$}c<{$}}。另一个示例是更改字体:\begin{tabular}{>{\small}c} 以小字体打印列。

> 和 < 规范的参数在涉及 { 和 } 字符时必须正确平衡。这意味着 >{\bfseries} 有效,而 >{\textbf} 无效,并且 >{\textbf{} 无效。如果需要使用表格文本作为参数(例如,使用 \textbf 生成粗体文本),则应使用 \bgroup 和 \egroup 命令:>{\textbf\bgroup}c<{\egroup} 产生预期效果。这仅适用于一些基本的 LaTeX 命令。对于其他命令,例如 \underline 为文本加下划线,需要使用 lrbox 将列文本临时存储在框中。首先,您必须使用 \newsavebox{\boxname} 定义这样的框,然后您可以定义:

我还阅读了此处给出的 tabularx 文档http://ctan.imsc.res.in/macros/latex/required/tools/tabularx.pdf

我无法理解

当涉及 { 和 } 字符时,> 和 < 规范的参数必须正确平衡。

它还说

这意味着 >{\bfseries} 有效,而 >{\textbf} 不起作用,并且 >{\textbf{} 无效。如果需要使用表格文本作为参数(例如,使用 \textbf 生成粗体文本),则应使用 \bgroup 和 \egroup 命令:

{\textbf\bgroup}c<{\egroup} 产生预期效果。

所以我想知道为什么 >{\bfseries} 有效而 >{\textbf} 不起作用。

我无法理解文档中这些句子的含义,有没有相关的例子。

相关内容