负面幻影

负面幻影

以下最小代码

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}

\newcommand*\mycircb[1]{%
  \tikz[baseline=-1.5pt]\node[draw,circle,inner sep=0.8pt, scale=0.8] 
  {\upshape \footnotesize \textbf{#1}};\!\!
}
\newcommand*\Swtch[3]{%
    \xrightarrow[{\text{\mycircb{#2} $>$ \mycircb{#3}}}]{\text{#1}} 
}

\begin{document}
\[
\Swtch{Boo}{A}{B}
\]
\end{document}

产生以下图片

图片

箭头下方的垂直间距有点太大。如何让“分母”更靠近除法箭头?我正在寻找类似负 \vphantom 命令的东西。同样,假设我想调整“分子”间距。可以使用 \vphantom 添加空格,但如何添加空格已删除

答案1

尝试这个:

\newcommand*{\Swtch}[3]{%
  \mathrel{\vcenter{\offinterlineskip%
  \hbox{\phantom{\,\mycircb{#2}}{\scriptsize#1}}\vskip-0.4ex\hbox{\ensuremath{\xrightarrow[\hphantom{\text{\mycircb{#2} $>$ \mycircb{#3}}}]{}}}\vskip-1.8ex\hbox{\,\text{\mycircb{#2} $>$ \mycircb{#3}}}}}%
}

第一个\phantom和第二个用法\,有点像是用来将文本居中的 hack,但应该是您想要的。您可以通过将参数更改为两个来调整空间量\vskip

比较如下:

在此处输入图片描述

答案2

\vphantom您可以不用使用它来\settoheight{\yourlengthcmd}{text}获取参数的高度并将其应用为负空间。

答案3

您可以使用\smash

\documentclass{article}

\usepackage{amsmath}
\usepackage{tikz}

\newcommand*\mycircb[1]{%
  \tikz[baseline=-1.5pt]\node[draw,circle,inner sep=0.8pt, scale=0.8]
  {\upshape \footnotesize \textbf{#1}};\!\!
}
\newcommand*\Swtch[3]{%
    \xrightarrow[{\text{\mycircb{#2} $>$ \mycircb{#3}}}]{\text{#1}}
}

\newcommand*\Swtchnew[3]{%
    \xrightarrow[\smash{\text{\mycircb{#2} $>$ \mycircb{#3}}}]{\text{#1}}
}

\begin{document}
\[
\Swtch{Boo}{A}{B}  \Swtchnew{Boo}{A}{B}
\]
\end{document}

\xarrowright 与 \smash

相关内容