我有一个circuitikz
在一种配置上运行良好的程序,但在另一种配置上运行不佳;例如:
\begin{circuitikz}
\draw (0,0) node[dipchip]{CHIP1};
\end{circuitikz}
在一台计算机上运行正常,但在另一台计算机上却出错。这是怎么回事?
错误类似于:I do not know the key /tikz/dipchip/
或类似于不存在的/tikz/circuitikz/
键。
答案1
这最有可能的问题在于,circuitikz
两个安装中的 版本不同。要检查这一点,请在源文档中的某个位置输入以下命令\pgfcircversion
:
Circuitikz version here is \pgfcircversion{} released on \pgfcircversiondate{}.
您将获得,例如(我的个人安装):
或者,2020 年 1 月 18 日在 Overleaf 上发布:
请注意,如果您的文档是一张独立的图片,您可能需要将这些命令放在节点中,例如
\draw (0,0) node {version: \pgfcircversion};
等等。
现在你可以看看手册(最新版本位于http://circuitikz.github.io/circuitikz/circuitikzmanualgit.pdf--- 接近尾声时变更日志例如,该部分将告诉您该芯片是在 0.9.0 版本中添加的)。
因此,现在您的电路不工作可能有两种情况:
- (最有可能)您需要升级
circuitikz
出现故障的系统;或者 - (可能发生)您遇到了向后兼容性问题或新版本中引入的错误。
在情况 1:我需要/想要更新circuitikz
,如果你在自己的本地系统上,你有几个选择 --- 所有这些都在这个很好的答案。基本上,你可以(详细信息在链接的答案中有解释!):
- 更新你的 TeX/LaTeX 安装(如果你使用的是发行版软件包,比如 Ubuntu,这通常是不可能的);
- 下载最新版本来自CTAN或者来自 GitHub并将其安装在您的本地
TEXMF
树中; - 如果你使用在线服务,你可以使用
circuitikzgit
下面解释的技巧——例如,这将在背面。
在情况 2 (我需要降级),你最好的选择仍然是升级到最新版本并使用内部回滚函数;在 1.4.0 之前它处于非常黑客的状态,但在该版本之后,您只需使用标准回滚即可\usepackage[options]{circuitikz}[=v1.1.2]
。
使用circuitikzgit
hack(升级和降级)
以一种更“黑客”的方式(它将会打破如果你使用任何包依赖于取决于circuitikz
;我认为目前还没有,但你永远不知道)你可以使用另一种机制:circuitikz
提供一种可以在情况 1 和情况 2 中使用的方法 --- 在紧急情况下更容易应用,但如前所述有点危险。如果你转到页面https://circuitikz.github.io/circuitikz/您将看到已发布版本的列表:
转到您想要使用的版本的主文件链接并下载它(取决于您的浏览器,可以是右键单击并选择“将文档下载为...”或类似操作。),然后将该文件保存在circuitikzgit.sty
您的文档可以读取的位置(最简单:在与主文档相同的文件夹中 - 这也适用于大多数在线服务。)。
现在,在你的文档中有命令的地方
\usepackage[whatever options]{circuitikz}
将其更改为
\usepackage[whatever options]{circuitikzgit}
现在您将使用已下载的版本。如果您使用库存样式文件(自 0.9.4 起),请注意样式文件也会发生变化,您可能需要下载它们并将它们也放在主目录中(它们以文件形式提供zip
,您必须提取所需的文件)。
就这样;现在您的版本将如下所示:
(尽管在旧版本中“基本”版本号已经丢失...您必须依赖日期):
最后(重要的) 评论,请注意您需要检查您的选项,尤其是电压和电流方向。您必须在精细手册中阅读它,抱歉…… ;-)