如何在 tabularx 内部对齐后删除垂直空格?

如何在 tabularx 内部对齐后删除垂直空格?

我想删除 align 环境下方但在 tabularx 环境内的所有垂直空间。我尝试将belowdisplayskip和设置belowdisplayshortskip为 0(如建议的那样这里),虽然这消除了一些垂直空间,但结果仍然如下所示:

我该怎么做才能删除等式后面的垂直空格a+b=c?上面的图像是使用以下代码获得的:

\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{tabularx}

\begin{document}

\begin{tabularx}{\linewidth}{|l|X|}
\hline
some & text 
\setlength{\belowdisplayskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt} 
\begin{align*}
a + b = c
\end{align*} 
\\
\hline 
* & this row should be directly under the equation with no vertical space in between. \\
\hline
\end{tabularx}

\end{document}

请注意,如果...它可以正常工作。

  • 我只是删除了等式;
  • 在同一表格单元格中,公式后面还有另一行文本;
  • 或者方程包含cases至少两条线的环境

... 如下图所示:

答案1

插入的支柱有点令人困惑......

最简单的可能就是检测这种情况并备份:

在此处输入图片描述

\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{tabularx}
\showoutput
\begin{document}

\noindent
\begin{tabularx}{\linewidth}{|l|
>{\setlength{\belowdisplayskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}%
}
X
<{\ifhmode\ifnum\prevgraf>0 \vskip-\normalbaselineskip \mbox{}\fi\fi}
|}
\hline
some & text 
\begin{align*}
a + b = c
\end{align*}
\\
\hline 
* & this row should be directly under the equation with no vertical space in between. \\
\hline
\end{tabularx}

\end{document}

相关内容