Breiter Gravis für {xe|lua}latex + unicode-math
Füttert man `xelatex` oder `lualatex` mit
\documentclass{article}
\pagestyle{empty}
\usepackage{unicode-math}
%%% siehe http://texwelt.de/fragen/26664/breiter-gravis-fur-pdflatex/26908
\usepackage{graphicx}
\makeatletter
\newcommand\widegrave[1]{%
\mathpalette\@wideaccent{{#1}{\mathchar"7012}}%
}
\newcommand*\@wideaccent[2]{%
\@@wideaccent{#1}#2%
}
\newcommand\@@wideaccent[3]{%
\setbox\@tempboxa\hbox{$\m@th#1#2$}%
\@tempdima=\ht\@tempboxa
\@tempdimb=\wd\@tempboxa
\ooalign{%
\box\@tempboxa\cr
\hidewidth\raise\dimexpr\@tempdima-1ex\relax\hbox{\resizebox{\@tempdimb}{\height}{$\m@th#1#3$}}\hidewidth
}%
}
\makeatother
\begin{document}
Gut: \(\grave{a}\) \ldots\ \(\grave{z}\) \(\grave{A}\) \ldots\ \(\grave{Z}\) \(\grave{\alpha}\) \ldots\ \(\grave{\omega}\) \(\grave{\Gamma}\) \ldots\ \(\grave{\Omega}\) \(\grave{\aleph}\)\\
Beschissen: \(\grave{lang}\)\\
Kompiliert nicht: \(\widegrave{x}\ \widegrave{lang}\)
\end{document}
so entsteht
! Package graphics Error: Division by 0.
See the graphics package documentation for explanation.
Type H <return> for immediate help.
...
l.26 Kompiliert nicht: \(\widegrave{x}
\ \widegrave{lang}\)
? Q
in der Standardausgabe und
[![PDF-Ausgabe][1]][1]
in der PDF.
Wie man sieht, ist der Gravis über „lang“ in der zweiten Zeile zu kurz. Ich hätte
Wir hätten gerne ein Macro \widegrave, das bei Kompilierung mit `xelatex` mit `unicode-math` über seinem Parameter
- einen normalen Gravis liefert, wenn der Parameter einen kurzen Text (etwa einen Buchstaben) erzeugt, und
- einen langen Gravis, wenn der Parameter einen langen Text (etwa mehrere Buchstaben) erzeugt, also einen langen Rückstrich \ über einem Wort, der mit der Länge des Arguments wächst und höchstens so lang ist wie das Wort selbst.
Ideen?
[1]: https://texwelt.de/upfiles/mwe.png