我想对一组门进行分组,并将它们提升到 N 次方。附件是我正在尝试做的一个最小工作示例 - 只是缺少右括号上的“N 次方”,即我有 ) 但想要 )^N。
\documentclass{article}
\usepackage{braket}
\usepackage{qcircuit}
\begin{document}
\begin{figure}[h]
\[
\Qcircuit @C=1em @R=1em {
\lstick{\ket{0}} & \gate{U} & \gate{X} & \gate{Y} & \gate{X} & \gate{Y} & \gate{U^{\dagger}} & \meter \qw \gategroup{1}{3}{1}{6}{.7em}{(} \gategroup{1}{3}{1}{6}{.7em}{)}
}
\]
\end{figure}
\end{document}
答案1
命令中的括号\gategroup
是使用 XY-pic 包绘制的。您可以从 XY-pic 中重新定义相关命令(在本例中为),\rparenthesized
以包含上标。
为了确保上标不会干扰括号的大小计算,可以在\smash
命令内部设置上标,该命令会打印内容但不为其保留任何空间。
为了使其更具可定制性,您可以将上标定义为命令,并在使用前重新定义。当然,使用参数会更简洁,但您必须将其传播到整个代码中,qcircuit
这xy
将涉及更改大量代码。在下面的 MWE 中,我使用了\gatesup
上标内容,它最初是空的({}
),因此没有打印上标。添加到的代码\rparenthesized
是
\smash{\kern-4pt{}_\gatesup}
意思是“向左移动 4pt,然后是一个带有\gatesup
下标的空根”。请注意,此处的下标用于上标,因为实际的上标位置太高。如果您想更改上标的位置或字体大小,则应修改此行 - 但请注意,您不能轻易增加或减少上标使用的空间,因为这涉及修改代码的其他部分xy
。
上标的内容可以在\Qcircuit
规范内部定义。请注意,定义必须是全局的(\gdef
)才能生效。之后,您可以将宏重新定义为空组(\def\gatesup{{}}
再次)以“关闭”上标以进行进一步的右括号。
梅威瑟:
\documentclass{article}
\usepackage{braket}
\usepackage{qcircuit}
\begin{document}
\makeatletter
\xydef@\rparenthesized{\xy@@{\setboxz@h{%
\A@=\X@c \advance\A@\R@c \B@=\Y@c \advance\B@-\D@c
\setboxz@h{$\m@th\bracecr$}\dimen@ii=\dp\z@ \advance\[email protected]\wdz@
\setboxz@h{$\m@th\bracec$}\dimen@=\dp\z@
\ifdim\U@c<.5\dimen@ \U@c=.5\dimen@ \fi
\ifdim\D@c<.5\dimen@ \advance\[email protected]\dimen@ \advance\B@\D@c \D@c=.5\dimen@ \fi
\advance\[email protected]\p@ \advance\[email protected]\p@ \advance\[email protected]\p@
\dimen@ii\U@c \advance\dimen@ii\D@c
\kern\A@\raise\B@\vbox to \dimen@ii{%
\nointerlineskip\hbox{$\m@th\braceul\smash{\kern-4pt{}_\gatesup}$}%
\kern-.61\dimen@ \cleaders\copy\z@\vfil \kern-.61\dimen@
\nointerlineskip\hbox{$\m@th\bracedl$}\kern\z@}}%
\ht\z@=\z@ \dp\z@=\z@ \wd\z@=\z@ \boxz@}}
\makeatother
\def\gatesup{{}}
\begin{figure}[h]
\[
\Qcircuit @C=1em @R=1em {
\lstick{\ket{0}} & \gate{U} & \gate{X} & \gate{Y} & \gate{X} & \gate{Y} & \gate{U^{\dagger}} & \meter \qw \gategroup{1}{3}{1}{6}{.7em}{(} \gdef\gatesup{N}\gategroup{1}{3}{1}{6}{.7em}{)}
}
\]
\end{figure}
\end{document}
结果: