此代码
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}
\begin{document}
\begin{figure}[h!]
\begin{center}
\begin{circuitikz}
\draw (0,0) to[C=$ASCII_TEXT$] (2,0); % The capacitor
\end{circuitikz}
\caption{My first circuit.}
\end{center}
\end{figure}
\end{document}
生产正确的结果(没有错误,没有警告,dvi输出OK)
但 此代码
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}
\begin{document}
\begin{figure}[h!]
\begin{center}
\begin{circuitikz}
\draw (0,0) to[R=$ASCII TEXT$] (2,0); % The resistor
\end{circuitikz}
\caption{My first circuit.}
\end{center}
\end{figure}
\end{document}
生产结果正确,但我认为有很多警告。dvi 输出正常。
/usr/share/texlive/texmf-local/texmf-compat/tex/generic/circuitikz/pgfcirccurr ent.tex)
(/usr/share/texlive/texmf-local/texmf-compat/tex/generic/circuitikz/pgfcircpath .tex)) (./circuit1.aux) ABD: EveryShipout initializing macros ! Undefined control sequence.
\pgf@sh@bg@resistorshape ...sformationadjustments \pgfmathsetlength {\pgf@ci...
l.12 to[R=$ASCII TEXT$] (2,0) ; % The resistor
? ! Undefined control sequence.
<argument> ...fhorizontaltransformationadjustment *0.5*\pgflinewidth
l.12 to[R=$ASCII TEXT$] (2,0) ; % The resistor
? ! Missing number, treated as zero.
<to be read again>
l.12 to[R=$ASCII TEXT$] (2,0) ; % The resistor
? ! Undefined control sequence.
<argument> ...fhorizontaltransformationadjustment *0.5*\pgflinewidth
l.12 to[R=$ASCII TEXT$] (2,0) ; % The resistor
? ! Missing number, treated as zero.
<to be read again>
p
l.12 to[R=$ASCII TEXT$] (2,0) ; % The resistor
? [1] (./circuit1.aux) )
我做错了什么?
这是来自 circuitikz 文档的示例代码 http://ftp.math.purdue.edu/mirrors/ctan.org/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
\begin{circuitikz}
\draw (0,0) to[R=$R_1$] (2,0);
\end{circuitikz}
类似的代码在这里可以正常工作 https://www.overleaf.com/read/qnwsxtprwvvc
答案1
问题似乎是水平变换调整命令,它只用于电阻器(而不是电容器或电感器)来纠正线路的开始/结束。
也许您的 tikz/pgf 版本太旧,它应该与 texlive2015 和最新更新兼容。如果您使用的是 Texlive2015,请使用 tlmgr 进行更新,或安装最新的 Texlive2016。
我认为 centos-packages 太旧了,就像 ubuntu 的一样。所以直接用 webinstaller 安装即可https://www.tug.org/texlive/acquire-netinstall.html
答案2
在安装了最新 Miktex 更新的 TexWork 中,它运行良好,没有任何错误。我没有收到任何警告。也许你需要更新你的软件包 :-)
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}
\begin{document}
\begin{figure}[htp!]
\begin{center}
\begin{circuitikz}
\draw (0,4) to[C=$ASCII_TEXT$] (2,4); % The capacitor
\draw (0,2) to[R=$ASCII_TEXT$] (2,2); % The resistor
\draw (0,0) to[L=$ASCII_TEXT$] (2,0); % The inductor
\end{circuitikz}
\caption{My first circuit.}
\end{center}
\end{figure}
\end{document}