表格中的文本在特定点对齐并且设置了特定的行宽

表格中的文本在特定点对齐并且设置了特定的行宽

我在创建表格时遇到一些问题,其中内容在某个点对齐(在本例中为“=”)。为此,我使用了“制表”环境,这可能不是最好的解决方案。代码如下:

\documentclass{article}
\usepackage{array}
\usepackage{ragged2e}

\begin{document}
\begin{table}
   \centering
   \begin{tabular}{|>{\Centering}m{3cm}|>{\RaggedRight}m{3cm}|>{\RaggedRight}m{0pt}|}
   \hline
    {\it Type} & \multicolumn{1}{c|}{\it Diameter $\left[ \mathrm{mm} \right]$} & \vspace{10pt} \vspace{10pt} \\ \hline \hline
   Type A & \vspace{-8pt} {\begin{tabbing} \hspace{0.7cm} \=$d_{a1}$ \ \=$= 1$ \\
                                                          \>$d_{a2}$   \>$= 2$ \\
                                                          \>$d_{a3}$   \>$= 3$ \\
                                                          \>$d_{a4}$   \>$= 4$
                           \end{tabbing}} &\\ \hline
   Type B &  {\begin{tabbing} \hspace{0.7cm} \=$d_{b1}$ \ \=$= 1$ \\
                                             \>$d_{b2}$   \>$= 2$ \\
                                             \>$d_{a3}$   \>$= 3$ \\
                                             \>$d_{a4}$   \>$= 4$
             \end{tabbing}} &\\ \hline
   Type C & {\begin{tabbing} \hspace{0.7cm} \=$d_{c1}$ \ \=$= 1$ \\
                                            \>$d_{c2}$   \>$= 2$ \\
                                            \>$d_{c3}$   \>$= 3$ \\
                                            \>$d_{c4}$   \>$= 4$
             \end{tabbing}} &\\ \hline
   \end{tabular}
\end{table}
\end{document}

首先,我很难减少使用单元格中文本上方和下方的“制表”环境所创建的空格。其次,辅助列仅用于增加第一行的宽度,即使设置了m{0pt}列的宽度,这也是不理想的。因此,如果有人可以通过分享解决方案/解释来帮助解决给定的问题,或者可以提出不同的方法来实现相同的结果,我将不胜感激。

带有指示的输出表为: 代码输出

答案1

这应该接近您所寻找的。

aligned中的辅助环境在amsmath水平模式下工作。它需要一个垂直定位选项,以使其与第一列中的文本保持正确对齐。这避免了环境上方和下方的额外垂直空间tabbing,并且由于所有内容都自动处于数学模式,因此使代码更加简单。我保留了 中的定位说明ragged2e,但有合适的说明不需要单独的包;本论坛中的其他问题使用它们,应该不难找到。

在第一行添加额外的垂直空间只需要在已占用的列中添加零宽度垂直规则;事实证明,有必要将其添加到两列,并且必须对高度和深度的值进行试验以获得适当的平衡,代码\vrule是纯 TeX;有一个 LaTeX 等效项,但我必须查找它。(我在 LaTeX 出现之前就学会了纯 TeX,有些东西在两者中都以相同的方式工作;但不要假设,正如我在评论中指出的那样\it。)

\documentclass{article}
\usepackage{array}
\usepackage{amsmath}
\usepackage{ragged2e}

\begin{document}
\thispagestyle{empty}
\begin{table}
   \centering
   \begin{tabular}{|>{\Centering}m{3cm}|>{\Centering}m{3cm}|}
   \hline
    \vrule height13pt depth7pt width0pt
    \textit{Type} &
    \vrule height13pt depth7pt width0pt
    \textit{Diameter} [mm] \\ \hline \hline
   Type A & $\begin{aligned}[b]                                                 
                             d_{a1} &= 1 \\                                     
                             d_{a2} &= 2 \\                                     
                             d_{a3} &= 3 \\                                     
                             d_{a4} &= 4                                        
              \end{aligned}$ \\ \hline
   Type B & $\begin{aligned}[b]
                             d_{b1} &= 1 \\
                             d_{b2} &= 2 \\
                             d_{b3} &= 3 \\
                             d_{b4} &= 4
              \end{aligned}$ \\ \hline                                          
   Type C & $\begin{aligned}[b]
                             d_{c1} &= 1 \\
                             d_{c2} &= 2 \\
                             d_{c3} &= 3 \\
                             d_{c4} &= 4
              \end{aligned}$ \\ \hline
   \end{tabular}
\end{table}
\end{document}

相关内容