使用 TikZ 定位链复合体中的节点

使用 TikZ 定位链复合体中的节点

我想要获得如下的链式复合体:

在此处输入图片描述

为了得到这个,我使用了这个代码:

\begin{center}
\begin{tikzpicture}[start chain] {
    \node[on chain] {$\underset{v \in \Delta_0 ^0} \bigoplus I(v)$} ;
    \node[on chain] {$0$}; }
\end{tikzpicture}
\end{center}

但直接求和的定位在结果上并不正确。

我怎样才能将直接和的位置正确设置为图像?谢谢。

答案1

正如 Zarko 所说,不清楚为什么你需要蒂克兹来做到这一点,你可以使用

 \[\bigoplus_{v \in \Delta_0 ^0} I(v) \longrightarrow 0\]

如果你真的想使用蒂克兹那么我推荐一个matrix of math nodes

下列最小工作示例展示了如何使用数学节点矩阵和链库将其作为简单方程来实现:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix,chains}
\begin{document}

\[\bigoplus_{v \in \Delta_0 ^0} I(v) \longrightarrow 0\]

\begin{center}
  \begin{tikzpicture}[>=stealth]
    \matrix (M)[matrix of math nodes,
        column sep=10mm, nodes={anchor=center}]{
      \displaystyle\bigoplus_{v \in \Delta_0 ^0} I(v)&0\\
     };
     \draw[->](M-1-1)--(M-1-2);
  \end{tikzpicture}
\end{center}

\begin{center}
  \begin{tikzpicture}[start chain, every join/.style=->] {
      \node[on chain] {$\underset{v \in \Delta_0 ^0} \bigoplus I(v)$} ;
      \node[on chain, join] {$0$}; }
  \end{tikzpicture}
\end{center}

\end{document}

得出的结果为:

在此处输入图片描述

样式nodes={anchor=center}中的确保从到的\matrix箭头是水平的,这些节点是 tikz 分别针对第 1 行和第 1 列和第 2 列中的矩阵条目提供的简写。我还有“隐形”箭头。(M-1-1)(M-1-2)

对于链示例,请注意,您需要通过添加来指定要连接的节点join,并且我已将其设置every join/.style=->为使连接为箭头而不是边。

答案2

如果你坚持使用tikz(而不考虑我上面的评论),那么看看第一个的以下修改安德鲁可以接受的示例如下tikz

\documentclass[tikz, preview, margin=3mm]{standalone}
\usetikzlibrary{matrix,chains}

\begin{document}
\begin{tikzpicture}[>=stealth, baseline]% added "baseline"
\matrix (M) [matrix of math nodes,
             column sep=7mm]% removed options for node
{
\displaystyle\bigoplus_{v \in \Delta_0 ^0} I(v)&0\\
};
\draw[->](M-1-1.east |- M-1-2) -- (M-1-2);% changed coordinates for arrow
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容