跨列对齐表格内部

跨列对齐表格内部

我有一张表,其中有一列如下所示: 表中的列

我想将 $\ge$ 符号一个接一个地对齐。我该如何实现?

我还希望该解决方案具有普遍性,类似于正常align环境,我可以在此列内拥有多个对齐“列”(即 $v_1$ 的系数将被对齐,$v_2$ 的系数将被对齐,依此类推)。所以我想我想要比右对齐更通用的东西。

另请注意,在此列的左侧和右侧有一些列。

注意:我使用array环境在整个列中引入数学模式(| >{$}c<{$} |)。

答案1

这是在三列环境中嵌入数学材料的一种方法tabular。请注意使用两列环境,其中列自动由(大于或等于)符号array分隔。\ge

另外:我发现所有这些水平线非常令人分心。如果这是我的桌子,我会去掉内部的水平线。

在此处输入图片描述

\documentclass{article} 
\begin{document}
\begin{table}
\centering
\begin{tabular}{|l|@{}l@{}|l|}
  \hline
  column 1 material & 
  $\begin{array}[t]{ r @{{}\ge{}} l }
                      v_2 & 0 \\ \hline
      (k-1)v_2 - (k+1)v_3 & 0 \\ \hline
                     kv_3 & 0 \\ \hline
              kv_2 - kv_3 & 0 \\ \hline
    (k+1)v_1 + (-2k+1)v_2 & 1 
  \end{array}$ &
  column 3 material \\ 
  \hline
\end{tabular}
\end{table}

\end{document}

附录:扩展此基于的方法很简单,array不仅可以处理两列,还可以处理六列:

在此处输入图片描述

\documentclass{article} 
\usepackage{array}
\begin{document}
\begin{table}
\centering
\begin{tabular}{|l|@{}l@{}|l|}
  \hline
  column 1 material & 
  $\begin{array}[t]{ *{2}{r @{} >{{}}c<{{}} @{}} r @{{}\ge{}} l }
      & &      v_2 &   &          & 0 \\ \hline
      & & (k-1)v_2 & - & (k+1)v_3 & 0 \\ \hline
      & & & &                kv_3 & 0 \\ \hline
      & &     kv_2 & - &     kv_3 & 0 \\ \hline
  (k+1)v_1 & + & (-2k+1)v_2 & & & 1 
  \end{array}$ &
  column 3 material \\ 
  \hline
\end{tabular}
\end{table}
\end{document}

答案2

根据表格其余部分的情况,有三种方法可以实现您的目标:

\documentclass{article}

\usepackage{mathtools,array}

\begin{document}

\[
  \begin{array}{r@{}>{{}}l}
    \multicolumn{2}{c}{\text{Some length heading for the LHS and RHS}} \\
    \hline
                      v_2 & \geq 0 \\
      (k-1)v_2 - (k+1)v_3 & \geq 0 \\
                     kv_3 & \geq 0 \\
              kv_2 - kv_3 & \geq 0 \\
    %\hspace{3em}% Possible horizontal alignment required
    (k+1)v_1 + (-2k+1)v_2 & \geq 1
  \end{array}
\]

\newcommand{\LHS}{\phantom{(k+1)v_1 + (-2k+1)v_2}}%
\[
  \begin{array}{c}
    \text{Some length heading for the LHS and RHS} \\
    \hline
                    \LHS\mathllap{v_2} \geq 0 \\
    \LHS\mathllap{(k-1)v_2 - (k+1)v_3} \geq 0 \\
                   \LHS\mathllap{kv_3} \geq 0 \\
            \LHS\mathllap{kv_2 - kv_3} \geq 0 \\
                 (k+1)v_1 + (-2k+1)v_2 \geq 1
  \end{array}
\]

\[
  \begin{tabular}{>{\centering\arraybackslash}p{20em}}
    Some length heading for the LHS and RHS \\
    \hline
    $\begin{aligned}
                        v_2 &\geq 0 \\
        (k-1)v_2 - (k+1)v_3 &\geq 0 \\
                       kv_3 &\geq 0 \\
                kv_2 - kv_3 &\geq 0 \\
      (k+1)v_1 + (-2k+1)v_2 &\geq 1
    \end{aligned}$
  \end{tabular}
\]

\end{document}

第一次施工可能需要进行一些额外的水平调整,以使对齐适合整个柱子:

在此处输入图片描述

第二种方法使用align在多种环境中等号的对齐结合\phantoms 和重叠:

在此处输入图片描述

第三个插入一个aligned以实现对齐。它需要预先指定的列宽(如果需要,可以测量):

在此处输入图片描述


附注:右侧的尺寸都差不多,所以使用 -columnr就足够了。不过,我猜想这个array结构比图示的要大得多,而且r-column 可能会影响其他(目前不可见的)布局。

相关内容