如何在表格单元格中垂直居中“\begin{equation}...\end{equation}”?

如何在表格单元格中垂直居中“\begin{equation}...\end{equation}”?

如何使\begin{equation}...\end{equation} 表格单元格垂直居中?

替代文本

最小代码(我无法再最小化)

\documentclass{article}
\usepackage{array,longtable,calc,amsmath}

\newcolumntype{A}[1]{%
    >{\begin{minipage}{#1\linewidth-2\tabcolsep-1.5\arrayrulewidth}\vspace{\tabcolsep}}%
    c%
    <{\vspace{\tabcolsep}\end{minipage}}%
}

\begin{document}
\begin{longtable}{|*2{A{0.5}|}}
\hline
\begin{equation}
  \sin x \cos x = y
\end{equation}
& \hrulefill \tabularnewline\hline
\end{longtable}
\end{document}

答案1

为了获得正确的间距,在\strut显示之前和之后放置一个,并赋予两个shortdisplayskip相同的值。

\documentclass{article}
\usepackage{array,longtable,calc,amsmath}

\tabcolsep=1pt
\arrayrulewidth=1pt

\newcolumntype{A}[1]{%
    >{\begin{minipage}{#1\linewidth-2\tabcolsep-1.5\arrayrulewidth}\vspace{\tabcolsep}}%
    c%
    <{\vspace{\tabcolsep}\end{minipage}}%
}

\begin{document}
\begin{longtable}{|*2{A{0.5}|}}
\hline
\setlength\abovedisplayshortskip{0pt}
\setlength\belowdisplayshortskip{0pt}
\strut
\begin{equation}
  \sin x \cos x = y
\end{equation}
\strut
& \hrulefill \tabularnewline\hline
\end{longtable}
\end{document}

您可以shortdisplayskip根据需要更改 s;也可以使用负值。

答案2

\documentclass{article}
\usepackage{array,calc,longtable,ragged2e}

\tabcolsep=1pt
\arrayrulewidth=1pt

\newcolumntype{A}[1]{>{%
  \abovedisplayskip=0pt\belowdisplayskip=0pt
  \Centering}m{#1\linewidth-2\tabcolsep-1.5\arrayrulewidth}}

\begin{document}
\begin{longtable}{|*2{A{0.5}|}}\hline
\begin{equation}
  \sin x \cos x = y
\end{equation}
& foo \hrulefill \tabularnewline\hline
\end{longtable}
\end{document}

答案3

为什么不使用\begin{longtable}{|*2{m{0.5\linewidth}|}}?我在这里看不出列类型有什么优势A

相关内容