Circuitikz のラベルを調整する

Circuitikz のラベルを調整する

次のような出力が生成されるとても私が望むものに近いです:

\begin{circuitikz}
    \draw
        (0,0) to[short,l=2.95 GHz] (0,0)
              to[bandpass,>,l=BPF,a=2.95 GHz] ++(3.5,0)
              node[inputarrow]{}
              node[mixer,anchor=west] (mix) {};
    \draw
        (mix.east) to[lowpass,>,l=LPF,a=100 MHz] ++(3.5,0)
                   node[inputarrow]{ADC};
    \draw (mix.south) node[inputarrow,rotate=90] (loarrow) {} -- ++(0,-1.5)
                      to[short,l=3 GHz] ++(0,0);
\end{circuitikz}

問題は、「ADC」というテキストが少し高くオフセットされており、入力の「2.95 GHz」というテキストと対称ではないことです。

同様に、「3 GHz」のテキストは、関連する矢印に対して中央に配置されず、左にオフセットされます。

これらのラベルをより適切に配置するにはどうすればよいですか?

答え1

ほとんどの circuitikz ノードはテキストを処理するように設計されていません。

すべてのラベルは実際には個別のノードであることに注意してください。

\documentclass{standalone}
\usepackage{circuitikz}

\begin{document}

\begin{circuitikz}
    \draw
        (0,0) to[short,l=2.95 GHz] (0,0)
              to[bandpass,>,l=BPF,a=2.95 GHz] ++(3.5,0)
              node[inputarrow]{}
              node[mixer,anchor=west] (mix) {};
    \draw
        (mix.east) to[lowpass,>,l=LPF,a=100 MHz] ++(3.5,0)
                   node[inputarrow]{} node[right]{ADC};
    \draw (mix.south) node[inputarrow,rotate=90] (loarrow) {} -- ++(0,-1.5)
                      node[below]{3 GHz};
\end{circuitikz}

\end{document}

デモ

関連情報