mögliche Lösung zur Silbentrennung in \ttfamily

Schriftbild, Absätze und Auflistungen einstellen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

mögliche Lösung zur Silbentrennung in \ttfamily

Beitrag von MoonKid »

Für \ttfamily-Fonts wird per default kein Zeilenumbruch gemacht.

Um das zu "beheben" gibt es diverse Lösungen, von dennen keine so wirklch bei mir anschlägt.

Folgender Code führt zwar zur Silbentrennung, aber verwendet keinen typewriter font. Ich möchte unbedingt vermeiden, explizit einen Font zu setzen.
\documentclass{scrartcl}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=\-}
\begin{document}
\begin{ttfamily}
    \hspace{.9\textwidth}Anwenderfreundlichkeit
\end{ttfamily}
\end{document}
XeLaTeX, TeX Live, vim-latexsuite

Noch so einer

Beitrag von Noch so einer »

Standardlösung:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage[htt]{hyphenat}

\begin{document}
\ttfamily
    \hspace{.9\textwidth}Anwenderfreundlichkeit
\end{document}
Mit fontspec könnte man eventuell auch eine Font-Familie mit HyphenChar={-} (oder dem Unicode für ein anderes Trennzeichen) definieren (\- ist dagegen nicht sinnvoll, da das der Befehl zum Einfügen von Trennmöglichkeiten ist und nicht das Trennzeichen selbst). Das wäre insofern eventuell günstig, wenn man auch tt-Text ohne Trennung haben will:
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\newfontfamily{\nhttfamily}[HyphenChar={-}]{Latin Modern Mono}

\begin{document}
\nhttfamily
    \hspace{.9\textwidth}Anwenderfreundlichkeit
\end{document}
Das Paket fontspec habe ich eingefügt, weil der Online-Editor daran die Verwendung von XeLaTeX erkennt.

Mir gefällt die zweite Lösung besser.

Besserwisser

Beitrag von Besserwisser »

Höchstwahrscheinlich ein Crosspost ohne Verlinkung und ohne Weitergabe der dortigen Lösungen, was allerdings sehr unfreundlich wäre. Eventuell haben da ja zwei Leute zusammen ein Problem gefunden und sich dann nicht abgesprochen.

Antworten