Tikz 自动机中的矩形节点没有轮廓

Tikz 自动机中的矩形节点没有轮廓

首先我要说的是,我对 Tikz 非常不熟悉,我刚刚编辑了一个模板。这个模板是用于绘制马尔可夫链时的状态图。现在,我想要方形节点而不是圆形节点,因为我正在做一些不同的事情;文本需求导致圆形太大。我宁愿要一个矩形。

我有:

\documentclass[a4paper, 12pt, fleqn]{article}
\usepackage{tikz} 
\usetikzlibrary{automata, positioning, shapes}

\being{document}

\begin{figure}[H]
    \centering
    \begin{tikzpicture}[node distance=6.5cm, auto]
       \node[state] (TL) {$102$ JPY/USD}; 
       \node[state, accepting] (BL) [below of=TL] {$(1+r_{USD})$ USD};
       \node[rectangle] (TR) [right of=TL] {$102$ JPY};
       \node[state] (BR) [below of=TR] {$(1+r_{JPY})$ JPY};
 
       \path[->]
        (TL) edge node {$1 \text{USD} \times 102 \text{JPY}$} (TR)
        (TL) edge node {$r_{USD}$} (BL)
        (TR) edge node {$r_{JPY}$} (BR)
        (BR) edge [bend left] node {$1 \text{USD} \times 102 \text{JPY}$} (BL)
       ;
    \end{tikzpicture}
    \caption{Covered Interest Rate Parity}
 \end{figure}

\end{document}

但是 TR 节点周围没有轮廓。我尝试了在 Google 上找到的一堆不同关键字,但似乎只有“node”有效。没有简单的关键字选项可以得到一个矩形吗?

答案1

在节点的选项中添加“绘制”到“矩形”:

...
\node[rectangle, draw] (TR) [right of=TL] {$102$ JPY};
...

默认情况下,tikz 不会绘制节点。

答案2

我会按照以下方式绘制你的图像:

  • 定义图表中使用的所有节点样式
  • position使用包中定义的位置语法
  • 在节点中启用多行(两行)文本
\documentclass[a4paper, 12pt, fleqn]{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, automata, 
                positioning, 
                quotes}
\usepackage{amsmath}
\usepackage[low-sup]{subdepth}

\begin{document}
    \begin{figure}[ht]
    \centering
    \begin{tikzpicture}[
      node distance = 44mm and 66mm, on grid,
state/.append style = {semithick, align=center, inner sep=1pt},
         rct/.style = {draw},
  every edge/.style = {draw, -Straight Barb, semithick},
every edge quote/.style = {auto, font=\small}
                        ]
\node[state] (TL) {102\\ JPY/USD};
\node[state, accepting] (BL) [below=of TL] {$(1+r_{\text{USD}})$\\ USD};
\node[rct]   (TR) [right=of TL] {102 JPY};
\node[state] (BR) [below=of TR] {$(1+r_{\text{JPY}})$\\ JPY};
%
\path   (TL) edge ["$1\,\text{USD} \times 102\,\text{JPY}$"] (TR)
        (TL) edge ["$r_{\text{USD}}$"] (BL)
        (TR) edge ["$r_{\text{JPY}}$"] (BR)
        (BR) edge [bend left, "$1\,\text{USD} \times 102\,\text{JPY}$"] (BL)
        ;
    \end{tikzpicture}
\caption{Covered Interest Rate Parity}
    \end{figure}
\end{document}

在此处输入图片描述

笔记: 在节点样式中通常定义:

  • 形状类型(矩形、圆形、椭圆形等)
  • 边框形状(绘制、加粗线条)
  • 尺寸(宽度,高度)
  • 文字与边框、边框与周围之间的分隔
  • ETC。
  • 其中一些属性有默认值(如inner sepouter sep
  • 详情请参阅TikZ 和 PGF 手册, 章节17 节点和边

相关内容