
セル内のテキストを垂直中央に配置したいのですが、下部に留まります。行仕様は有効になっていないようです。m
垂直中央に配置する必要があります。
\documentclass{standalone}
\usepackage{tabularray}
\usepackage{tikz}
\usepackage{color}
\begin{document}
\tiny\begin{tblr}{
vspan=even, hspan=minimal,
vspan=even, hspan=minimal,
hline{1-Z}={black},
row{odd} = {gray!5},
colspec={Q[c] Q[l] Q[c] Q[l]},
rowspec={Q[m] Q[m]},
rowsep=1pt,
colsep=1pt,
row{1}={cmd=\textbf},
}
Offset & Name & Size & Value \\
0 & AAAA & 1 &
\tikz \node[align=left] {
0x00 – BBBB\\
0x01 – CCCC\\
0x02 – DDDD\\
0x03 – EEEE\\
0x04 – FFFF};
\\
\end{tblr}
\end{document}
答え1
Q[c, m]
テキストの配置を設定します。
TikZ ノードの調整では、baseline=(current bounding box.center)
中心に基づいて位置合わせするために使用します。
\documentclass{standalone}
\usepackage{tabularray}
\UseTblrLibrary{booktabs} %added here for better lines.
\usepackage{tikz}
\usepackage{color}
\begin{document}
\tiny
\begin{tblr}{
vspan=even, hspan=minimal,
hlines, vlines,
row{odd} = {bg=gray!5},
colspec={Q[c, m] Q[l, m] Q[c, m] Q[l, m]},
rowsep=1pt,
colsep=1pt,
row{1}={font=\bfseries},
}
Offset & Name & Size & Value \\
0 & AAAA & 1 &
\tikz[baseline=(current bounding box.center)]{
\node[align=left, anchor=center] {
0x00 – BBBB\\
0x01 – CCCC\\
0x02 – DDDD\\
0x03 – EEEE\\
0x04 – FFFF
};
}\\
\end{tblr}
\end{document}
答え2
tikz ノードの使用は不必要に複雑に思えます。代わりに複数行のセルを使用することもできます。
\documentclass{standalone}
\usepackage{tabularray}
\usepackage{tikz}
\usepackage{color}
\begin{document}
\begin{tblr}{
vspan=even, hspan=minimal,
vspan=even, hspan=minimal,
hline{1-Z}={black},
row{odd} = {gray!5},
colspec={Q[c] Q[l] Q[c] Q[l]},
rowspec={Q[m] Q[m]},
rowsep=1pt,
colsep=1pt,
row{1}={cmd=\textbf},
}
Offset & Name & Size & Value \\
0 & AAAA & 1 &
{0x00 – BBBB\\
0x01 – CCCC\\
0x02 – DDDD\\
0x03 – EEEE\\
0x04 – FFFF}\\
\end{tblr}
\end{document}