qcircuit:通过块门的虚线

qcircuit:通过块门的虚线

考虑修改电路文档qcircuit在第 3 页,\mathcal{F}门跨越 6 根线:源代码是

\documentclass{article}
\usepackage{amsmath,qcircuit}

\begin{document}
\Qcircuit @C=1em @R=0em {
  & \multigate{5}{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw
}
\end{document}

图像渲染为

原始图像

假设我想显示一条穿过大门的盒子的模糊/虚线,如果没有大门的话,从顶部数第二根电线的位置(表示\mathcal{F}作用于第一根和第三到第六根电线,但不作用于第二根电线)。例如:

短跑 灰色的

有没有办法做到这一点qcircuit?提前致谢。

答案1

qcircuit包使用包\xymatrix中的xy-pic来绘制电路。手册中的示例电路是一个 3x6 矩阵,其中导线末端和门的(水平)中心作为单元的中间。

因为电路实际上是一个矩阵,所以您可以使用xy-pic电路内的语法。这里有一个有用的命令是,*!它可以打印矩阵单元内非中心的内容。在您想要绘制连接线的单元中,您可以\hdashruledashrule包中绘制一个以获得虚线。不幸的是,规则高了 1/3 点(!),因此您可以使用第一个可选参数将其降低\hdashrule。第二个可选参数控制规则开始和结束时的外观,这里的值xc导致更好的水平对齐。

然后,您可以使用命令正常绘制两条线\qw。唯一的问题是行的高度,通常由 来计算\ghost{}。此命令在内部使用,它保留了一定高度和宽度的框。我们可以*+xy-picqcircuit 复制定义,即*+<1em,.9em>,但是我们只想调整高度,因此第一个坐标应为零(即*+<0em,.9em>)。

梅威瑟:

\documentclass{article}
\usepackage{amsmath,qcircuit}
\usepackage{dashrule}
\begin{document}
\Qcircuit @C=1em @R=0em {
  & \multigate{5}{\mathcal{F}} & \qw \\
*+<0em,0.9em>{} & *!{\hdashrule[-0.3pt][x]{1.9em}{0.5pt}{1pt}}\qw & \qw\\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw \\
  & \ghost{\mathcal{F}} & \qw
}
\end{document}

结果:

在此处输入图片描述

相关内容