XeTeX で、サーカムフレックスの幅を広くしながらもサイズを固定するにはどうすればよいでしょうか?

XeTeX で、サーカムフレックスの幅を広くしながらもサイズを固定するにはどうすればよいでしょうか?

UTF-8サーカムフレックスが小さすぎるように見え、ソースから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

パッケージ経由で次の 2 つのコマンドを導入してみる価値があるかもしれませんxparse

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

次に、\operator{H}「通常の」出力を生成し、\operator*{H}曲折アクセント記号を伸ばします。

次の投稿もご覧ください:非常に幅広の帽子のシンボルパッケージが使用される場所scalerel。2つの入力を持つコマンドを定義することを考えるかもしれません。最初の入力は帽子の幅を与え、2番目の入力は文字です。

編集:

見てみたら解決策が見つかったと思う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 を行い、"wedge" ではなく "hat" のために編集 2 を行いました] 特定のフォントにアクセスできないため、デフォルトの LaTeX フォントの問題に対処します。私のソリューションを再パラメータ化する必要があります。これには、シンボル( )scalerelをストレッチするためのパッケージの使用が含まれます。変更されていない結果を示し、次に 1 つのパラメータ セットのストレッチの結果を示します。フォントの 3 つのパラメータを調整したら、それらの値を定義にロックします。 は 垂直ストレッチを定義します。は水平ストレッチを定義します。 は文字とオーバーハット間の垂直分離乗数を定義します。\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}

ここに画像の説明を入力してください

関連情報