Circuitikz 电压方向又坏了

Circuitikz 电压方向又坏了

这个问题,有人提出,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版之前是默认的);europeanamerican

  • 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 安装。这样您就可以解决问题。

相关内容