Cirkuitikz:如何仅旋转交流电符号?

Cirkuitikz:如何仅旋转交流电符号?

我的任务是纠正我最近的实验报告中的一些小问题。其中一个问题是交流电符号方向错误;我知道波浪应该水平对齐,但是在我提交报告之前,我在网上找不到任何关于如何根据我当前的代码情况实现这一点的有用建议,所以我希望这样可能是正确的......但事实并非如此。(见下方图片)

这是我的代码:

\documentclass{article}
\usepackage[german]{babel}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[european]{circuitikz}
\usepackage{siunitx}
\usepackage{float}
%=======================
\begin{document}
%=======================
\begin{figure}[H]
\centering
    \begin{circuitikz}
    \draw (0,2) to[sV, o-] (1,2) to[R, l=$R_1$, a=\SI{10}{\kilo\ohm}] (3,2);
    \draw (3,2)  to [short, -o] (6,2);
    \draw (4,2) to[C, l=$C_1 \quad ~~~ U_a(t)$, a=\SI{10}{\nano\farad}, *-] (4,0) to [short, -*] (4,0);
    \draw (4,0) to [short, -o] (0,0);
    \draw (4,0) to [short, -o] (6,0);
    \node at (0,1) [align=center] {$U_{e}(t)$};
\end{circuitikz}
    \caption{Verwendeter Schaltkreis mit R-C-Glied und den Größen für R und C}
    \label{fig:circuit_tiefpass}
\end{figure}
%=======================
\end{document}

生成以下图像: 符号的当前方向

但我需要它看起来像这样: 符号的正确方向

附言:

  • 是的,我知道我的代码写得不好,因为我是个菜鸟
  • 我发现唯一正确的方向是让电路成为一个连通的环路,但我特别希望它以这种分裂的表示方式出现(如果可能的话),因为这就是我在向实验室导师解释我的实验时展示它的方式
  • 我已经尝试过“旋转”,但这会导致奇怪的结果,例如这个: 在此处输入图片描述

我很高兴看到您的建议,并提前向大家致以诚挚的谢意 :O)

答案1

欢迎!

好的,首先,你应该使用最小例如。对于你的情况,可能是:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[european]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
    \draw (0,0) to[sV, o-] ++(2,0);
\end{tikzpicture}
\end{document}

这使(*):

在此处输入图片描述

如果您转到手册第 76 页,关于“源定制”,您会发现:

在此处输入图片描述

因此解决方案可以是:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[european]{circuitikz}
\begin{document}
\begin{tikzpicture}[]
    \draw (0,0) to[sV, o-, sources/symbol/rotate=auto] ++(2,0);
\end{tikzpicture}
\end{document}

这将为您提供:

在此处输入图片描述

如果这是你想要的,你可以简单地(而不是对每个源都这样做)添加

\ctikzset{sources/symbol/rotate=auto}

在你的序言中,例如:

\documentclass[border=10pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[european]{circuitikz}
\ctikzset{sources/symbol/rotate=auto}
\begin{document}
\begin{tikzpicture}[]
    \draw (0,0) to[sV, o-] ++(2,0);
\end{tikzpicture}
\end{document}

这将产生与之前相同的结果。

所以你的最终电路将是:


\documentclass{article}
\usepackage[german]{babel}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}
\usepackage[european]{circuitikz}
\ctikzset{sources/symbol/rotate=auto}
\usepackage{siunitx}
\usepackage{float}
%=======================
\begin{document}
%=======================
\begin{figure}[H]
\centering
    \begin{circuitikz}
    \draw (0,2) to[sV, o-] (1,2) to[R, l=$R_1$, a=\SI{10}{\kilo\ohm}] (3,2);
    \draw (3,2)  to [short, -o] (6,2);
    \draw (4,2) to[C, l=$C_1 \quad ~~~ U_a(t)$, a=\SI{10}{\nano\farad}, *-] (4,0) to [short, -*] (4,0);
    \draw (4,0) to [short, -o] (0,0);
    \draw (4,0) to [short, -o] (6,0);
    \node at (0,1) [align=center] {$U_{e}(t)$};
\end{circuitikz}
    \caption{Verwendeter Schaltkreis mit R-C-Glied und den Größen für R und C}
    \label{fig:circuit_tiefpass}
\end{figure}
%=======================
\end{document}

在此处输入图片描述

请注意,您给发电机的空间(1 个单位,默认为 1 厘米)太小,无法实现美观的显示(杆子几乎接触到发电机)。


(*) 抱歉,图片太糟糕了,但 SE 决定我不能发布小于 160x160 像素的图片......

相关内容