新しい可変幅の数学アクセントの定義

新しい可変幅の数学アクセントの定義

\overrightarrow矢印の代わりに銛を使用することを除けば、ほぼ同じように機能する LaTeX マクロを定義したいです。多くの解決策を調べましたが、どれもうまく機能しません。

  1. Tikzソリューション: 見た目は良いですが、幅は可変ではありません。
  2. オーバーセットソリューション: 銛を下に動かすと機能しますが、幅は可変ではありません。
  3. ハープーンパッケージソリューション: 幅は可変ですが、銛の高さは本来の 2 倍です。銛の先端は同じままで尾の長さを変えるのではなく、銛の形状も幅に応じて変化します。
  4. アクセントセットソリューション: 可変幅ではありません。
  5. XeTeXソリューション: これはまさに私が望んでいるもののように見えますが、私は文書を LaTeX でタイプセットしています。

XeTeX ソリューションを LaTeX で再現する方法、または他のソリューションの 1 つを変更して必要なプロパティに合わせる方法はありますか?

答え1

かなり大雑把な解決策としては、 の定義を\overrightarrowからコピーすることですamsmath

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\overrightharpoon}{%
  \mathpalette{\overarrow@\rightharpoonfill@}}
\def\rightharpoonfill@{\arrowfill@\relbar\relbar\rightharpoonup}
\makeatother

\begin{document}

$\overrightharpoon{aaaaaaa}+\overrightharpoon{a}$

\end{document}

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

改造コードを使えば、より小さな銛を手に入れることができます。https://tex.stackexchange.com/a/248297/4427

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\overrightsmallharpoon}{\mathpalette{\overarrowsmall@\rightharpoonfill@}}
\def\rightharpoonfill@{\arrowfill@\relbar\relbar\rightharpoonup}
\newcommand{\overarrowsmall@}[3]{%
  \vbox{%
    \ialign{%
      ##\crcr
      #1{\smaller@style{#2}}\crcr
      \noalign{\nointerlineskip}%
      $\m@th\hfil#2#3\hfil$\crcr
    }%
  }%
}
\def\smaller@style#1{%
  \ifx#1\displaystyle\scriptstyle\else
    \ifx#1\textstyle\scriptstyle\else
      \scriptscriptstyle
    \fi
  \fi
}
\makeatother

\begin{document}

$\overrightsmallharpoon{aaaaaaa}+\overrightsmallharpoon{a}$

\end{document}

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

関連情報