Janw.xyz

Doing things on the internet.

Schöne Gendergaps mit LaTeX erzeugen

Kürzlich habe ich festgestellt, wie furchtbar ein Gendergap in LaTeX aussieht, wenn es auf üblichem Wege (mittels Unterstrich \textunderscore) erzeugt wird. Besonders stört mich daran, dass der Unterstrich in der Schriftart Computer Modern (dem LaTeX-Default) ungewöhnlich lang ist und etwas zu tief steht. Hinzu kommt, dass in der deutschen Silbentrennung vor einem Unterstrich natürlich kein Wortumbruch vorgesehen ist, auch wenn dies bei langen ge-genderten durchaus sinnvoll sein kann. Besonders die “_innen”-Endung ist lang genug, um den sauberen Blocksatz für LaTeX unmöglich zu machen. Das äußert sich dann durch über den Block hinaushängenden Wörter.

Auf meiner Suche nach einer brauchbaren Lösung bin ich direkt auf eine StackOverflow-Diskussion zum Thema gestoßen, doch die dort markierte Lösung halte ich nicht für die beste Lösung. “The real TIL is always in the comments”: In der zweiten Antwort wird dort eine Skalierung des Unterstrichs mittels \adjustbox vorgeschlagen. Auch diese Lösung ist nicht ganz perfekt, da die vertikale Positionsanpassung nicht von der Schriftgröße abhängig ist und dementsprechend bei nicht-\normalsize Größen zunehmend “abdriftet”. Das hab ich korrigiert und noch ein wenig das Kerning optimiert.

Herausgekommen ist das folgende Minimalbeispiel, inklusive vom \gendergap abgeleiteten Makros, für die häufigsten Endungen:

 1%!TEX program=xelatex
 2\documentclass[varwidth=9cm, border=5mm]{standalone}
 3
 4\usepackage[ngerman]{babel}
 5\usepackage{ngerman}
 6\usepackage{adjustbox}
 7
 8\newcommand{\gendergap}{%
 9  \kern-.6pt%
10  \adjustbox{scale={0.5}{1},raise={0.25ex}{\height}}{\textunderscore}%
11}
12
13\newcommand\gginnen{"-\gendergap\relax{}in\-nen }
14\newcommand\ggin{"-\gendergap\relax{}in }
15\newcommand\gge{"-\gendergap\relax{}e }
16
17\begin{document}
18Altforscher\textunderscore innen\\
19
20Bricht um: Forscher\gginnen Forscher\n Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen Forscher\gginnen\\
21
22{\Huge Neuforscher\gginnen}\\
23{\huge Neuforscher\gginnen}\\
24{\LARGE Neuforscher\gginnen}\\
25{\Large Neuforscher\gginnen}\\
26{\large Neuforscher\gginnen}\\
27{\normalsize Neuforscher\gginnen} (normal)\\
28{\small Neuforscher\gginnen}\\
29{\footnotesize Neuforscher\gginnen}\\
30{\scriptsize Neuforscher\gginnen}\\
31{\tiny Neuforscher\gginnen}
32\end{document}

Das kompiliert zu folgendem Ergebnis, das aus meiner Sicht deutlich ansprechender aussieht, den Gendergap an eine vernünftige Position hebt und dank "- Makro aus dem guten alten ngerman-Paket auch die optionale Silbentrennung vor dem Gap hinzufügt (die ursprünglichen Trennungsmöglichkeiten des zugrunde liegenden Worts bleiben erhalten).

Beispiel des ästhetisch ansprechenden Gendergap im Vergleich zum gewöhnlichen Unterstrich (oben)
Beispiel des ästhetisch ansprechenden Gendergap im Vergleich zum gewöhnlichen Unterstrich (oben)

Zwei Bemerkungen zum Schluss:

  • Innerhalb von \caption-Umgebungen (vermutlich noch weiteren) muss das \gendergap Makro (und die \gg…-Derivate) geschützt werden. Dazu wird direkt davor ein \protect eingesetzt:
    ein\protect\gendergap e oder Forscher\protect\innen.
  • Falls jemand auf die Idee kommt, die gg-Präfixe von den Makros wegzulassen: die naheliegende Benennung von \in wird nicht funktionieren, weil die Variable innerhalb von TeX schon verwendet wird (wenngleich nur innerhalb von Matheumgebungen, für das ∈-Symbol)

Happy gender diversity! 🏳️‍🌈👋