看起来几乎不能再简单了。我尝试编译这个测试电路:
\documentclass[10pt,a4paper]{article}
\usepackage[siunitx]{circuitikzgit}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[dcisource=1A, i_=$i_1$] (2,0);
\draw (0,2) to[C] (2,2);
\draw (0,4) to[R] (2,4);
\end{circuitikz}
\end{document}
然后它被 R 卡住了:
Undefined control sequence.
\pgf@sh@bg@resistorshape ...sformationadjustments
\pgfmathsetlength {\pgf@ci...
l.8 \draw (0,4) to[R] (2,4)
;
dcisource 和 C 仅用于确保 circuitikz 总体上能够正常工作。如果我交换 R 和 C,结果是一样的,这是 R 上的错误。因此我确信这不是绘图语句中的错误。
我下载了 circuitikzgit.sty 从 GitHub 下载并放置在当前工作目录中。我的 Debian 版本中的 circuitikz 太旧了(0.3),并导致了很多其他问题。我已验证加载了 circuitikzgit,而不是旧版本。
我有 Tikz 3.0
xstring 2013/10/13
siunitx 2014/10/01 v2.6c
我看不到我犯的任何错误。这是错误吗?
答案1
我已经解决了替代问题\usepackage[siunitx]{circuitikz}
,\usepackage[siunitx]{circuitikzgit}
代码运行良好(见图)。在网站上https://github.com/circuitikz/circuitikz可以看到如果想要使用或者尝试 git 版本,只需要在包名后面加一个 git 即可:
\usepackage{circuitikzgit}
o,根据 ConTeXt,
\usepackage[circuitikzgit]
笔记
使用最新的 Git 版本可以按照以下步骤使用最新的 git 版本:
circuitikzgit.sty
在这里下载https://circuitikz.github.io/circuitikz/circuitikzgit.sty
将其放入您的本地 latex 项目中或(供全局使用)您的本地 texmf 树中(通常)使用而不是~/texmf
加载包 可以分别使用 latex 命令和来检查所使用的 circuitikz 版本。\usepackage{circuitikzgit}
\usepackage{circuitikz}
\pgfcircversion
\pgfcircversiondate
这也可用于在升级之前检查最新版本的兼容性问题。因此只需在两个\usepackage
命令之间切换即可。
\documentclass[10pt,a4paper]{article}
\usepackage[siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (0,0) to[dcisource=1A, i_=$i_1$] (2,0);
\draw (0,2) to[C] (2,2);
\draw (0,4) to[R] (2,4);
\end{circuitikz}
\end{document}
答案2
解决了!在 circuitikz 选项中添加了 [european]。
\usepackage[siunitx,european]{circuitikz}
我不知道真正的原因,但无论如何我都想使用 EU stype。所以这个问题暂时解决了。
仍然不明白为什么不允许采用美国风格,但至少我的项目不再停滞不前。
杰林克尔斯