그래서 저는 Dirac 연산자를 모자로 표시하고 싶고 두 가지를 모두 시도했습니다 \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
글리프를 두 번 치는 것을 방지하기 위해 다음 방법을 사용할 수 있지만 AFAIK는 \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가 아무것도 포함하지 않은 상자 위에 있기 때문에 문자 D에 대한 글꼴 메트릭 정보를 얻을 수 없기 때문입니다 . 그래서 우리는 악센트 문자( \mathrlap
)를 설정한 다음 D 위에 있는 것처럼 슬래시를 설정합니다.
답변3
이것은 내가 예상했던 것보다 연습으로서 훨씬 더 흥미로웠습니다. 내 대답의 첫 번째 행에는 우리가 작업 중인 기본 요소인 D, 모자가 있는 D, 슬래시가 있는 D를 제공합니다.
\hat{\slashed{D}}
그런 다음 두 번째 줄에서 합성 글리프를 생성 하고 \slashed{\hat D}
결과에 왜곡을 일으킨다 는 OP의 관찰을 확인합니다 . 별로 놀라운 일은 아닌 것 같아요.
그래서 저는 이것이 스택을 위해 맞춤 제작된 것이라고 생각했습니다. 여기서 두 가지 기본 요소를 서로 겹쳐서 결과를 얻을 수 있었습니다. 나는 먼저 기본 요소가 장식에 의해 어떤 방식으로든 측면으로 확대되지 않고 모두 동일한 너비임을 확인했습니다. 물론 가능하다면 문자를 두 번 치는 것을 피하고 싶었 기 때문에 스택의 두 요소 중 하나에 of를 D
사용했습니다 . 그리고 나는 유령이 결과를 왜곡한다는 사실을 나 자신에게도 매우 놀랍게도 발견했습니다. \phantom
D
scalerel
이 무렵 Henri는 내 자신의 접근 방식보다 훨씬 뛰어난 자신의 솔루션을 게시했습니다. 왜냐하면 자연스럽게 수학 스타일에 맞게 확장되기 때문입니다(반면 저는 이를 달성하려면 내 솔루션 위에 장치를 추가해야 했습니다 ). 나는 내 솔루션을 포기하고 Henri에게 투표하고 그에게 내가 \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}