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.95GHz" 텍스트와 대칭이 아니라는 것입니다.

마찬가지로 "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}

데모

관련 정보