In dieser Abbildung möchte ich den von mir markierten Pfeil löschen. Was soll ich tun? Ich habe meinen Code unten angehängt:
\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{arrows,calc,positioning}
\tikzset{
block/.style = {draw, rectangle,
minimum height=1cm,
minimum width=2cm},
input/.style = {coordinate,node distance=1cm},
out/.style = {coordinate,node distance=4cm},
output/.style = {coordinate,node distance=1cm},
arrow/.style={draw, -latex,node distance=2cm},
pinstyle/.style = {pin edge={latex-, black,node distance=2cm}},
sum/.style = {draw, circle, node distance=1cm},
point/.style = {draw, fill=black, circle, minimum size=0.08mm, node distance=1.5cm, inner sep=0pt},
}
\begin{document}
\begin{center}
\begin{tikzpicture}[auto,>=latex']
% Start by placing nodes
\node [input, name=input] {};
\node [block, right=1cm of input] (controller) {{$?$}};
\node [block, right=1cm of controller] (system) {$\mathcal {A},\mathcal {B}$};
\node [block, right=1cm of system] (C) {$\mathcal {C}$};
\node [output, right=1cm of C] (output) {};
%\node [block, below=1cm of C] (L) {{$L$}};
\node [point, below =1cm of C] (point0){};
% Connect away!
\draw [->] ([xshift=-1cm] input) -- (input) -- node {$u$} (controller);
\draw [->] (controller) -- (system);
\draw [->] (system) -- (C);
\draw [->] (C) -- node [name=y] {$y$} (output) -- ([xshift=1cm] output);
\draw [->] (system) -- node [name=x] {$x$} (C);
\draw [->] (output) |- node[name=u] {} (point0);
\draw [->] (point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
\end{tikzpicture}
\end{center}
\end{document}
Antwort1
Analyse:
Das Problem entsteht bei den letzten beiden \draw
Aussagen:
- Sie führen einen Zwischenpunkt ein
(point0)
- das ist in Ordnung, denn manchmal gibt es keine andere Wahl
\draw[->] ...;
gefolgt von „ erstellt“ jedoch\draw[->] ...;
das Artefakt.
Lösung:
Fügen Sie die beiden Anweisungen zu einer zusammen:
- ziehen bis (Punkt0)
\draw [->] (output) |- node[name=u] {} (point0)
- UND dann einfach an der gleichen Stelle neu starten und den Pfad folgendermaßen beenden:
(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
- was zu einer langen Anweisung führt:
\draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
Das ist eine Möglichkeit, es zu tun.
\documentclass[]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{arrows,calc,positioning}
\tikzset{
block/.style = {draw, rectangle,
minimum height=1cm,
minimum width=2cm},
input/.style = {coordinate,node distance=1cm},
out/.style = {coordinate,node distance=4cm},
output/.style = {coordinate,node distance=1cm},
arrow/.style={draw, -latex,node distance=2cm},
pinstyle/.style = {pin edge={latex-, black,node distance=2cm}},
sum/.style = {draw, circle, node distance=1cm},
point/.style = {draw, fill=black, circle, minimum size=0.08mm, node distance=1.5cm, inner sep=0pt},
}
\begin{document}
\begin{center}
\begin{tikzpicture}[auto,>=latex']
% Start by placing nodes
\node [input, name=input] {};
\node [block, right=1cm of input] (controller) {{$?$}};
\node [block, right=1cm of controller] (system) {$\mathcal {A},\mathcal {B}$};
\node [block, right=1cm of system] (C) {$\mathcal {C}$};
\node [output, right=1cm of C] (output) {};
%\node [block, below=1cm of C] (L) {{$L$}};
\node [point, below =1cm of C] (point0){};
% Connect away!
\draw [->] ([xshift=-1cm] input) -- (input) -- node {$u$} (controller);
\draw [->] (controller) -- (system);
\draw [->] (system) -- (C);
\draw [->] (C) -- node [name=y] {$y$} (output) -- ([xshift=1cm] output);
\draw [->] (system) -- node [name=x] {$x$} (C);
\draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
\end{tikzpicture}
\end{center}
\end{document}