在 中tablular
,我们使用{r|c|l}
来定义对齐。 是否有类似的内容Tikz matrix
。例如,通过使用matrix
,以下 MWE 生成节点矩阵,这些节点似乎对每列都居中对齐。
不过,我希望节点在第一列右对齐,中间一列居中对齐,而第三列左对齐。我该如何实现这个目标?(另请注意,节点可能有不同的样式)
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[align=center]
\matrix[matrix of nodes,row sep=0.5cm,column sep=2cm,
nodes={rectangle, draw}]{
col1 & col2 & col3 \\
col111111111 & col2222222222 & col33333\\
col1111 & col22222 & col3333333333 \\
};
\end{tikzpicture}
\end{document}
结果是:
答案1
Tikz 矩阵定义了样式column X
,允许为不同的列传递单独的选项(在本例中为锚点)。记录中,样式row X
与行的样式相同,您可以将两者结合起来以引用特定单元格。
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[align=center]
\matrix[matrix of nodes,row sep=0.5cm,column sep=2cm,
nodes={rectangle, draw},
column 1/.style={anchor=base east},
column 2/.style={anchor=base},
column 3/.style={anchor=base west}
]{
col1 & col2 & col3 \\
col111111111 & col2222222222 & col33333\\
col1111 & col22222 & col3333333333 \\
};
\end{tikzpicture}
\end{document}
更多信息请访问pgfmanual
(第 17.3.3 节)。