
Ich möchte ein LaTeX-Makro definieren, das mehr oder weniger genauso funktioniert wie das hier, \overrightarrow
nur dass anstelle eines Pfeils eine Harpune verwendet wird. Ich habe viele Lösungen recherchiert, aber keine davon erfüllt den Zweck.
- Tikz-Lösung: sieht gut aus, hat aber keine variable Breite.
- Overset-Lösung: funktioniert wenn man die Harpune nach unten bewegt, allerdings auch keine variable Breite.
- Harpoon-Paketlösung: ist in der Breite variabel, aber die Harpune ist doppelt so hoch wie sie sein sollte. Die Form der Harpune variiert auch mit ihrer Breite, anstatt den gleichen Harpunenkopf beizubehalten und die Länge des Schwanzes zu variieren.
- Akzent-Set-Lösung: keine variable Breite.
- XeTeX-Lösung: das sieht genau so aus, wie ich es möchte, aber ich setze mein Dokument in LaTeX.
Gibt es eine Möglichkeit, die XeTeX-Lösung in LaTeX zu reproduzieren oder eine der anderen Lösungen so zu ändern, dass sie den gewünschten Eigenschaften entspricht?
Antwort1
\overrightarrow
Eine ziemlich grobe Lösung besteht darin, die Definition von von zu kopieren 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}
Kleinere Harpunen bekommt man mit einem modifizierten Code vonhttps://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}