删除表格单元格中数学(和其他)环境前后不需要的垂直空间

删除表格单元格中数学(和其他)环境前后不需要的垂直空间

我想删除数学和其他环境之前和之后的垂直空间description,以便它们看起来紧凑并且顶部和底部的空间均匀,就像第 1 行一样。

在此处输入图片描述

正如您所看到的,我已经测试了类似的命令,但\belowdisplayskip没有成功。

梅威瑟:

\documentclass{memoir}

\usepackage{amsmath}
\usepackage{enumitem}

\begin{document}

% Not works.
%\setlength{\belowdisplayskip}{0pt}
%\setlength{\abovedisplayskip}{0pt}
%\setlength{\abovedisplayshortskip}{0pt}
%\setlength{\belowdisplayshortskip}{0pt}    

\begin{tabular}{m{3cm} m{3cm}}
    \hline
    Row 1 & Text \\ \hline
    Row 2 &
        \begin{description}[topsep=0pt]
            \item[$\alpha$] Alpha
            \item[$\beta$] Beta
        \end{description} \\ \hline
    Row 3 &
        \begin{equation*}
            E = mc^2
        \end{equation*} \\ \hline
    Row 4 &
        \begin{equation*}
            \sum_i x_i
        \end{equation*}  \\ \hline
    Row 5 &
        {\begin{align*}
              y &= ax^2 + bx \\
              &= x(ax + b)
        \end{align*}} \\ \hline
\end{tabular}

\end{document}

答案1

  • 对于数学方程式,您可以使用任何amsmath数学环境: alignedgatheredsplit

  • 结果tabular不太好:

在此处输入图片描述

\documentclass{memoir}
\usepackage{amsmath}

\begin{document}
    \begin{table}[htb]
    \centering
\renewcommand\arraystretch{1.5}
\begin{tabular}{|m{3cm}| m{5cm}|}
    \hline
    Row 1 &     Text            \\ \hline
    Row 2 &     Text            \\ \hline
    Row 3 & $E = mc^2$          \\ \hline
    Row 4 & $\sum_i x_i$        \\ \hline
    Row 4 & $\begin{aligned}
             \sin(x) & = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \\
                     & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\\[1ex]
             \end{aligned}$     \\ \hline
\end{tabular}
    \end{table}
\end{document}

使用后tabularray效果会好得多:

在此处输入图片描述

\documentclass{memoir}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}


\begin{document}
    
\begin{table}[htb]    
    \centering
\begin{tblr}{hlines, vlines,
             colspec = {Q[l,m, 3cm]  Q[l,m, mode=math]},
             row{1,2}= {mode=text},
             rowsep=3pt
             }
    Row 1 &     Text            \\  
    Row 2 &     Text            \\  
    Row 3 & E = mc^2            \\  
    Row 4 & \sum_i x_i          \\  
    Row 4 & \begin{aligned}
             \sin(x) & = x - \frac{x^3}{3!} \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \\
                     & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\\[1ex]
             \end{aligned}     \\  
\end{tblr}
    \end{table}
\end{document}

在第二个示例中,假设第二列(前两行除外)是方程式。因此,此列处于数学模式。

如果出于某些原因您希望将第二列的内容居中,则将其Q[l,m, mode=math]替换为Q[c,m, mode=math]。此更改将产生:

在此处输入图片描述

答案2

您可以尝试另一种方式nicematrix。不会在单元格的自然高度上添加任何空间。(第一张表)。

通常人们希望扩展单元格以避免规则与下标和上标发生冲突。

通过使用,cell-space-limits=您可以在内容上方和下方添加一些空间(1pt,第二个表格)。

最后,可以使用cell-space-top-limit=1pt(最后的表格)仅改进上标。

默认

d

更好的

埃

F

这是完整的代码。

\documentclass{memoir}

\usepackage{nicematrix}

\begin{document}
    
\begin{table}[htb] 
    \centering
    \caption{Default: tight}  
        \begin{NiceTabular}{lc}[hvlines]
            Row 1   &     Text            \\  
            Row 2   &     Text            \\  
            Row 3   & $E = mc^2$          \\  
            Row 4   & $\sum_i x_i$         \\  
            Row 5   & $\begin{aligned}
                            \sin(x) & = x - \frac{x^3}{3!} \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \\
                                    & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\\
                        \end{aligned} $    \\  
    \end{NiceTabular}
\end{table}
\begin{table}[htb] 
    \centering
    \caption{More relaxed (added 1pt)}      
    \begin{NiceTabular}{lc}[hvlines,  cell-space-limits=1pt] % expand upper and lower space
    Row 1   &     Text            \\  
        Row 2   &     Text            \\  
        Row 3   & $E = mc^2$          \\  
        Row 4   & $\sum_i x_i$         \\  
        Row 5   & $\begin{aligned}
                        \sin(x) & = x - \frac{x^3}{3!} \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \\
                                & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\\
        \end{aligned} $    \\  
    \end{NiceTabular}
\end{table}

\begin{table}[htb] 
    \centering
    \caption{Semi relaxed (added above 1pt)}    
    \begin{NiceTabular}{lc}[hvlines,   cell-space-top-limit=1pt] % expand only lower space
        Row 1   &     Text            \\  
        Row 2   &     Text            \\  
        Row 3   & $E = mc^2$          \\  
        Row 4   & $\sum_i x_i$         \\  
        Row 5   & $\begin{aligned}
            \sin(x) & = x - \frac{x^3}{3!} \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots \\
            & = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}\\
        \end{aligned} $    \\  
    \end{NiceTabular}
\end{table}

\end{document}

答案3

  1. 使用 nicematrix 包。如果您想要环境方程,我认为有必要使用 minipage

  2. 使用 Simon Dispa 的代码

         Row 4 & \begin{minipage}{5cm}\begin{equation*}
                 \sum_i x_i
             \end{equation*} \end{minipage}\\
    

在此处输入图片描述

相关内容