创建一个表格,其中第一列移动行高的一半

创建一个表格,其中第一列移动行高的一半

我想创建一个看起来像的表

在此处输入图片描述

我使用了这个nicematrix包并创建了类似的东西

在此处输入图片描述

我发现在环境内添加规则很困难matrix。这是我的代码:

\begin{equation*}
  \begin{matrix}
    \begin{matrix}
       \\ a \\ a \\ a \\ a \\ a \\ a \\ a \\ a
    \end{matrix} &
    \begin{NiceMatrix}[first-row]
      r & \xi_1-\xi_2 & \xi_3-\xi_2 \\
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d \\ 
      b & c & d
    \end{NiceMatrix}
  \end{matrix}
\end{equation*}

我认为使用equation环境创建表可能会导致一些意外错误。此外,添加规则也很不方便。即使使用这个答案我仍然觉得自定义规则很困难。还有其他方法吗?

答案1

这是一个解决方案nicematrix

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

\usepackage{collcell}


\ExplSyntaxOn

\cs_new_protected:Nn \__Huang_cell:nn 
  { \tikz \node [anchor=center] at (#1-|1.5) { $#2$ } ; }

\NewDocumentCommand{\Cell}{m}
  { 
    \int_compare:nNnTF { \arabic{iRow} } = 0 
      { #1 }
      {
        \tl_gput_right:Nx \g_nicematrix_code_after_tl 
          {  \__Huang_cell:nn { \int_eval:n { \arabic{iRow} + 1 } } { #1 } }
      }
  }

\ExplSyntaxOff

\begin{document}

\NiceMatrixOptions{cell-space-limits=3pt}

\begin{equation*}
\begin{NiceArray}[first-row]{>{\collectcell{\Cell}}w{c}{1cm}<\endcollectcell|c|c|c|}
         &  r & \xi_1-\xi_2 & \xi_3-\xi_2 \\
x        &  \Block[hvlines]{*-*}{}
            b & c & d \\ 
         &  b & c & d \\ 
a        &  b & c & d \\ 
a        &  b & c & d \\ 
a        &  b & c & d \\ 
a+b      &  b & c & \dfrac{d}{e} \\ 
a        &  b & c & d \\ 
x        &  b & c & d \\ 
         &  b & c & d
\CodeAfter
  \tikz \foreach \x in {1,...,9} \draw (\x.5-|1) -- (\x.5-|2) ; 
  \tikz \draw (1.5-|1) -- (\arabic{iRow}.5-|1) ; 
\end{NiceArray}
\end{equation*}

\end{document}

上述代码的输出

答案2

\hbox这是正确使用、\vbox\hrule和原语的练习\vrule

\def\mb#1{\hbox to2.5em{\vrule height1.2em depth.5em\hss#1\hss}}
\def\mt#1{\hbox to2.5em{\hss$\scriptstyle#1$\hss}}
\let\hr=\hrule

\vbox{
   \hbox{\mt{\Delta r}\mt{r}\mt{\xi_1-\xi_2}\mt{\xi_3-\xi_4}}
   \smallskip
   \hbox{\offinterlineskip
     \raise 1.3ex\vbox{\hr\mb{a}\hr\mb{a}\hr\mb{a}\hr\mb{A}\hr}%
     \vbox{\hr\mb{b}\mb{b}\mb{b}\mb{b}\mb{B}\hr}%
     \vbox{\hr\mb{c}\mb{c}\mb{c}\mb{c}\mb{C}\hr}%
     \vbox{\hr\mb{d}\mb{d}\mb{d}\mb{d}\mb{D}\hr}%
     \vrule
}}

相关内容