我正在尝试编译这个电路:
\documentclass[10pt,a4paper]{article}
\usepackage{circuitikz}
\begin{document}
\begin{circuitikz} \draw
(0,0) to[V=1<\volt>] (0,2)
{ to[R=1<\ohm>, color=red] (2,2) }
to[C=1<\farad>] (2,0) -- (0,0) ;
\end{circuitikz}
\end{document}
但后来我收到这个错误:
! Undefined control sequence.
\pgfk@/tikz/circuitikz/bipole/voltage/label/name ...
>
l.6 (0,0) to[V=1<\volt>] (0,2)
我从手册 (第 53 页,版本 0.8.3) 中逐字逐句地复制了此示例。我使用 Tikz 版本 3.0.0 和 circuitikz 0.3.0 编译了此示例。
circuitikz 已经完全过时了(运行 Debian Jessie),但我无法在不破坏其他东西的情况下对该系统进行分布式升级。
我从 GitHub 下载了 circuitikzgit.sty 并将其放在当前工作目录中。更改为
\usepackage{circuitikzgit}
但问题仍然完全相同。日志文件报告了新的circuitikzgit的加入。
据我所知,circuitikz 的唯一要求是 Tikz >= 3.0。确实如此。在这台机器上,我没有遇到 Tikz 的其他问题,而且我正在使用仅在 Tikz 3.0 中可用的功能。
我不确定这是版本问题还是其他问题。
答案1
您缺少siunitx
软件包。我怀疑这是因为文档中显示的单位CircuiTikZ
与 非常相似siunitx
:\kilo\ohm
。
该文档(我的版本)的第 1.5 节说道:
1.5 要求
- 钛钾Z,版本≥2;
- xstring,不早于2009/03/13;
- siunitx,如果使用 siunitx 选项。
后来又说:
• siunitx:与 SIunitx 包集成。如果标签、电流或电压的形式为#1<#2>
,则实际显示的是\SI{#1}{#2}
;