Qcircuit:如何在电路中插入垂直虚线?

Qcircuit:如何在电路中插入垂直虚线?

我想在以下电路各部分之间插入垂直虚线以进行一些注释:

\documentclass{amsart}
\usepackage[matrix,frame,arrow]{xy}
\input{Qcircuit}
\vfuzz2pt % Don't report over-full v-boxes if over-edge is small
\begin{document}
\[
    \Qcircuit @C=1em @R=1em {
     \lstick{\ket{x}} & \qw & \ctrl{1} & \qw & \rstick{\ket{x}} \qw \\
     \lstick{\ket{y}} & \gate{H} & \gate{\pi} & \gate{H} & \rstick{\ket{y \oplus x}} \qw
    }
\]
\end{document}

输出: 在此处输入图片描述

我发现了一个类似的问题(xypic: 这个图中的虚线该如何排版?)关于 xy-pic,是同样的想法,应该是同样的解决方案。但是它不起作用,我不知道为什么。

笔记:Q电路Qcircuit.tex宏包用于在 LaTeX 中绘制量子电路图

答案1

以下是一个示例位置。为了清晰起见,我使用了点线而不是虚线。要使用虚线,请使用\ar@{--}而不是\ar@{.}

示例输出

\documentclass{article}

\input{Qcircuit}

\begin{document}

\Qcircuit @C=1em @R=1em {
 \lstick{\ket{x}} & \qw \ar@{.}[]+<3.5em,1em>;[d]+<3.5em,-1em>
 & \ctrl{1} & \qw & \rstick{\ket{x}} \qw \\
 \lstick{\ket{y}} & \gate{H} & \gate{\pi} & \gate{H} & \rstick{\ket{y \oplus x}} \qw
}
\end{document}

使用的命令是:

\ar@{.}[]+<3.5em,1em>;[d]+<3.5em,-1em>

放置在您希望线条开始的节点处。[d]指向下一行的节点,[dd]会将您向下发送两行,而[r]会使线条向右移动。<3.5em,1em>表示线条从起始节点的3.5em右侧上方开始。同样,将终点放在结束节点的右侧下方。1em<3.5em,-1em>3.5em1em

相关内容