XeTeX에서 곡절을 더 넓으면서도 여전히 고정된 크기로 만드는 방법은 무엇입니까?

XeTeX에서 곡절을 더 넓으면서도 여전히 고정된 크기로 만드는 방법은 무엇입니까?

UTF-8Circumflexes는 너무 작아 보이며 소스 에서 XeLaTeX로 생성된 PDF의 기호에 가깝습니다 .아사나 수학수학용 글꼴:

여기에 이미지 설명을 입력하세요

원천:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO,nabla=upright,partial=upright,vargreek-shape=unicode]{unicode-math}
\setmathfont{[Asana-Math]}

\newcommand*{\op}[1]{\hat{\mathup{#1}}}

\begin{document}

\begin{equation}
    \op{H} = \op{T} + \op{V} 
\end{equation}

\end{document}

곡절을 더 넓게 만들어 그 아래에 있는 기호와 더 명확하게 분리되도록 하고 싶지만 \widehat가변 크기의 곡절을 생성하므로 옵션이 아닙니다. 의 솔루션넓은 악센트의 크기를 수동으로 선택하려면 어떻게 해야 합니까? (수학 모드)나에게는 작동하지 않습니다. 사이에 약간의 호환성이 없는 것 같습니다.accents패키지와 UTF-8인코딩.

저는 Asana Math를 정말 좋아해서 글꼴을 바꾸고 싶지 않습니다.

답변1

어쩌면 패키지를 통해 두 가지 명령을 도입해 보는 것이 가치가 있을 수도 있습니다 xparse.

\DeclareDocumentCommand{\operator}{ s m }{
    \IfBooleanTF{#1}{
                    \widehat{#2}
            }{
                    \hat{#2}}
            }
    }

그런 다음 \operator{H}"정상" 출력을 제공하고 \operator*{H}곡절을 늘립니다.

어쩌면 다음 게시물도 보고 싶을 수도 있습니다.정말 넓은 모자 기호scalerel패키지가 사용되는 곳 . 두 개의 입력으로 명령을 정의하는 것을 생각할 수 있습니다. 첫 번째 입력은 모자의 너비를 제공하고 두 번째 입력은 문자를 제공합니다.

편집하다:

이제 보니 해결책이 있는 것 같습니다.source2e.pdf그리고encguide.pdf.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO,nabla=upright,partial=upright,vargreek-shape=unicode]{unicode-math}
\setmathfont{[Asana-Math]}
\DeclareSymbolFont{mylargesymbols}{OMX}{cmex}{m}{n}
\DeclareMathAccent{\mywidehat}{\mathord}{mylargesymbols}{"62}
\begin{document}
$\hat{\mathrm{H}} = \hat{\mathrm{T}} + \hat{\mathrm{V}} +\hat{abcdefgh}$

$ \widehat{\mathrm{H}} = \widehat{\mathrm{T}} + \widehat{\mathrm{V}} +\widehat{abcdefgh}$

$ \mywidehat{\mathrm{H}} = \mywidehat{\mathrm{T}} + \mywidehat{\mathrm{V}} +\mywidehat{abcdefgh}$
\end{document}

다음과 같은 결과를 제공합니다

여기에 이미지 설명을 입력하세요

모자는 여전히 확장되지만 이전의 경우처럼 극적이지는 않습니다.

답변2

[참고: 더 나은 수직 위치 지정을 위해 1을 편집하십시오. "웨지"가 아닌 "모자"에 대한 편집 2] 귀하의 특정 글꼴에 액세스할 수 없으므로 기본 LaTeX 글꼴에 대한 문제를 해결합니다. 내 솔루션을 다시 매개변수화해야 합니다. 기호( ) scalerel를 늘리기 위해 패키지를 사용하는 것이 포함됩니다 . 수정되지 않은 결과와 하나의 매개변수 세트에 대한 결과를 보여줍니다. 글꼴에 대한 세 가지 매개변수를 보정한 후 해당 값을 정의에 고정합니다. 수직 스트레치를 정의합니다. 수평 스트레치를 정의합니다. 문자와 오버햇 사이의 수직 분리 승수를 정의합니다 .\hat\char'136\Ht\Wd\Dp

\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\usepackage{adjustbox}

\newlength\svarraycolsep
\newcommand\althat[1]{%
\renewcommand\arraystretch{\Dp}%
\setlength\svarraycolsep{\arraycolsep}%
\setlength\arraycolsep{0in}%
\begin{array}{c}%
  \vstretch{\Ht}{%
    \hstretch{\Wd}{%
      \trimbox{.15ex .75ex .15ex .2ex}{\scalerel*{\char'136}{\rule{1ex}{1ex}}}%
    }%
  }\\%
  #1\\%
\rule{1ex}{0ex}\\%
\end{array}%
\renewcommand\arraystretch{1.0}%
\setlength\arraycolsep{\svarraycolsep}%
}

\parindent 0in
\begin{document}

Hat:

\( \hat{\mathrm{H}} = \hat{\mathrm{T}} + \hat{\mathrm{V}} \)

Carat(char'136):


\def\Ht{1.8}
\def\Wd{4.5}
\def\Dp{.3}
\( \althat {\mathrm{H}} = \althat {\mathrm{T}} + \althat {\mathrm{V}} \)

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보