我正在尝试使用 TikZ 创建一个表
- 第一列右对齐,并且每个单元格中的文本位于同一行
- 其余列居中对齐,每列宽度为 1cm
我的尝试如下:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix(dict)[matrix of nodes,below=of game,
nodes={align=center,text width=1cm},
row 1/.style={anchor=south},
column 1/.style={text width=2cm,align=right},
]{
meaning & $b_1$ & $b_2$ & $b_3$ & $b_1b_2$ & $b_1b_3$ & $b_2b_3$ & $b_1b_2b_3$\\
common list \\
private list\\
};
\draw(dict-1-1.south west)--(dict-1-8.south east);
\draw(dict-1-1.north east)--(dict-3-1.south east);
\end{tikzpicture}
\end{document}
输出结果并不理想,因为单元格dict-2-1
和中的文本分布在两行中。此外,尽管在之后指定了dict-3-1
第 1 列中的文本,但它并未右对齐。column 1/.style
node/.style
我应该怎么办?
答案1
评论
这只是@Qrrbrbirlbel的评论已转化为答案。
执行
\documentclass[tikz]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix(dict)[matrix of nodes,%below=of game,
nodes={align=center,text width=1cm},
row 1/.style={anchor=south},
column 1/.style={nodes={text width=2cm,align=right}}
]{
meaning & $b_1$ & $b_2$ & $b_3$ & $b_1b_2$ & $b_1b_3$ & $b_2b_3$ & $b_1b_2b_3$\\
common list \\
private list\\
};
\draw(dict-1-1.south west)--(dict-1-8.south east);
\draw(dict-1-1.north east)--(dict-3-1.south east);
\end{tikzpicture}
\end{document}