Definindo novo acento matemático de largura variável

Definindo novo acento matemático de largura variável

Desejo definir uma macro LaTeX que funcione mais ou menos exatamente como, \overrightarrowexceto com um arpão no lugar de uma flecha. Pesquisei muitas soluções e nenhuma delas funciona bem.

  1. Solução Tikz: parece bom, mas não tem largura variável.
  2. Solução exagerada: funciona se você mover o arpão para baixo, mas também não com largura variável.
  3. Solução de pacote Harpoon: tem largura variável, mas o arpão tem o dobro da altura que deveria. O formato do arpão também varia com sua largura, ao invés de manter a mesma cabeça do arpão e variar o comprimento da cauda.
  4. Solução de conjunto de acentos: largura não variável.
  5. Solução XeTeX: parece exatamente o que eu quero, mas estou compondo meu documento em LaTeX.

Existe uma maneira de reproduzir a solução XeTeX em LaTeX ou alterar uma das outras soluções para se adequar às propriedades desejadas?

Responder1

Uma solução bastante grosseira é copiar a definição de \overrightarrowfrom 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}

insira a descrição da imagem aqui

Você pode obter arpões menores usando um código modificado emhttps://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}

insira a descrição da imagem aqui

informação relacionada