在此圖中,我想刪除我標記的箭頭。我該怎麼辦?我在下面附上了我的程式碼:
\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[->] ...;
創建工件。
解決方案:
將兩個語句合併為一個:
- 繪製直到 (point0)
\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}