如何垂直对齐表格或长表中的框内内容?

如何垂直对齐表格或长表中的框内内容?

我有一个漂亮的长桌

在此处输入图片描述

但是,我不知道如何对齐方程式之间这些盒子得到的东西看起来像

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{thmtools}       
\usepackage{graphicx}
\usepackage{longtable}
\setlength\parindent{0pt}
\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\usepackage{hyperref}
\usepackage{caption} 
\usepackage{cleveref}


\begin{document}
\begin{longtable}{ | M{5cm} | M{5cm}|}

    \hline
    \textbf{Name}
    & \textbf{Combiner equation}\\ 
    \hline

    {
        Chemical A278Aptx9
    }
    &{\begin{align*}
        A &= B \to C\\
        C &= D \to E
        \end{align*}
    }\\ 

    \hline
    {
        Chemical A279Apxdkcmasdl8
    } 
    & {\begin{align*}
        A &= B \to C \to E \to F\\
        C &= D \to E \to B
        \end{align*}
    }\\
    \hline
\end{longtable}
\end{document}

答案1

这令人满意吗?请注意,它使方程式左对齐,而不是在您用 指定的对齐点处对齐&。因此,只有当 的左侧&=不变(或宽度相同)时,它才会看起来那么好。

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{thmtools}       
\usepackage{graphicx}
\usepackage{longtable}
\setlength\parindent{0pt}
\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{array}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
\usepackage{hyperref}
\usepackage{caption} 
\usepackage{cleveref}

\makeatletter
\newcommand\fleqn[1][]{%
    \@fleqntrue%
    \ifx\relax#1\relax\else%
        \@mathmargin=#1\relax%
    \fi%
}
\makeatother


\begin{document}
\begin{longtable}{ | M{5cm} | M{5cm}|}

    \hline
    \textbf{Name}
    & \textbf{Combiner equation}\\ 
    \hline

    {
        Chemical A278Aptx9
    }
    &{\fleqn[0.5cm]\begin{align*}
        A &= B \to C\\
        C &= D \to E
        \end{align*}
    }\\ 

    \hline
    {
        Chemical A279Apxdkcmasdl8
    } 
    & {\fleqn[0.5cm]\begin{align*}
        A &= B \to C \to E \to F\\
        C &= D \to E \to B
        \end{align*}
    }\\
    \hline
\end{longtable}
\end{document}

在此处输入图片描述

答案2

这是另一种选择,适用于无法遵循或在需要时修改@Skillmon 的更好解决方案的人。

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{thmtools}       
\usepackage{graphicx}
\usepackage{longtable}
\setlength\parindent{0pt}
\usepackage[linesnumbered,ruled]{algorithm2e}
\usepackage{array}
\newcolumntype{M}[1]{>{\raggedright\arraybackslash} m{#1}}
\usepackage{hyperref}
\usepackage{caption} 
\usepackage{cleveref}


\begin{document}
\begin{longtable}{ | M{5cm} | M{5cm}|}

    \hline
    \multicolumn{1}{|c|}{\textbf{Name}}
    & \multicolumn{1}{c|}{\textbf{Combiner equation}}\\ 
    \hline
    {
        Chemical A278Aptx9
    }
    & {\begin{align*}
        A &= B \to C\\
        C &= D \to E \phantom{\to F \to G}
        \end{align*}
    }\\ 
    \hline
    {
        Chemical A279Apxdkcmasdl8
    }
    & {\begin{align*}
        A &= B \to C \to E \to F\\
        C &= D \to E \to B
        \end{align*}
    }\\
    \hline
\end{longtable}
\end{document}

最初我以为我不必使用 phantom,并为此类解决方案提供了评论。但最后我意识到没有 phantom 我无法做到这一点,但对于特定问题来说,这是一种简单且不太有经验的解决方案。

结果如下:

在此处输入图片描述但需要更多输入(longtable 意味着许多值)并且效率不高。

相关内容