На этом рисунке я хочу удалить стрелку, которую я отметил. Что мне делать? Я прикрепил свой код ниже:
\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}
решение1
Анализ:
Проблема возникает с двумя последними \draw
утверждениями:
- вы вводите промежуточную точку
(point0)
- это нормально, так как иногда нет другого выбора
- однако,
\draw[->] ...;
за которым следует\draw[->] ...;
создание артефакта.
Решение:
Объедините два утверждения в одно:
- рисовать до (точка0)
\draw [->] (output) |- node[name=u] {} (point0)
- А затем просто перезапустите с той же позиции и завершите путь следующим образом:
(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
- что приводит к длинному заявлению:
\draw [->] (output) |- node[name=u] {} (point0)(point0) -- (input |- point0) |- ([yshift=-0.5cm] controller);
Это один из способов сделать это.
\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}