带有字距调整的隐形文本(\phantom)?

带有字距调整的隐形文本(\phantom)?

在我的回答中另一个问题,我使用了一个倒置的 A 作为带删除线的 V 字符。经过一番尝试,我意识到如果该字符后面跟着下标,则这不会提供适当的字距调整,大概是因为 A 放在了旋转框中。

解决这个问题的最佳方法是使用 llap/rlap 将倒置的 A 放在零宽度框中,然后插入一个不可见的 V,这样就可以应用与常规 V 相同的字距调整。不幸的是,如果我使用\phantom{V},结果似乎是一个框(没有字距调整)。

是否有\phantom类似功能可以使字符不可见/不可选择,但保持相同的字距?

编辑:我想出了一个技巧,检查以下文本是否是下标,如果是,则应用字距调整。关键部分是

\@ifnextchar_{\kern-0.17em}{} 
     % if the next char is "_", add negative kerning 
     % otherwise, do nothing

完整\Vol命令如下

\makeatletter
\newcommand{\Vol}{\rotatebox[origin=c]{180}{\ensuremath{A}}\@ifnextchar_{\kern-0.17em}{}}
\makeatother

尽管如此,如果有更优雅的方法来保持与原始 V 的精确字距,我会很感兴趣。

答案1

您可以在需要的地方使用普通数学模式 V 和\put水平线。它不会缩放,但可以轻松调整。

\newcommand{\Vol}{\rotatebox[origin=c]{180}{\ensuremath{A}}}
\newcommand{\volume}{\put(2,4){\line(1,0){3}}V}

在此处输入图片描述

但是,所需的符号实际上并不是倒置的 A,而是带有水平删除线的 V,如下所示:

在此处输入图片描述

因此不要\ooalign使用没有下标的原始解,您可以\rlap在宏中使用:

\newcommand{\volsym}{\rlap{\kern.08em--}V}

然后$\volsym_n$会产生输出

在此处输入图片描述

这还有一个额外的好处,就是在雷诺传输定理中为体积元素的左侧提供了正确的间距:

使用\ooalign

在此处输入图片描述

使用\rlap

在此处输入图片描述

版本\rlap将随尺寸缩放(\tiny\large\Huge等),但如果音量符号出现在下标中,则需要单独的宏。Even\mathchoice不起作用,因为它将选项与下标分开,导致相同的字距调整。

\newcommand{\volsubsym}{\rlap{\scriptsize\kern.08em--}V}

将生成正确的脚本版本。因此$M_{\volsubsym_n}$将生成

在此处输入图片描述

如果(出于我无法想象的原因)你需要一个脚本大小,你可以使用

\newcommand{\volsubsubsym}{\rlap{\tiny\kern.08em--}V}

在此处输入图片描述

完整代码如下:

\documentclass{article}

\newcommand{\volume}{\mathop{\ooalign{\hfil$V$\hfil\cr\kern0.08em--\hfil\cr}}\nolimits}

\newcommand{\volsym}{\rlap{\kern.08em--}V}
\newcommand{\volsubsym}{\rlap{\scriptsize\kern.08em--}V}

\newcommand{\dd}{\mathrm{d}}

\begin{document}
\noindent Let $\volume_n$ represent system volume. (using \verb`\ooalign`---bad kerning)  
\newline Let $V_n$ represent system volume. (math V)
\newline Let $\volsym_n$ represent system volume. (using \verb`\rlap`---correct kerning)
\bigskip
\newline As a subscript, $M_{\volsubsym_n}$ renders correctly.

\[
\frac{\dd}{\dd t}\int_{\Omega(t)}\mathbf{f}\,\dd\volume\qquad
\frac{\dd}{\dd t}\int_{\Omega(t)}\mathbf{f}\,\dd\volsym
\]

\end{document}

相关内容