两个不同表格行中内容的水平对齐

两个不同表格行中内容的水平对齐

我有一个表格,其中所有元素都左对齐。以下是 MWE 代码及其输出:

\documentclass{article}

\begin{document}

\begin{table}
\begin{tabular}{lll}
  \toprule
  & $\alpha$ & $\beta$\\
  \midrule
  atomic $\text{C}$ & 1.1 & 2.2\\
  ($\text{C}_a$) & & \\ \addlinespace
  polymeric $\text{C}$ & 3.3 & 4.4\\
  ($\text{C}_p$) & & \\
  \bottomrule
\end{tabular}
\end{table}

\end{document}

桌子

  • 我想调整CC在“原子 C”中。
  • 我还想调整C陣容C在“聚合物 C”中。

换句话说,缩进 C_a 和 C_b 以便它们与紧接上方的 C 对齐。

是否可以用相对简单的方法实现这一点?

(实际上,我正在使用这个chemmacros包来排版C(例如\ch{C}),但为了使我的 MWE 简单,我使用了。我认为这个问题的答案(如果存在的话)可能与我使用或\text无关。)\ch\text

答案1

这里有一个解决方案,它采用了包\mathllap的宏mathtools,它是包的超集amsmath,以方便元素的对齐\ch{C}

在此处输入图片描述

\documentclass{article}
\usepackage{chemmacros,booktabs,mathtools}
\newcommand\myarray[2]{%
   $\begin{array}[t]{@{}l@{}} #1 \\ \mathllap{(}#2) \end{array}$}
\begin{document}
 
\begin{table}
\centering
\begin{tabular}{@{}lcc@{}}
  \toprule
  & $\alpha$ & $\beta$\\
  \midrule
  atomic \myarray{\ch{C}}{\ch{C}_a} & 1.1 & 2.2\\
  \addlinespace
  polymeric \myarray{\ch{C}}{\ch{C}_p} & 3.3 & 4.4\\
  \bottomrule
\end{tabular}
\end{table}

\end{document}

答案2

在此处输入图片描述

\widthof以下是使用该calc包来测量所需压痕的一种方法:

\documentclass{article}
\usepackage{booktabs}
\usepackage{chemmacros}
\usepackage{calc}

\newlength{\mylengthatomic}
\setlength{\mylengthatomic}{\widthof{atomic}-\widthof{(}}
\newlength{\mylengthpolymeric}
\setlength{\mylengthpolymeric}{\widthof{polymeric}-\widthof{(}}
\begin{document}

\begin{table}
\begin{tabular}{lll}
  \toprule
  & $\alpha$ & $\beta$\\
  \midrule
  atomic \ch{C}  & 1.1 & 2.2\\
  \hspace{\mylengthatomic} (\ch{C_a}) & & \\ \addlinespace
  polymeric \ch{C} & 3.3 & 4.4\\
  \hspace{\mylengthpolymeric} (\ch{C_p}) & & \\
  \bottomrule
\end{tabular}
\end{table}

\end{document}

第二个示例使用嵌套表格进行对齐:

\documentclass{article}
\usepackage{booktabs}
\usepackage{chemmacros}


\begin{table}
\begin{tabular}{lll}
  \toprule
  & $\alpha$ & $\beta$\\
  \midrule
  \setlength{\tabcolsep}{0pt}\begin{tabular}[t]{ll} atomic & \phantom{(}\ch{C} \\ & (\ch{C_a})\end{tabular}  & 1.1 & 2.2\\ \addlinespace
  \setlength{\tabcolsep}{0pt}\begin{tabular}[t]{ll} polymeric & \phantom{(}\ch{C} \\ & (\ch{C_p})\end{tabular} & 3.3 & 4.4\\
  \bottomrule
\end{tabular}
\end{table}

\end{document}

相关内容