将表格中的一列偏移为半行

将表格中的一列偏移为半行

我正在尝试为我的表格添加中间行。此图显示了我可以用表格做什么(上图)以及我想要得到什么(下图):

在此处输入图片描述

这是用诡计这使得源代码难以阅读,并且表格被转置。

有没有更好的方法?例如,有没有办法调整单元格或列的偏移量,就像我yshift在 TikZ 中所做的那样?

\documentclass{article}
\begin{document}
\begin{table}
\begin{tabular}{llll}

\multicolumn{4}{l}{\textbf{What I have}} \\
\quad a & b & c & d \\
\quad e & f & g & h \\
\quad i & j & k &  \\

\multicolumn{4}{l}{\textbf{What I want}} \\
\quad 
\begin{tabular}{@{}c@{}} a \\ e \\ i \end{tabular}
& \begin{tabular}{@{}c@{}} b \\ f \\ j \end{tabular}
& \begin{tabular}{@{}c@{}} c \\ g \\ k \end{tabular}
& \begin{tabular}{@{}c@{}} d \\ h \\ \end{tabular}

\end{tabular}
\end{table}
\end{document}

答案1

作为一种快速破解方法,您可以使用\multirow。缺点是您必须手动选择合适的宽度。

\documentclass{article}

\usepackage{multirow}
\begin{document}
\begin{table}
\begin{tabular}{llll}
\multicolumn{4}{l}{\textbf{What I have}} \\
\quad a & b & c & \multirow{3}{0.5cm}{d\linebreak h} \\
\quad e & f & g &  \\
\quad i & j & k &  \\
\end{tabular}
\end{table}
\end{document}

答案2

{NiceTabular}这是使用的解决方案nicematrix。该环境类似于经典环境{tabular}array),但也会在单元格、行和列下创建 PGF/Tikz 节点。可以将这些节点与 Tikz 一起使用,将您想要的任何内容放在任何位置。

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

\begin{NiceTabular}{ccc}
  a & b & c \\
  e & f & g \\
  i & j & k 
\CodeAfter
  \begin{tikzpicture}
    \node [right] at (2-|last) { d } ; 
    \node [right] at (3-|last) { h } ; 
  \end{tikzpicture}
\end{NiceTabular}

\end{document}

第一个代码的输出

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

\begin{NiceTabular}{ccc}
  a & b & c \\
  e & f & $\displaystyle \int_a^b f(x)\, dx$ \\
  i & j & k 
\CodeAfter
  \begin{tikzpicture}
    \node [right] at (2-|last) { d } ; 
    \node [right] at (3-|last) { h } ; 
  \end{tikzpicture}
\end{NiceTabular}

\end{document}

第二段代码的输出

答案3

与不错的@sam 答案(+1)类似,但带有tblr包装tabularray并规定了最后一张表列的宽度:

\documentclass{article}
\usepackage{tabularray}

\begin{document}
    \begin{table}
\begin{tblr}{colspec = {*{3}{l} Q[l, wd=1em]},
             cell{1}{Z} = {r=3}{}
             }
\quad a & b & c &   d h     \\
\quad e & f & g &           \\
\quad i & j & k &           \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

相关内容