我收到一个名为 的错误\ProcessOptions\relax
。我不知道那是什么。我猜那可能会spanish
babel
带来问题。
\documentclass[letterpaper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amsthm,amssymb}
\usepackage{epsfig,graphicx}
\usepackage{mathrsfs}
\spanishdecimal{.}
\usepackage{wrapfig}
\usepackage{tikz}
\usepackage[symbols]{circuitikz}
\begin{document}
\begin{figure}[h]
\centering
\begin{circuitikz} \draw
(0,0) node[anchor=east]{B}
to[short, o-*] (1,0)
to[R, l=$20\ohm$, *-*] (1,2)
to [R, v=$v_x$, l=$10\ohm$] (3,2)
to[short] (4,2) to[cI, i=$$, *-*] (4,0)
to[short] (3,0) to[R, l=$5\ohm$, *-*] (3,2)
(3,0) -- (1,0)
(1,2) to[short, *-o] (0,2)
node[anchor=east]{A}
;\end{circuitikz}
\caption{Circuito}
\end{figure}
\end{document}
答案1
(La)TeX 中的错误信息可能很隐晦,甚至具有误导性,但这个信息非常明确:
Unknown option `symbols' for package `circuitikz'
快速浏览一下circuitikz
手动的(第 2 部分:选项) 将向您确认该circtuitkz
软件包确实没有提供任何名为 的选项symbols
;至少最新版本 (0.3.0) 没有提供。
要解决标签问题,您需要circuitikz
使用选项加载siunitx
:
siunitx
:与封装集成siunitx
。如果标签、电流或电压为 形式#1<#2>
,则实际显示的是\SI{#1}{#2}
。
这些说明有点不清楚,但它们的意思是您需要使用siunitx
的\SI
宏来排版电阻标签(值和单位)。这是一个例子:
\SI{20}{\ohm}
完整代码
\documentclass[letterpaper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath,amsfonts,amsthm,amssymb}
\usepackage{epsfig,graphicx}
\usepackage{mathrsfs}
\spanishdecimal{.}
\usepackage{wrapfig}
\usepackage{tikz}
\usepackage[siunitx]{circuitikz}
\begin{document}
\begin{figure}[h]
\centering
\begin{circuitikz} \draw
(0,0) node[anchor=east]{B}
to[short, o-*] (1,0)
to[R, l=\SI{20}{\ohm}, *-*] (1,2)
to [R, v=$v_x$, l=\SI{10}{\ohm}] (3,2)
to[short] (4,2) to[cI, i=, *-*] (4,0)
to[short] (3,0) to[R, l=\SI{5}{\ohm}, *-*] (3,2)
(3,0) -- (1,0)
(1,2) to[short, *-o] (0,2)
node[anchor=east]{A};
\end{circuitikz}
\caption{Circuito}
\end{figure}
\end{document}