如何在箭头末端放置标签以及如何在 TikZ 节点内断线?

如何在箭头末端放置标签以及如何在 TikZ 节点内断线?

我正在尝试复制此框图,但在某些细节上遇到了麻烦。这是我尝试复制的框图:

在此处输入图片描述

这就是我所拥有的:

在此处输入图片描述

我只需要帮助处理块中的字母,我无法将一个单词放在另一个单词下,还想使箭头线和头部更粗一些,最后我需要找到一种方法在箭头的右侧写一些内容。

这是第二张图的代码:

\documentclass{beamer} 
\usetheme{Boadilla}
\usepackage[utf8]{inputenc} 
\usepackage{tikz}  
\usepackage{mathtools} 
\usetikzlibrary{shapes,arrows} 
\usepackage{subfig} 
\usepackage{babel,blindtext} 
\usepackage{subcaption}

\usefonttheme{professionalfonts} % using non standard fonts for beamer
\usefonttheme{serif} % default family is serif

% \title{Ejemplo de Diseño de un Controlador}
\author{Julio Ortegón} 
% \institute{Universidad de los Andes} 
\date{}
\begin{document}

\maketitle

\begin{frame}{}

\centering

\bigskip 
\bigskip
    
\tikzstyle{block} = [draw, fill=white, rectangle, 
    minimum height=3em, minimum width=6em   ]
\tikzstyle{Fi} = [coordinate]
\tikzstyle{Rd} = [coordinate] 
\tikzstyle{Qd} = [coordinate]  
\tikzstyle{Qa} = [coordinate] 
\tikzstyle{Wd} = [coordinate] 
\tikzstyle{QCHP} = [coordinate]  
\tikzstyle{aRQ} = [coordinate] 
\tikzstyle{pinstyle} = [pin edge={to-,ultra thick,black}] 

\begin{tikzpicture}[auto, node distance=2cm,>=latex']
%Declara los nodos
\node [Fi, name=Fi] {}; 
\node [block, right of=Fi] (CHP) {\textbf{CHP} $n_W,n_Q$ };  
\node [QCHP, name =QCHP, right of=CHP,node distance = 2.5 cm] {}; 
\node [Qa,name=Qa, right of=QCHP, node distance = 2.5cm,label={right:$Q_a$}] {};
\node[aRQ,name=aRQ,above of=Qa, node distance = 1.5cm]{}; 
\node [block, right of=aRQ,node distance = 1.2cm] (WARG) {\textbf{WARG} };   
\node[Rd,name=Rd, right of=WARG, node distance = 2cm,label={right:$R_d$}] {};  
\node[Qd,name=Qd,below of=Qa,node distance = 1.5cm, right = 3.25cm,label={right:$Q_d$}]{};  
\node[Wd,name=Wd,below of=Qd,node distance = 1.5cm, right = 0.1cm,label={right:$W_d$}]{}; 

% \draw [->] (Controller1) -- node[name= ] {$ $} (system);
% \node [output, right of=system] (output) {};
% \node [block, below = 2 cm, right = 4cm] (Controller2) {$1+sK_h$}; 

%Ahora conectamos los bloques 

\draw [draw,->] (Fi) -- node {$F_i$} (CHP); 
\draw [->] (CHP) -- node {$Q^{\text{CHP}}$} (QCHP);  
\draw [->] (QCHP) -- node {$\alpha^{\text{CHP}}_{\text{aQ}}Q^{\text{CHP}}$} (Qa);   
\draw [->] (QCHP) |- node {$\qquad\qquad\qquad\;\; \alpha^{\text{CHP}}_{\text{RQ}}Q^{\text{CHP}}$} (aRQ);   
\draw [->] (WARG) -- node {} (Rd); 
\draw [->] (QCHP) |- node {$\qquad\qquad\qquad\;\; \alpha^{\text{CHP}}_{\text{QQ}}Q^{\text{CHP}}$} (Qd); 
\draw [->] (CHP) |- node {$\qquad\qquad\qquad\qquad\qquad\; W^{\text{CHP}}$} (Wd);


\end{tikzpicture}
\end{frame} 

 
\end{document}

我很感谢你的帮助。

答案1

我建议对你的代码做一些改进。

首先,我会使用\tikzset而不是\tikzstyle,因为通过这种方式定义多种样式要容易得多。

coordinate其次,您可以直接\coordinate在某个位置定义 s 并使用 来命名它们,而不是使用样式为 s 的空节点(name)。此命名技术也适用于节点。

然后,为了以后更容易放置标签节点,我添加了两个辅助坐标。我还调整了WARGWd节点的对齐方式。

pos您可以使用、abovebelow或选项对齐路径上的节点rightleft并将它们放置在路径中的正确位置:如果您将节点放在最后,它将被放在路径的末尾。您可以在一条路径上放置多个节点。

要在节点内设置换行符,您需要使用选项设置其对齐方式align。然后您可以使用\\插入强制换行符。

\documentclass[border=1mm, tikz]{standalone}
\usetikzlibrary{shapes,arrows} 

\usepackage{amsmath}

\begin{document}

\tikzset{
    block/.style={draw, fill=white, rectangle, 
    minimum height=3em, minimum width=6em},
    every path/.style={very thick},
}

\begin{tikzpicture}[auto, node distance=2cm, >=latex']
%Declara los nodos
\coordinate (Fi) at (0,0); 
\node [block, right of=Fi, align=center] (CHP) {\textbf{CHP} \\ $n_W,n_Q$};  
\coordinate [right of=CHP, node distance=2.5cm] (QCHP); 
\coordinate [right of=QCHP, node distance=2.5cm] (Qa);  
\coordinate [above of=Qa, node distance=1.5cm] (aRQ); 
\node [block, anchor=west] at (aRQ) (WARG) {\textbf{WARG}};   
\coordinate [right of=WARG, node distance=2cm] (Rd);  
\coordinate [below of=Qa, node distance=1.5cm, right=3.25cm] (Qd);  
\coordinate [below of=Qd, node distance=1.5cm] (Wd); 

\coordinate [below of=Qa, node distance=1.5cm] (helper 1);
\coordinate [below of=QCHP, node distance=3cm] (helper 2);

%Ahora conectamos los bloques 

\draw [->] (Fi) -- node {$F_i$} (CHP); 
\draw [->] (CHP) -- (QCHP) node[above, xshift=-20pt] {$Q^{\text{CHP}}$};  
\draw [->] (QCHP) -- (Qa) node[above, xshift=-30pt] {$\alpha^{\text{CHP}}_{\text{aQ}}Q^{\text{CHP}}$} node[right] {$Q_a$};   
\draw [->] (QCHP) |- (aRQ) node[above, xshift=-30pt] {$\alpha^{\text{CHP}}_{\text{RQ}}Q^{\text{CHP}}$};   
\draw [->] (WARG) -- (Rd) node[right] {$R_d$};
\draw [->] (QCHP) |- (helper 1) node[above, xshift=-30pt] {$\alpha^{\text{CHP}}_{\text{QQ}}Q^{\text{CHP}}$} -- (Qd) node[right] {$Q_d$};
\draw [->] (CHP) |- (helper 2) node[above, xshift=-20pt] {$W^{\text{CHP}}$} -- (Wd) node[right] {$W_d$};


\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容