circuitikz 和 babel french 之间的冲突

circuitikz 和 babel french 之间的冲突

当我添加对法语 babel 包的引用时,我的代码无法编译。这是一个 MWE。我花了几个小时寻找解决方案,但失败了。

\documentclass{article}
\usepackage[french]{babel}
%adding the row below also doesn't help
%\usetikzlibrary{babel} 
\usepackage{amsmath, amsthm, amssymb}
\usepackage[americanvoltages, fulldiodes,siunitx, nooldvoltagedirection]{circuitikz}
\newcommand{\equals}{=}

\begin{document}

        \begin{tikzpicture}[transform shape, thick]
            \draw (0, 0) to [V, i_>={$i$},
                                l={$V$}, invert] (0, 4)
                         to [R, l={$R_1$}] (4, 4) node[right] {$A$}
                         to [R, l={$R_2$}] (4, 0)
                         to node[ground]{} (0,0); 
            \draw[fill=black] (4,4) circle (1.5pt);
            \draw[fill=black] (4,0) circle (1.5pt);
        \end{tikzpicture}
\end{document}

非常感谢你的帮助

答案1

作为Ulrike 评论\usetikzlibrary{babel},您应该在加载后放置circuitikz。并且(无关)您不应该使用 OT1 字体(默认字体)--- 您应该已经收到有关它的警告。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
%adding the row below also doesn't help
\usepackage{amsmath, amsthm, amssymb}
\usepackage[americanvoltages, fulldiodes,siunitx, nooldvoltagedirection]{circuitikz}
\newcommand{\equals}{=}
\usetikzlibrary{babel} 

\begin{document}

        \begin{tikzpicture}[transform shape, thick]
            \draw (0, 0) to [V, i_>={$i$},
                                l={$V$}, invert] (0, 4)
                         to [R, l={$R_1$}] (4, 4) node[right] {$A$}
                         to [R, l={$R_2$}] (4, 0)
                         to node[ground]{} (0,0); 
            \draw[fill=black] (4,4) circle (1.5pt);
            \draw[fill=black] (4,0) circle (1.5pt);
        \end{tikzpicture}
\end{document}

在这里工作正常。

在此处输入图片描述

但请注意,从1.2.7 版本\newcommand{\equals}{=}开始,不再需要这个技巧。circuitikz

相关内容