答案1
由于quantikz
只使用常规形状作为节点,因此您可以使用在其中一个中预定义的形状circuit.logic
Ti 附带的库中预定义的形状钾Z(参见第 49.3 章“逻辑电路”钛钾Z/PGF 手册,第 618 页及后续页面)。
至于\odot
类似形状的节点,我想你必须从头开始定义它。我也不确定如何使用它,因为点使得向节点添加文本变得很困难……无论如何,这是我的建议:
\documentclass[border=10mm]{standalone}
\usepackage{quantikz}
\usetikzlibrary{circuits.logic.US}
\tikzset{
gateT/.style={
draw,
not gate US,
inner sep=5pt
},
gateO/.style={
draw,
circle,
minimum width=1.67em,
inner sep=2pt,
append after command={
\pgfextra {
\fill (\tikzlastnode) circle[radius=1pt];
}
}
}
}
\DeclareExpandableDocumentCommand{\gateT}{O{}{m}}{|[gateT,#1]| {#2} \qw}
\DeclareExpandableDocumentCommand{\gateO}{O{}{m}}{|[gateO,#1]| {#2} \qw}
\begin{document}
\begin{quantikz}
\lstick{$A$} &
\gateT{H} &
\gate{H} &
\gateO{} &
\qw \rstick{$B$}
\end{quantikz}
\end{document}