如何将数字放置在表格中的特定列上方

如何将数字放置在表格中的特定列上方

我正在尝试在表格外的某个单元格旁边显示一个数字。在此示例中,我希望 2 位于第 3 列上方。现在我正在制作两个单独的表格,第一个表格没有边框,但 2 太高了。我附上了一张我目前拥有的图片,这是我目前使用的代码。实现此目的的最简单方法是什么?

在此处输入图片描述

\begin{table}[htb!]
\centering
\begin{tabular}{c c c}
     &  & 2 \\
\end{tabular}
\end{table}

\begin{table}[htb!]
\centering
\begin{tabular}{|c|c|c|}
\hline
 & 1 &  \\
\hline
 &  &  \\
\hline
 &  &  \\
\hline
\end{tabular}
\caption{3$\times$3 Magic Square}
\label{tab:my_label}
\end{table}

答案1

那么如何制作一个更大的、部分带有可见边框的表格呢:

\documentclass{article}

\begin{document}
    \renewcommand{\arraystretch}{1.5}
    \begin{table}[]
        \centering
        \begin{tabular}{lllll}
            & 1                      & 2                      & 3                      &   \\ \cline{2-4}
            \multicolumn{1}{l|}{12} & \multicolumn{1}{l|}{A} & \multicolumn{1}{l|}{B} & \multicolumn{1}{l|}{C} & 4 \\ \cline{2-4}
            \multicolumn{1}{l|}{11} & \multicolumn{1}{l|}{D} & \multicolumn{1}{l|}{E} & \multicolumn{1}{l|}{F} & 5 \\ \cline{2-4}
            \multicolumn{1}{l|}{10} & \multicolumn{1}{l|}{G} & \multicolumn{1}{l|}{H} & \multicolumn{1}{l|}{I} & 6 \\ \cline{2-4}
            & 9                      & 8                      & 7                      &  
        \end{tabular}
        \caption{3x3 magic square}
        \label{tab:my_label}
    \end{table}
    
\end{document}

在此处输入图片描述

答案2

在此处输入图片描述

\documentclass{article}

\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
    
    \begin{NiceTabular}{|c|c|}
        \hline
        A & B \\
        \hline
        C & D \\
        \hline
    \end{NiceTabular}
    
    
    \bigskip
    \begin{NiceTabular}{|c|c|c|}[code-after=%
        \tikz \draw($(row-1-|col-2)!0.5!(row-1-|col-3)$) node[above,]{2} ;]
        \hline
        A & B & C \\\hline
        E & F & G \\\hline
        H & I & J\\
        \hline
    \end{NiceTabular}
    
\end{document}

答案3

欢迎来到 TEX.SE!您应该更具体地说明表格“外部”数字与表格之间的距离。

一个可能的解决方案是:

\documentclass{article}
\NewExpandableDocumentCommand\mcc{O{1}m}
    {\multicolumn{#1}{c}{#2}}
\usepackage{array}

\begin{document}
    \begin{table}[htb!]
\centering
\renewcommand\arraystretch{1.6}
\begin{tabular}{|*{3}{w{c}{1em}|} }
\mcc[2]{}   & \mcc{2}   \\[1ex]
    \hline
\hphantom{3}
            &   1   &   \\
\hline
            &       &   \\
\hline
            &       &  \\
\hline
\end{tabular}
    \caption{3$\times$3 Magic Square}
\label{tab:my_label}
    \end{table}
\end{document}

在此处输入图片描述

另一个可能的解决方案是使用包blkarray

\documentclass{article}
\NewExpandableDocumentCommand\mcc{O{1}m}
    {\multicolumn{#1}{c}{#2}}
\usepackage{blkarray, bigstrut}

\begin{document}
\begin{table}
  \[
\begin{blockarray}{ccc}
    &   & 2 \bigstrut[b]    \\
\begin{block}{|c|c|c|}
\hline
\hphantom{3}
    & 1 &       \\
\hline
    &   &       \\
\hline
    &   &       \\
\hline
    \end{block}
\end{blockarray}
\]
    \caption{3$\times$3 Magic Square as array}
\label{tab:my_label}
    \end{table}
\end{document}

在此处输入图片描述

答案4

有了{NiceTabular}nicematrix就简单了。

\documentclass{article}
\usepackage{nicematrix}
\begin{document}

\begin{NiceTabular}{ccc}[hvlines,first-row]
  & 2 & \\
A & B & C \\
D & E & F \\
G & H & I
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容