在 tikz 图的末端节点放置箭头和文本

在 tikz 图的末端节点放置箭头和文本

我是 LaTeX 新手。Tikz 对我来说完全是新东西。

我已经看过了如何缩放 TiKZ 图片的局部?

  1. 假设我想$a=(b,c)$在进入 S 的箭头的开头写字。怎么做?(根据上面的问题)

按照我的图片,我在将箭头放在 A 块前面时遇到了问题。

My try: I did the following modification to the code:

    initial text= $a=(b,c)$

a直到我在和之间放置 '=' 符号后它才开始工作(b,c)

  1. 接下来,我想在结束节点(根据我的图片是 D)后面放置一个箭头和文本。怎么做?

我的目标是创建如下图所示的图片-

在此处输入图片描述

答案1

如果没有一个最小工作示例,很难提供很大帮助。(S 在哪里?你在哪里尝试了该代码?)当然,当你的问题明显表明你确实有代码,只是选择不分享它,以至于人们不得不从头开始时,这种情况尤其令人沮丧。当然,这不太可能有帮助,因为我们只能猜测问题可能是什么。

也就是说,您发布的图像可以使用chains库和简单的循环轻松绘制,只需进行一些调整即可适应链的开始和结束。库quotes用于标记。scopes这里实际上不需要,但在使用时很有用chains,所以我将它包括在内,以防您的图表变得复杂。

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{chains,scopes,quotes,arrows.meta}
\begin{document}
\begin{tikzpicture}
  [
    start chain=main going right,
    every on chain/.append style={minimum width=25mm, minimum height=10mm, draw=green!50!yellow!60, thick, text centered},
    every join/.append style={-{Triangle[]}, draw=blue!50!cyan, thick},
    node distance=20mm
  ]
  \node (in) [shape=coordinate] {};
  {
    \chainin (in);
    \foreach \i/\j in {A/{$a=(b,c)$},B/{$x$},C/{$y$},D/{$z$}}
    \node (\i) [on chain, join=by {"\j"}] {\i};
    \node (out) [every on chain/.append style={draw=none, minimum width=0pt, minimum height=0pt}, on chain, join=by {"a"} ] {};
  }
\end{tikzpicture}
\end{document}

链接节点

答案2

我根据您之前提到的帖子创建了一个最小的、可工作的示例: latex4technics.com/?note=y917ox

梅威瑟:

\documentclass[10pt,letterpaper]{article}
\usepackage[left=1in,right=1in,top=1in,bottom=1in]{geometry} 
\thispagestyle{empty}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}

\usepackage[version=0.96]{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,automata,backgrounds,petri,positioning}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.shapes}
\usetikzlibrary{decorations.text}
\usetikzlibrary{decorations.fractals}
\usetikzlibrary{decorations.footprints}
\usetikzlibrary{shadows}

\begin{document}
    \begin{center}
        \begin{tikzpicture}[shorten >=1pt, node distance=3cm, auto, on grid, initial text={$a=(b,c)$},font=\small,>=stealth',
            every state/.style={minimum size=7mm,draw=black!50,very thick,fill=red!50}]

        \node[state,initial]        (S)                 {S};
        \node[state]                (A) [right=of S]    {A};
        \node[state]                (B) [below=of S]    {B};
        \node[state,accepting]      (C) [right=of B]    {C};

        \path[->]
        (S) edge[bend right]    node{a} (A)
        (S) edge[bend right]    node[xshift=-4mm]{$\lambda$} (B)
        (A) edge[bend right]    node[yshift=5mm]{a,b} (S)
        (A) edge[]              node{$\lambda$} (C)
        (A) edge[]              node[yshift=7mm]{b} (B)
        (B) edge[bend left]     node{b, $\lambda$} (C)
        (B) edge[bend right]    node[xshift=4mm]{a} (S)
        (C) edge[bend left]     node{a,b} (B)

        ; 
        \end{tikzpicture}
    \end{center}
\end{document}

你也可以阅读texample 上的 tikz 中的状态机作为介绍。

您能否具体说明您的第二个问题?您是否想从节点绘制箭头C正确的? 草图会有帮助!

相关内容