我想用quantikz
我正在使用 quantikz 文档第 14 页上的第二个代码块,
\documentclass{article}
\usepackage{amssymb,amsfonts,dsfont}
\usepackage{tikz}
\usetikzlibrary{quantikz}
\usepackage{tikz-cd}
\begin{document}
\begin{quantikz}
& \gate{H} & \ctrl{2} & \ \ldots\ \qw & \qw & \gate{H} & \qw \\
& \gate{H} & \qw & \ \ldots\ \qw & \ctrl{1} & \gate{H} & \qw \\
& \qw & \gate{U} & \arrow[dashed, "z" marking]{r} & \gate{U} & \qw
\end{quantikz}
\end{document}
我尝试使用\arrow[]{}
tikzcd 来绘制类似
但我似乎无法在电线上留下锯齿状的标记。
答案1
这里我用的是path picture
带zigzag
线的。也可以绘制任何其他路径。
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{quantikz}
\tikzset{
zigstyle/.style={
draw=none,
path picture={\draw[decoration={zigzag, pre length=\pgflinewidth, post length=\pgflinewidth}, decorate] (path picture bounding box.west) -- (path picture bounding box.east);}
}}
\begin{document}
\begin{quantikz}
& \gate{H} & \ctrl{2} & \ \ldots\ \qw & \qw & \gate{H} & \qw \\
& \gate{H} & \qw & \ \ldots\ \qw & \ctrl{1} & \gate{H} & \qw \\
& \qw & \gate{U} & \gate[style={zigstyle}][0.6cm]{} & \gate{U} & \qw
\end{quantikz}
\end{document}
编辑:使用单个曲折:
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{quantikz}
\tikzset{
zigstyle/.style={
draw=none,
path picture={\draw (path picture bounding box.west) -- +(1pt,0) -- ++(5pt,5pt) -- ++(2pt,-10pt) -- ++(5pt,5pt) -- (path picture bounding box.east);}
}}
\begin{document}
\begin{quantikz}
& \gate{H} & \ctrl{2} & \ \ldots\ \qw & \qw & \gate{H} & \qw \\
& \gate{H} & \qw & \ \ldots\ \qw & \ctrl{1} & \gate{H} & \qw \\
& \qw & \gate{U} & \gate[style={zigstyle}][0.4cm]{} & \gate{U} & \qw
\end{quantikz}
\end{document}
答案2
使用 TikZ 绘制锯齿线并不难,但我不知道如何在quantikz
不添加\qw
s 的情况下在里面使用它\gate
(这会在左边画一条线)。
\qw
在这里我在列中添加了另一个\dots
,以便锯齿形标记至少始终位于一条线的顶部。
将键添加arrows
到的选项中,\arrow[rr, -, zigzag marking]
以便它继承与中的所有行相同的样式quantikz
。
代码
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{quantikz}
\tikzset{
zigzag marking/.default=1ex,
zigzag marking/.style={
to path={% no \tikztonodes
-- ($(\tikztostart)!.5!(\tikztotarget)!#1!(\tikztostart)$)
-- ($(\tikztostart)!.5!(\tikztotarget)!#1!90:(\tikztostart)$)
-- ($(\tikztostart)!.5!(\tikztotarget)!#1!270:(\tikztostart)$)
-- ($(\tikztostart)!.5!(\tikztotarget)!#1!(\tikztotarget)$)
-- (\tikztotarget)
}
}
}
\begin{document}
\begin{quantikz}
& \gate{H} & \ctrl{2} & \ \ldots\ \qw & \qw & \gate{H} & \qw \\
& \gate{H} & \qw & \ \ldots\ \qw & \ctrl{1} & \gate{H} & \qw \\
& \qw & \gate{U} \arrow[rr, -, zigzag marking] & \qw & \gate{U} & \qw
\end{quantikz}
\end{document}