Ошибка CircuiTikZ: Ошибка пакета pgfkeys

Ошибка CircuiTikZ: Ошибка пакета pgfkeys

Я новичок в CircuiTikZ и пытаюсь начать с очень простых диаграмм. Мне дали преамбулу, и соответствующие части для CircuiTikZ кажутся

\usepackage[americanresistors,americaninductors]{circuitikz}
\usetikzlibrary{circuits.ee.IEC}
    
    \tikzset{circuit declare symbol = ac current source}
    \tikzset{
              ac current source IEC graphic/.style={
                circuit symbol lines,
                circuit symbol size = width 2 height 2,
                shape = generic circle IEC,
                /pgf/generic circle IEC/before background={
                  \pgfpathmoveto{\pgfpoint{-0.8pt}{0pt}}
                  \pgfpathsine{\pgfpoint{0.4pt}{0.4pt}}
                  \pgfpathcosine{\pgfpoint{0.4pt}{-0.4pt}}
                  \pgfpathsine{\pgfpoint{0.4pt}{-0.4pt}}
                  \pgfpathcosine{\pgfpoint{0.4pt}{0.4pt}}
                  \pgfusepath{stroke}
                },
                transform shape
              }
    }

Я прочитал документацию CircuiTikZ и написал это


\documentclass[12pt]{article}
\usepackage{preamble}
\usepackage{adjustbox}
\usepackage{gensymb}
\usepackage{todonotes}

\title{}
\pagestyle{fancy}
\linespread{1}
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[RE,LO]{\ifthenelse{\value{page}=0}{}{}}

\begin{document}

\begin{circuitikz}
\draw
(0,0) to [short, *-] (6,0)
to [R=$R_1$] (6,4);
\end{circuitikz}

\fancyhead{}
\vspace*{\fill}
\end{document}

Вот что я получаю в итоге.

введите описание изображения здесь

Ошибка, которую я получаю на Overleaf, выглядит следующим образом.

Ошибка пакета pgfkeys: Я не знаю ключ '/tikz/$R_1$' и собираюсь его проигнорировать. Возможно, вы неправильно его написали.

Не уверен, в чем проблема. Пытался проверить похожие посты, но не смог найти решение. Любая помощь была бы очень признательна :).

Редактировать:Расширенный circuitikzфрагмент кода для отображения documentсреды.

решение1

При рисовании электрических цепей не смешивайте синтаксис из TiкБиблиотеки Z и circuitikz. Если вы по какой-то причине вынуждены это сделать, то обратитесь к документации по circuitikzпакету, где это кратко рассматривается в подразделе «10.8 Пример с опцией совместимости» (обратите внимание, в примере есть незначительная ошибка: в строке 7 должно быть \usepackage[compatibility]{circuitikz}).

MWE (минимальный рабочий пример) для вашей простой схемы с использованием circuitikzкорпуса:

\documentclass[12pt, margin=3mm]{standalone}
\usepackage{circuitikz}

\begin{document}
    \begin{circuitikz}
\draw   (0,0) to [short, *-] (6,0)
              to [R=$R_1$] (6,4);
    \end{circuitikz}
\end{document}

Он отлично работает и генерирует следующее изображение схемы:

введите описание изображения здесь

Если вы имеете в виду европейский стиль рисования схем, то добавьте [european]опцию circuitikz:

\usepackage[european]{circuitikz}

в преамбуле MWE или

    \begin{circuitikz}[european]

В кейсах с ботами вы получите:

введите описание изображения здесь

Связанный контент