我想创建一个看起来像的表
我使用了这个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
}}