我想在以下电路各部分之间插入垂直虚线以进行一些注释:
\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.5em
1em