所以我想用帽子来表示狄拉克算子,我尝试了和\hat{\slashed{D}}
:\slashed{\hat{D}}
第一个的$^$离$\slashed{D}$相当远,而第二个的斜线离$D$太左边了,几乎与字母$D$的半垂直笔画重合。
有没有什么办法可以调整帽子或者斜线的位置?
答案1
只需将符号与帽子及其斜线版本重叠即可。
\documentclass{standalone}
\usepackage{mathtools,slashed}
\newcommand\hatslashed[1]{{\hat{#1}\mathllap{\slashed{#1}}}}
\begin{document}
$\hat{\slashed{D}}$
$\slashed{\hat{D}}$
$\hatslashed{D}_{\hatslashed{D}_{\hatslashed{D}}}$
\end{document}
您可以使用\phantom
以下方法来防止双击字形,但据我所知,它\phantom
无法检测到拥挤的风格,并且会将帽子向右移动。
\newcommand\hatslashed[1]{{\hat{\phantom{#1}}\mathllap{\slashed{#1}}}}
答案2
无字符重叠:
\documentclass[border=3,varwidth]{standalone}
\usepackage{mathtools,slashed}
\makeatletter
\def\pslashed#1{%
\expandafter\ifx\csname psla@\string#1\endcsname\relax
{\mathpalette{\sla@/00}{\phantom{#1}}}%
\else
\csname psla@\string#1\endcsname
\fi}
\def\declarepslashed#1#2#3#4#5{%
\expandafter\def\csname psla@\string#5\endcsname{%
#1{\mathpalette{\sla@{#2}{#3}{#4}}{\phantom{#5}}}}}
\makeatother
\declarepslashed{}{/}{.08}{0}{D}
\newcommand\hatslashed[1]{\mathrlap{\hat{#1}}\slashed{#1}}
\begin{document}
$\hat{D}$
$\slashed{D}$
$\hatslashed{D}_{\hatslashed{D}_{\hatslashed{D}}}$
\end{document}
\pslashed
我定义了一个模仿的命令\slashed
,但是是通过幻影进行的。
为什么没有\hat{\phantom{D}}
给出好的结果?因为\hat
无法获取有关字符 D 的字体度量信息,因为它位于一个不包含任何内容的框上。因此,我们设置重音字符(在 中\mathrlap
),然后将斜线设置为好像它跨过 D。
答案3
作为一项练习,这比我预期的有趣得多。在我的答案的第一行中,我给出了我们正在使用的基本元素,即 D、带帽的 D 和带斜线的 D。
然后,在第二行,我确认了原帖作者的观察,即创建复合字形\hat{\slashed{D}}
会\slashed{\hat D}
导致结果失真。我想这并不太令人惊讶。
所以我认为这是为堆叠量身定制的,我可以将两个基本元素叠加在一起以实现结果。我首先确认基本元素的宽度都相同,没有通过装饰以某种方式横向增加。当然,如果可能的话,我想避免双击字母D
,所以我在堆叠的两个元素之一中使用了\phantom
of D
。而且,令我非常惊讶的是,我发现幻影也扭曲了结果。
大约在这个时候,Henri 发布了他的解决方案,比我的方法好得多,因为它可以自然地与 mathstyle 配合使用(而scalerel
为了实现这一点,我必须在我的解决方案之上添加设备)。我放弃了我的解决方案,投票给 Henri,并给他留下了我的\phantom
观察评论。但后来他要求提供 stackengine 结果,所以我继续。
我的结果的第三行显示了这些幻影结果,第一行中帽子向左移动,第二行中笔画向左移动。我认为这可能与字母特定的字距有关,幻影消失了。
因此,在第四行,我和 Henri 一样使用了双击D
。但是,这种方法目前的形式与 mathstyle 不兼容。
\documentclass{article}
\usepackage{slashed}
\usepackage{stackengine}
\def\stackslashA#1#2{\def\stacktype{L}\stackon[0pt]{$#1{\phantom{#2}}$}{$\slashed{#2}$}}
\def\stackslashB#1#2{\def\stacktype{L}\stackon[0pt]{$#1{#2}$}{$\slashed{\phantom{#2}}$}}
\def\stackslash#1#2{\def\stacktype{L}\stackon[0pt]{$#1{#2}$}{$\slashed{#2}$}}
\begin{document}
Basic Elements: $D \hat D \slashed D $
Derived Elements:$\hat{\slashed{D}} \slashed{\hat D}$ (ugh!)
Stacked Phantoms: $\stackslashA{\hat}{D} \stackslashB{\hat}{D}$ (slight shifts)
Stacked Element: $\stackslash{\hat}{D}$ (double-stroked D)
\end{document}