
여기에서 이 코드 샘플을 찾았습니다.LaTeX의 블록 다이어그램 생성. 처음에 코드를 컴파일하는 동안 몇 가지 문제가 발생했는데 일부 문자가 변경된 복사 붙여넣기 기능으로 인해 문제를 해결했습니다. 제가 보기에는 코드가 올바른 것 같지만 다음 오류가 계속 발생합니다.
! Package tikz Error: Giving up on this path. Did you forget a semicolon?.
See the tikz package documentation for explanation.
Type H <return> for immediate help.
...
l.20 \draw [->] (controller)
�� node[name=u] {$u(k)$} (system);
?
나는 tikz 패키지를 처음 사용하기 때문에 오류를 볼 수 없으며 노드의 모든 부분에 세미컬럼이 있는 것 같습니다. 내가 여기서 무엇을 놓치고 있는 걸까요?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,automata}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\tikzstyle{block} = [draw, rectangle, minimum height=2em, minimum width=4em]
%fill=blue!20
\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]
\tikzstyle{input} = [coordinate] \tikzstyle{output} = [coordinate]
\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]
\begin{tikzpicture}[auto, node distance=2cm,>=latex']
\node [input, name=input] {};
\node [sum, right of=input] (sum) {};
\node [block, right of=sum, node distance=3.5cm] (controller) {$C(z^{-1})$};
\node [block, right of=controller, pin={[pinstyle]above:$d(k)$}, node distance=4cm] (system) {$P(z^{-1})$};
\draw [->] (controller) – node [name=u] {$u(k)$} (system);
\node [output, right of=system] (output) {};
\node [block, below of=u] (measurements) {$F(z^{-1})$};
\draw [draw,->] (input) – node {$r(k)$} (sum);
\draw [->] (sum) – node {$e(k)$} (controller);
\draw [->] (system) – node [name=y] {$y(k)$}(output);
\draw [->] (y) |- (measurements);
\draw [->] (measurements) -| node[pos=0.99] {$-$} node [near end] {$y_m(k)$} (sum);
\end{tikzpicture}
\end{document}
답변1
@Johannes_B님 말이 맞습니다. 누군가가 tikz를 사용한 적이 없을 때 너무 작은 것이 너무 많은 문제를 일으킬 수 있습니다. 귀하의 시간과 노력에 감사드립니다. 혹시 저와 같은 오류가 발생하실까봐 업데이트된 버전도 올려드리겠습니다.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,automata}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\tikzstyle{block} = [draw, rectangle, minimum height=2em, minimum width=4em] %fill=blue!20
\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]
\tikzstyle{input} = [coordinate] \tikzstyle{output} = [coordinate]
\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]
\begin{tikzpicture}[auto, node distance=2cm,>=latex']
\node [input, name=input] {};
\node [sum, right of=input] (sum) {};
\node [block, right of=sum, node distance=3.5cm] (controller) {$C(z^{-1})$};
\node [block, right of=controller, pin={[pinstyle]above:$d(k)$}, node distance=4cm] (system) {$P(z^{-1})$};
\draw [->] (controller) -- node [name=u] {$u(k)$} (system);
\node [output, right of=system] (output) {};
\node [block, below of=u] (measurements) {$F(z^{-1})$};
\draw [draw,->] (input) -- node {$r(k)$} (sum);
\draw [->] (sum) -- node {$e(k)$} (controller);
\draw [->] (system) -- node [name=y] {$y(k)$}(output);
\draw [->] (y) |- (measurements);
\draw [->] (measurements) -| node[pos=0.99] {$-$} node [near end] {$y_m(k)$} (sum);
\end{tikzpicture}
\end{document}