如何使合并的行垂直居中?

如何使合并的行垂直居中?

我想让合并的行ac垂直居中。该怎么做?

在此处输入图片描述

\documentclass[preview,border=3pt]{standalone}
\usepackage{array,multirow}
\renewcommand\arraystretch{1.5}
\newcommand{\cell}[2]{%
    $\displaystyle
    \begin{array}{c}
     {} #1 m \\
     {} #2 n
    \end{array}$}
\begin{document}
\begin{tabular}{|*{4}{c|}}\hline
\multicolumn{1}{|c|}{\multirow{2}{*}{$ac$}} &
            $+$ &
            \cell{+}{+} &
            \cell{-}{-} \\\cline{2-4}
\multicolumn{1}{|c|}{} &
            $-$ &
            \cell{-}{+} &
            \cell{+}{-} \\\hline                                            
\multicolumn{2}{c|}{} &
            $+$ &
            $-$ \\\cline{3-4}
\multicolumn{2}{c|}{} &
            \multicolumn{2}{c|}{$b$}    \\\cline{3-4}
\end{tabular}
\end{document}

答案1

不必要的复杂:

姆韦

\documentclass{article}
\renewcommand\arraystretch{1.5}
\usepackage{array,multirow}
\begin{document}
\begin{tabular}{*{4}{|>{ $}c<{$ }}|}\hline
\multirow{4}{*}{$ac$} & \multirow{2}{*}{+}    & +\ m  & -\ m \\
                      &                       & +\ n  & -\ n \\\cline{2-4}
                      &  \multirow{2}{*}{$-$} & +\ m  & -\ m \\
                      &                       & +\ n  & -\ n \\\cline{1-4}
\multicolumn{2}{c|}{}                         & +    & -    \\\cline{3-4}
\multicolumn{2}{c|}{} & \multicolumn{2}{c|}{b} \\\cline{3-4}
\end{tabular}
\end{document}

答案2

{NiceTabular}您可以轻松地使用来制作表格nicematrix

在 中{NiceTabular},您可以使用命令 水平和垂直合并单元格\Block。对于行,您可以指定逻辑行数(而不是像 那样的物理行数\multicolumn)。

使用键hvlines,可以绘制所有规则,但块(由 构造\Block)和键指定的角corners(角是自动计算的)除外。

\documentclass[preview,border=3pt]{standalone}
\usepackage{nicematrix}
\renewcommand\arraystretch{1.5}
\newcommand{\cell}[2]{%
    $\displaystyle
    \begin{array}{c}
     {} #1 m \\
     {} #2 n
    \end{array}$}
\begin{document}
\begin{NiceTabular}{cccc}[hvlines,corners=SW]% SW : south west
\Block{2-1}{$ac$} &
            $+$ &
            \cell{+}{+} &
            \cell{-}{-} \\
&
            $-$ &
            \cell{-}{+} &
            \cell{+}{-} \\
& &         $+$ &
            $-$ \\
& & \Block{1-2}{$b$}    \\
\end{NiceTabular}
\end{document}

您需要多次编译(因为nicematrix使用 PGF/Tikz 节点)。

上述代码的输出

答案3

在此处输入图片描述

\documentclass[preview,border=3pt]{standalone}
\usepackage{array,multirow}
\renewcommand\arraystretch{1.5}
\newcommand{\cell}[2]{%
    $\displaystyle
    \begin{array}{c}
        {} #1 m \\
        {} #2 n
    \end{array}$}
\begin{document}
    \begin{tabular}{|*{4}{c|}}\hline
        \multicolumn{1}{|c|}{\multirow{3.1}{*}{$ac$}} &
        $+$ &
        \cell{+}{+} &
        \cell{-}{-} \\\cline{2-4}
        \multicolumn{1}{|c|}{} &
        $-$ &
        \cell{-}{+} &
        \cell{+}{-} \\\hline                                            
        \multicolumn{2}{c|}{} &
        $+$ &
        $-$ \\\cline{3-4}
        \multicolumn{2}{c|}{} &
        \multicolumn{2}{c|}{$b$}    \\\cline{3-4}
    \end{tabular}
\end{document}

相关内容