我正在从事一个项目,其中包括circuitkz
参考书目biblatex
。
当我尝试使用包american voltage
中的选项时circuitkz
,无缘无故出现了 biber 错误。
编辑:
\documentclass[10pt,twocolumn]{article}
\setlength{\columnsep}{20.0pt}
\usepackage[style=ieee,texencoding=utf8]{biblatex}
\addbibresource{ref.bib}
\let\cite\parencite
\usepackage{csquotes}
\usepackage[spanish]{babel}
\usepackage{circuitikz}
\ctikzset{v/.append style={/tikz/american voltages}}
\begin{document}
\begin{circuitikz}[american voltages]
\draw
(0,0) to[sV]
(0,2) to[R, v^>=$v_1$] %%This is the problem.
(3,2) to[C]
(3,0) -- (0,0)
;
\end{circuitikz}
\nocite{vibrations_waves}
\printbibliography
\end{document}
当我仅使用(0,2) to[R]
上面的行时,所有内容均能正确呈现。
%%%%%%% ref.bib %%%%%%%%%
@Book{vibrations_waves,
author = {George C. King},
title = {Vibrations and Waves},
publisher = {Wiley},
year = {2009},
}
编辑后,我注意到真正的问题出在babel
包上。当我注释掉该行时,\usepackage[spanish]{babel}
一切都正常了。
答案1
这是速记的常见问题babel
。您可以使用 来解决它\usetikzlibrary{babel}
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{circuitikz}
\usetikzlibrary{babel}
\ctikzset{v/.append style={/tikz/american voltages}}
\begin{document}
\begin{circuitikz}[american voltages]
\draw (0,0) to [sV]
(0,2) to [R, v^>=$v_1$] %%This is the problem.
(3,2) to [C]
(3,0) -- (0,0)
;
\end{circuitikz}
\end{document}
答案2
正如您在问题中指出的那样,问题与 无关,biblatex
但与spanish
选项有关babel
。这是由于>
西班牙语中定义的简写babel
。如果您根本不需要或使用简写,那么您可以使用包选项 全局关闭它们es-noshorthands
。
\usepackage[spanish,es-noshorthands]{babel}
或者,如果您需要简写,您可以>
在环境中禁用有问题的简写()circuitikz
:
\usepackage{etoolbox}
\AtBeginEnvironment{circuitikz}{\spanishdeactivate{>}}
以下是完整的文档:
\documentclass[10pt,twocolumn]{article}
\setlength{\columnsep}{20.0pt}
\usepackage[spanish]{babel}
% or if you don't need shorthands at all:
%\usepackage[spanish,es-noshorthands]{babel}
\usepackage{circuitikz}
\ctikzset{v/.append style={/tikz/american voltages}}
\usepackage{etoolbox}
\AtBeginEnvironment{circuitikz}{\spanishdeactivate{>}}
\begin{document}
\begin{circuitikz}[american voltages]
\draw
(0,0) to[sV]
(0,2) to[R, v^>=$v_1$] %%This is the problem.
(3,2) to[C]
(3,0) -- (0,0)
;
\end{circuitikz}
\end{document}