![在 tikz 中生成数学节点矩阵](https://linux22.com/image/299694/%E5%9C%A8%20tikz%20%E4%B8%AD%E7%94%9F%E6%88%90%E6%95%B0%E5%AD%A6%E8%8A%82%E7%82%B9%E7%9F%A9%E9%98%B5.png)
我正在绘制一系列具有许多平行边的图表,并yshift
根据需要用许多路径实例进行排版。
我想对所有图表使用相同的代码,但其中一些图表包含许多 displaystyle\bigoplus
或\prod
,这意味着我的节点很大并且节点中的文本不在中心。
这会导致箭头无法正确对齐。我想将所有箭头或所有来自 的节点移动一定量matrix of math nodes
。
我试过
postaction=decorate, decoration={raise=.5ex}
在数学节点矩阵上没有成功。
还有其他方法可以提高整个矩阵(或将某些东西应用于所有路径)吗?
简短示例代码
\documentclass[11pt,a4paper]{book}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,arrows,decorations}
\begin{document}
\begin{tikzpicture}[baseline=-2.6pt,description/.style={fill=white,inner sep=2pt}]
\matrix (m) [matrix of math nodes, column sep=1.5em, text height=2ex, text depth=.25ex, ]
{
\displaystyle \bigoplus_S Z & \displaystyle \bigoplus_{S \times S} Z & \displaystyle \bigoplus_{S \times S \times S} Z \cdots \\
};
\path[stealth-, line width=.5pt, font=\scriptsize]
(m-1-2) edge (m-1-3)
;
\path[transform canvas={yshift=.4ex}, stealth-, line width=.5pt, font=\scriptsize]
(m-1-1) edge (m-1-2)
;
\path[transform canvas={yshift=-.4ex}, stealth-, line width=.5pt, font=\scriptsize]
(m-1-1) edge (m-1-2)
;
\path[transform canvas={yshift=.8ex}, stealth-, line width=.5pt, font=\scriptsize]
(m-1-2) edge (m-1-3)
;
\path[transform canvas={yshift=-.8ex}, stealth-, line width=.5pt, font=\scriptsize]
(m-1-2) edge (m-1-3)
;
\end{tikzpicture}
\end{document}