答え1
のと。{NiceArray}
nicematrix
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
$\begin{NiceArray}{c|c|c|c}
\Block{1-2}{\scriptstyle S}& \Block{1-2}{\scriptstyle S} & \Block{1-2}{\scriptstyle S} & \\
\hline
1 & 2 & \hphantom{1} & 1 \\
\hline
2 & & & \\
\hline
\end{NiceArray}$
\end{document}
列の幅が同じでない場合は、S
Tikz (および によって作成された PGF/Tikz ノードnicematrix
) を使用して、上記の垂直ルールを配置できます。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
$\begin{NiceArray}{c|c|c|c}
\hline
1 & 2 & 123478 & 1 \\
\hline
2 & & & \\
\hline
\CodeAfter
\tikz \foreach \i in {2,3,4} \node at (1-|\i) [above] { $\scriptstyle S$ } ;
\end{NiceArray}$
\end{document}
答え2
とtabularray
:
\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\newlength{\mylen}
\settowidth{\mylen}{2}
\newsavebox{\mysep}
\sbox{\mysep}{\scriptsize\bfseries\textit{S}}
\begin{document}
\begin{tblr}{
columns={wd=\mylen},
cells={c,m},
hline{2-Z}={leftpos=-1, rightpos=-1, endpos},
vline{2-Y}={2-Z}{},
vline{2-4}={1}{text=\clap{\usebox{\mysep}}},
}
&&&\\
1&2&&1\\
2&&&2\\
\end{tblr}
\end{document}
答え3
ここでは、2 つの表形式を使用するハッキーな方法を紹介します。
コード
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}[1]{>{\hspace{0pt}\centering\arraybackslash}p{#1}}
\begin{document}
\noindent
\begin{tabular}{ C{1mm} *{3}{C{4mm}}}
& S & S & S
\end{tabular}
\noindent
\renewcommand{\arraystretch}{2}
\begin{tabular}{ C{4mm} *{3}{|C{4mm}} }
\hline
1 & 2 & & 1\\ \hline
2 & & & 2\\ \hline
\end{tabular}
\end{document}
結果
答え4
のような環境ではtabular
、列タイプ間の を介して列セパレーターとしてテキストを挿入できます@{}
。一方、 は1 つのセルの列タイプを再定義できます。したがって、あなたの場合は、最初の行にマクロ\multicolumn
のチェーンを追加するだけで済みます。これにより、幅がゼロのボックスが作成されます。そうしないと、セル間のスペースに影響します。\multicolumn{1}{c@{\clap{$S$}}}
\clap
S
すべてのセルの幅が同じになるように、カスタム列タイプ 、 、 を定義しますL
。C
ただしR
、必ずしもそれが必要なわけではありません。
\documentclass{article}
\usepackage{array}
\newcolumntype{C}{>{\centering\arraybackslash}p{0.35cm}}
\newcolumntype{L}{>{\raggedright\arraybackslash}p{0.35cm}}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{0.35cm}}
\newcommand\mc{\multicolumn{1}{c@{\clap{$S$}}}{}}
\begin{document}
\begin{table}
\centering
\begin{tabular}{@{} L *2{|C} | R @{}}
\mc & \mc & \mc & \\
\hline
1 & 2 & & 1 \\
\hline
2 & & & 2 \\
\hline
\end{tabular}
\end{table}
\end{document}