ConTeXt의 Circuitikz 및 변압기 코어

ConTeXt의 Circuitikz 및 변압기 코어

나는 ConTeXt에서 Circuitikz를 사용할 수 있다는 것을 알게 되었고, Circuitikz가 Circuits.ee.IEC tikz 라이브러리보다 훨씬 더 완벽하기 때문에 그것으로 전환하는 것을 고려하고 있습니다. 그러나 변압기 코어를 표시할 수 없습니다(업데이트가 없는지 확인하기 위해 오늘 아침에 컨텍스트 배포를 업데이트했습니다). 내 MWE는 다음과 같습니다.

\usemodule[tikz]

\usemodule[circuitikz]
\ctikzset{current=european, voltage=straight, resistor=european, inductor=american}

\starttext
\starttikzpicture
  \draw (0, 0) node [transformer core] (T) {};  % asking for node[transformer] (T) {} works
\stoptikzpicture
\stoptext

에 대한 요구로 transformer core인해 다음 오류가 발생합니다.

Control sequence expected instead of undefined

물론 변환기 앵커를 사용하여 핵심 기호를 다시 만들 수 있지만 이미 라이브러리에 정의되어 있으므로 어리석은 것 같습니다. 이 문제에 대한 간단한 해결 방법이 있습니까?

미리 감사드립니다

답변1

서큐티케이\pgfmovetoZ는 2005년부터 더 이상 사용되지 않는 매크로를 사용하려고 시도합니다 . pgf기본적으로 LaTeX에서는 호환성 패키지를 로드하지만 ConTeXt에서는 로드하지 않습니다. 따라서 엄밀히 말하면 다음 LaTeX 문서에서 동일한 오류가 발생하므로 이 버그는 ConTeXt에만 국한되지 않습니다.

\documentclass{article}

\usepackage[version=latest]{pgf}  % Works if this line is removed

\usepackage{circuitikz}

\begin{document}
\begin{tikzpicture}
  \draw (0, 0) node [transformer core] (T) {};
\end{tikzpicture}
\end{document}

\pgfmoveto이 문제를 해결하려면 및 에 대한 적절한 정의를 제공하면 됩니다 \pgflineto.

\usemodule[circuitikz]

\let\pgfmoveto=\pgfpathmoveto  % Added
\let\pgflineto=\pgfpathlineto  % Added

\startTEXpage
\starttikzpicture
    \node [transformer core] {};
\stoptikzpicture
\stopTEXpage

산출

관련 정보