
Deseo definir una macro de LaTeX que funcionaría más o menos exactamente igual, \overrightarrow
excepto con un arpón en lugar de una flecha. He investigado muchas soluciones y ninguna de ellas funciona del todo.
- solución tikz: se ve bien, pero no tiene un ancho variable.
- solución exagerada: funciona si mueves el arpón hacia abajo, pero tampoco con un ancho variable.
- Solución de paquete de arpón: tiene un ancho variable, pero el arpón mide el doble de alto de lo que debería ser. La forma del arpón también varía con su ancho, en lugar de mantener la misma cabeza del arpón y variar el largo de la cola.
- Solución de conjunto de acentos: ancho no variable.
- Solución XeTeX: esto se ve exactamente como quiero, pero estoy escribiendo mi documento en LaTeX.
¿Hay alguna forma de reproducir la solución XeTeX en LaTeX o modificar una de las otras soluciones para que se ajuste a las propiedades que deseo?
Respuesta1
Una solución bastante burda es copiar la definición de \overrightarrow
from 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}
Puedes obtener arpones más pequeños usando un código modificado dehttps://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}