
나는 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
서큐티케이\pgfmoveto
Z는 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