表格中部分斜率仅占部分分数

表格中部分斜率仅占部分分数

例子:

\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\cline{1-1}\cline{2-2}
3 & 4 \\
\hline
\end{tabular}

我只想cline覆盖表格的一半单元格。或者我可以指定行开始的偏移量(例如跳过第一个厘米)。

这很容易实现吗?

(一种解决方法是引入另一列,然后multicolumn在各处使用。但这有点烦人。另外,我也不确定如何控制列的宽度。可能相关。)

看起来非常相关。我没有通过 Google 找到这个。也许可以将其标记为重复。虽然这个解决方案对我来说不太管用(我遇到了一些错误),而且我不太理解它。我认为对于其他使用我的 Google 搜索词来找到这个的人来说,发布这篇文章仍然很有价值。)

答案1

使用 tikz 和 nicematrix 很容易。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{cc}[cell-space-top-limit=4pt]
    1 & 2 \\
    3 & 4 \\
    \CodeAfter
    \tikz\draw (3 -| 1) rectangle (1 -| 3);
    \tikz\draw (1 -| 2) -- (3 -| 2);
    \tikz\draw[red] ($(2 -| 1)!0.5!(2 -| 2)$) -- (2 -| 3);
\end{NiceTabular}
\end{document}

在此处输入图片描述

答案2

我找到了一个解决方案(改编自这里):

\makeatletter
\def\cpartlineleft#1{\@cpartlineleft#1\@nil}
\def\@cpartlineleft#1,#2\@nil{%
  \omit
  \@multicnt#1%
  \advance\@multispan\m@ne
  \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
  \@multicnt#1%
  \advance\@multicnt-#1%
  \advance\@multispan\@ne
  \kern#2
        \leaders\hrule\@height\arrayrulewidth\hfill
        \leaders\hrule\@height\arrayrulewidth\hfill
  \cr
  \noalign{\vskip-\arrayrulewidth}}
\makeatother

然后我可以将其用作:

\begin{tabular}{|c|c|}
\hline
1 & 2 \\
\cpartlineleft{1,1em}\cline{2-2}
3 & 4 \\
\hline
\end{tabular}

相关内容