如何使 mhchem 与 \bgroup 和 \egroup 语句一起工作?

如何使 mhchem 与 \bgroup 和 \egroup 语句一起工作?

我正在尝试创建一个表格,其中有一列完全由化学式组成。我想使用数组包自动插入命令\ce{...},以单元格的内容作为参数。

我理解“\bgroup 和 \egroup?\bgroup\egroup只适用于替代低级命令,如\textbf。不幸的是,我不明白如何使用realboxes那里提供的包来使其工作。我无法评估它是否适合这项任务。

这是一个最小的不是我正在尝试做的事情的工作示例:

\documentclass{article}
\usepackage[version=4]{mhchem}
\usepackage{array}
\begin{document}
  \begin{tabular}{>{\textbf\bgroup}l<{\egroup}%
                  >{\ce\bgroup}l<{\egroup}}\hline
    R1 & -C6H5 \\
    R2 & -C6H4F \\\hline
  \end{tabular}
\end{document}

答案1

这个包collcell是你的好朋友:

\documentclass{article}
\usepackage[version=4]{mhchem}
\usepackage{array,booktabs,collcell}

\begin{document}
  \begin{tabular}{>{\bfseries}l
                  >{\collectcell\ce}l<{\endcollectcell}}\toprule
    R1 & -C6H5 \\
    R2 & -C6H4F \\\bottomrule
  \end{tabular}
\end{document}

在此处输入图片描述

请注意,我还使用了booktabs表格规则。最后但并非最不重要的一点是,您不需要\textbf,您可以使用\bfseries不带参数的。

相关内容