使用 Circuitikz 绘制触发器

使用 Circuitikz 绘制触发器

我试图使用 Circuitikz 绘制一个 JK 触发器,但是 Overleaf 无法正确编译它:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{circuitikz}

\tikzset{
% async
latch/.style={flipflop, flipflop def={t1=D, t6=Q, t3=CLK, 
t4=\ctikztextnot{Q}}},
flipflop SR/.style={flipflop, flipflop def={t1=S, t3=R, t6=Q, 
t4=\ctikztextnot{Q}}},
% sync
flipflop D/.style={flipflop, flipflop def={t1=D, t6=Q, c3=1, 
t4=\ctikztextnot{Q}}},
 flipflop T/.style={flipflop, flipflop def={t1=T, t6=Q, c3=1, 
t4=\ctikztextnot{Q}}},
flipflop JK/.style={flipflop,
flipflop def={t1=J, t3=K, c2=1, t6=Q, t4=\ctikztextnot{Q}}},
% additional features
add async SR/.style={flipflop def={%
tu={\ctikztextnot{SET}}, td={\ctikztextnot{RST}}}},
dot on notQ/.style={flipflop def={t4={Q}, n4=1}},
 }


 \begin{document}

 \begin{circuitikz}
  \draw 
  (0,0) node[flipflop JK]{JK}
  ;
  \end{circuitikz}

  \end{document}

我正在关注 CircuiTikZ 文档,但没有任何明确的信息。

答案1

Overleaf 使用了许多 TeX 软件包的稳定但相当老旧的版本。就 而言circuitikz,截至今天,发布的版本是 0.8.3,距今已有近一年半了。

幸运的是,circuitikz提供了一种以单个文件形式下载所需版本的方法。转到页面https://circuitikz.github.io/circuitikz/并下载您想要的版本(在本例中,右键单击“版本 1.0.10-pre1”并将其保存到您的电脑中的某个位置circuitikzgit.sty)。

现在您可以将其上传到 overleaf,与您的项目位于同一目录中,并通过将\usepackagefrom更改circuitikz为 来使用它circuitikzgit

overleaf 会话的屏幕截图

顺便说一句,如果您使用的是触发器的默认版本,则不需要像示例中那样重新定义它们。

相关内容