PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Trennproblem mit underlines



tf_real10
12-12-2011, 09:36
Habe in meinem Dokument eine Menge an Bezeichnungen wie CanIf_DriverConfig_SType.

Um dies in Latex darzustellen muss ich ja vor die underscores ein backslash schreiben
CanIf\_DriverConfig\_SType

Nun passiert es jedoch, dass dieses Wort nicht mehr getrennt wird und über den Rand hinaus geschrieben wird.

Für einen speziellen Fall hab ich das nun so gelöst
(CanIf\_ \linebreak \mbox{DriverConfig}\textunderscore SType)

Was wunderbar funktioniert allerdings nicht sehr schön ist. Wenn ich den Text obendrüber ändere verschiebt sich wieder alles und ich muss diese Kommandokonstruktion anpassen.


Hatte es auch so probiert
CanIf\textunderscore ""\mbox{DriverConfig}\textunderscore ""SType)

Dann wird aber blöderweise an der zweiten Stelle getrennt und das Wort steht wieder über den Rand hinweg.

Wie kann ich allgemein sagen, dass solche Wörter generell nach einem _ getrennt werden sollen und zwar so, dass sie weiterhin innerhalb des Randes sind?

u_fischer
12-12-2011, 11:42
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{url}
\shorthandon{"}
\makeatletter
\declare@shorthand{ngerman}{"_}{\_""}
\makeatother
\shorthandoff{"}
\textwidth1cm
\begin{document}
CanIf"_DriverConfig"_SType CanIf"_DriverConfig"_SType CanIf"_DriverConfig"_SType CanIf"_DriverConfig"_SType

%Oder mit url:
\urlstyle{same}%
\url{CanIf_DriverConfig_SType} \url{CanIf_DriverConfig_SType} \url{CanIf_DriverConfig_SType}
\end{document}

Du solltest dir aber nicht zuviele Hoffnungen machen: Wenn du viele derartig lange Wörter mit nur wenigen Trennstellen hast, lässt sich etwas überstehen häufig einfach nicht vermeiden.