在这个问题,有人提出,Circuitikz 的最新版本颠倒了电池等符号的方向。解决方法是插入\tikzset{voltage dir = RP}
。在我重新安装系统软件(Mac OS)并安装 TeX Live 2019 之前,这对我来说一直有效。现在该行导致控制台错误I do not know the key '/tikz/voltage dir'
。发生了什么事?
编辑:更新所有包解决了该问题。
答案1
你的问题可能是一个简单的版本问题,因此请检查我需要使用其他版本的 circuitikz。我该怎么做?, 请。
但考虑到电压方向问题经常出现,我在这里引用一下手册(以及有人说,阅读文档非常危险):
开始自动引用手册第 4.6 节
不幸的是,组件中电流和电压的默认方向/符号不是标准的,并且可能因国家/地区而异,有时也可能因作者而异。这种不幸的情况在不同的版本中造成了 circuitikz 的混乱,从 0.5 版开始出现了一些不兼容的变化。从 0.9.0 版开始,维护人员同意了双极电压和电流方向的新政策,取决于 4 种不同的可能选项:
oldvoltagedirection
,或者按键样式:使用老方式,电压方向与方向voltage dir=old
有差异,电池默认标签错误(0.5版之前是默认的);european
american
nooldvoltagedirection
,或键样式voltage dir=noold
:从 0.5 版开始的标准,利用(德国?)电场方向电压箭头标准(不固定电池);RPvoltages
(表示上升电位电压),或键样式voltage dir=RP
:箭头指向上升电位的方向,如 中所示oldvoltagedirection
,但电池和电流源是固定的,因此它们遵循被动/主动标准:默认方向为五和我选择如下方式:当两个值都为正数时:- 在无源元件中,元件正在耗散功率;
- 在主动元件(发电机)中,元件正在产生电力。
EFvoltages
(表示电场电压),或键样式voltage dir=EF
:箭头指向电场方向,像在 中一样nooldvoltagedirection
,但电池是固定的;
请注意,这四种样式旨在在环境级别使用:也就是说,您应该在环境开始时使用它们,如\begin{circuitikz}[voltage dir=old]
...,而不是作为单个组件的键,在这种情况下无法保证行为。
停止自动引用
此外,除非您重新使用旧电路,否则最好的方法是使用您喜欢的选项加载包(可以说,RPvoltages
或者EFvoltages
应该是合乎逻辑的选择):
\usepackage[RPvoltages]{circuitikz}
并坚持下去。如果你不指定电压方向,就会出现一个很大的警告,但我正在考虑将其删除,似乎没人读过警告...
答案2
太期待评论了...
我使用安装了最新 MikTeX 版本(今天升级)的 Windows 机器以及一些简单的电路方案对您的 MWE 进行了测试:
\listfiles
\documentclass[border=3.14159]{standalone}
\usepackage{circuitikz}
\tikzset{voltage dir=RP}
\begin{document}
% \begin{circuitikz}
%\draw (0,0) to [sV=$Uq$] (0,2);
% \end{circuitikz}
\end{document}
MWE 上面的编译没有错误,没有警告,并且生成以下文件列表:
*File List*
standalone.cls 2018/03/26 v1.3a Class to compile TeX sub-files standalone
shellesc.sty 2019/11/08 v1.0c unified shell escape interface for LaTeX
ifluatex.sty 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
iftex.sty 2019/11/07 v1.0c TeX engine tests
xkeyval.sty 2014/12/03 v2.7a package option processing (HA)
xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
standalone.cfg 2018/03/26 v1.3a Default configuration file for 'standalone'
class
article.cls 2019/10/25 v1.4k Standard LaTeX document class
size10.clo 2019/10/25 v1.4k Standard LaTeX file (size option)
circuitikz.sty 2019/12/22{} The CircuiTikz circuit drawing package version 1
.0.0-pre1
tikz.sty 2020/01/08 v3.1.5b (3.1.5b)
pgf.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfrcs.sty 2020/01/08 v3.1.5b (3.1.5b)
everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty 2020/01/08 v3.1.5b (3.1.5b)
graphicx.sty 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)
trig.sty 2016/01/03 v1.10 sin cos tan (DPC)
graphics.cfg 2016/06/04 v1.11 sample graphics configuration
pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
pgfsys.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2020/01/08 v3.1.5b (3.1.5b)
pgfsysprotocol.code.tex 2020/01/08 v3.1.5b (3.1.5b)
xcolor.sty 2016/05/11 v2.12 LaTeX color extensions (UK)
color.cfg 2016/01/02 v1.6 sample color configuration
pgfcore.code.tex
pgfcomp-version-0-65.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfcomp-version-1-18.sty 2020/01/08 v3.1.5b (3.1.5b)
pgffor.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfkeys.sty
pgfkeys.code.tex
pgfmath.sty
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex
supp-pdf.mkii
epstopdf-base.sty 2019-12-09 v2.10 Base part for package epstopdf
***********
结果是空白页,或者如果我考虑circuitikz
方案示例,结果是预期的:
结论:我确认@Rmano 的回答 (+1)。请检查您在机器上编译此 MWE 时获得的软件包版本。如果您机器上的软件包日期和版本较旧,请更新您的 LaTeX 安装。这样您就可以解决问题。