Seite 1 von 1

mögliche Lösung zur Silbentrennung in \ttfamily

Verfasst: Di 2. Feb 2016, 21:26
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}

Verfasst: Mi 3. Feb 2016, 09:54
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.

Verfasst: Mi 3. Feb 2016, 09:58
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.