Circuitikz - R(电阻不编译

Circuitikz - R(电阻不编译

看起来几乎不能再简单了。我尝试编译这个测试电路:

\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。所以这个问题暂时解决了。

仍然不明白为什么不允许采用美国风格,但至少我的项目不再停滞不前。

杰林克尔斯

相关内容