所以我想用帽子來表示狄拉克算子,我嘗試了\hat{\slashed{D}}
and \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。
然後,在第二行,我確認了OP的觀察結果,即創建複合字形\hat{\slashed{D}}
並\slashed{\hat D}
導致結果失真。我想這並不奇怪。
所以我認為這是為堆疊量身定制的,我可以將兩個基本元素疊加在一起以實現結果。我首先確認基本元素都是相同的寬度,沒有透過裝飾以某種方式橫向增強。當然,如果可能的話,我想避免雙擊字母D
,因此我在堆疊的兩個元素之一中使用了\phantom
a 。D
我發現,令我自己非常驚訝的是,模型也扭曲了結果。
大約在這個時候,亨利發布了他的解決方案,遠遠優於我自己的方法,因為它自然地隨著數學風格而擴展(而我必須scalerel
在我的解決方案之上添加設備才能實現這一點) 。我放棄了我的解決方案,投票給亨利,並給他留下了我的\phantom
觀察評論。但後來他詢問了 stackengine 結果,所以我繼續。
我的結果的第三行顯示了這些虛擬結果,第一行中帽子向左移動,第二行中筆劃向左移動。我認為這可能與字母特定的字距有關,因幻影而丟失。
所以,在第四行,我只是用雙擊來生活D
,就像亨利一樣。但是,這種方法目前的形式並不適合數學風格。
\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}