Quantikz 绘制电线扭结

Quantikz 绘制电线扭结

我想用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 picturezigzag线的。也可以绘制任何其他路径。

\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不添加\qws 的情况下在里面使用它\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}

输出

在此处输入图片描述

相关内容