我正在尝试用乳胶制作一个阵列。
我的code
:
\begin{figure}[!h]
\centering
\begin{tikzpicture} [nodes in empty cells,
nodes={minimum size=10mm},
row sep=-\pgflinewidth, column sep=-\pgflinewidth]
border/.style={draw}
\matrix(vector)[matrix of nodes,
row 2/.style={nodes={draw=none, minimum width=0.4cm}},
nodes={draw}]
{
$a_i$ & $4$ & $7$ & \textit{italic} & \textbf{bold text} & $a[0]$ \\
\small{i} & \small{0} & \small{1} & \small{2} & \small{3} & \small{4} \\
};
\end{tikzpicture}
\caption{my caption}
\label{fig:array}
\end{figure}
但数组的边界失去了平衡,例如:
请建议我该如何解决这个问题? 或任何其他聪明的方法来画这个图形类型?
答案1
使用text height
和text depth
,并且|[fill=the-color-you-like]|
在单元格中您需要着色:
\documentclass{book}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture} [nodes in empty cells,
nodes={minimum size=10mm, text height=1.6ex, text depth=.4ex},
row sep=-\pgflinewidth, column sep=-\pgflinewidth]
border/.style={draw}
\matrix(vector)[matrix of nodes,
row 2/.style={nodes={draw=none, minimum width=0.4cm}},
nodes={draw}]
{
$a_i$ & $4$ & $7$ & |[fill=lightgray, font=\itshape]|italic & \textbf{bold text} & $a[0]$ \\
\small{i} & \small{0} & \small{1} & \small{2} & \small{3} & \small{4} \\
};
\end{tikzpicture}
\caption{my caption}
\label{fig:array}
\end{figure}
\end{document}
答案2
由于它实际上是一个表,因此有一个替代解决方案,tblr
其环境为tabularray
包裹:
\documentclass{book}
\usepackage{tabularray}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tblr}{
colspec = {Q[c,10mm]Q[c,10mm]Q[c,10mm]Q[c]Q[c]Q[c,10mm]},
colsep = 2pt, rowsep = 2pt,
rows={10mm}, row{2}={font=\small},
hline{1,2}, vlines = {1}{},
}
$a_i$ & $4$ & $7$ & \textit{italic} & \textbf{bold text} & $a[0]$ \\
i & 0 & 1 & 2 & 3 & 4 \\
\end{tblr}
\caption{my caption}
\label{fig:array}
\end{figure}
\end{document}