PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeilenumbruch in \newcommand mit vorhandenen Bindestrichen



joh
03-03-2014, 15:11
Hallo zusammen,

ich habe folgendes Problem:
Da ich im Text das Erscheinungsbild fuer Verfahren absetzen wollte, hab ich mir neue Kommandos erstellt. Da sich die Abkuerzungen fuer die Verfahren auch aus Bindestrichen zusammensetzen hat sich nun ein Fehler im Zeilenumbruch eingeschlichen. Folgendes Minimalbeispiel sollte den Fehler ersichtlich machen:



\documentclass[ngerman]{scrbook}

\usepackage[T1]{fontenc}
\usepackage{babel}

\begin{document}

\newcommand{\gmres}{\textsf{GMR\footnotesize{ES}}}
\newcommand{\gmresm}{\gmres{$\mathsf{(m)}$}}
\newcommand{\rpgmresm}{\textsf{R\footnotesize{P}"=}\gmresm}


\noindent
Wendet man den \gmres-Algorithmus 2.7 auf diese Gleichung an,
so erh\"alt man das rechts-vorkonditionierte \gmres-Verfahren, welches
wir im weiteren Verlauf mit \rpgmresm-Verfahren bezeichnen werden.

\end{document}


Das "\rpgmresm-Verfahren" ist der Uebeltaeter, da hier der Zeilenumbruch nicht passiert. Zuerst hatte ich in der Definition des Kommandos einfach nur einen Bindestrich. Mit "= dachte ich, koennte ich das Problem beheben.
Funktioniert leider nicht.

Kommentiere ich "\usepackage[T1]{fontenc}" aus, schiebt er in der Zeile alles so hin, dass "RP-" vor und "GMRES(m)" nach dem Zeilenumbruch steht. Aber das sollte ja nicht die Loesung sein!?

Habt ihr irgendwelche Vorschlaege?

Danke
Jo

Studi
03-03-2014, 17:23
Hi Jo,

die eigentliche Ursache sehe ich spontan nicht, aber \usepackage{microtype} hilft (gesehen hier: Wie kann ich verhindern, dass Wörter über den Rand stehen? (http://texwelt.de/wissen/fragen/966/wie-kann-ich-verhindern-dass-worter-uber-den-rand-stehen) - ist ja hier auch das Symptom), und Du kannst T1 fontenc behalten.

Studi

joh
03-03-2014, 18:01
Das hat schonmal geholfen, danke dir.

Generell wuerd es mich aber doch interessieren, ob es nicht moeglich ist Umbruchvorgaben in Kommandos vorzugeben. Hat da jemand Erfahrungen?

u_fischer
03-03-2014, 19:45
Die Schriften sind leicht unterschiedlich, und daher ist für LaTeX die Umbruchstelle bei T1 einfach nicht akzeptablel. Füge einfach mal drei Buchstaben oder \emergencystretch2em hinzu, dann siehst du es.

joh
26-03-2014, 10:46
Hat etwas länger gedauert bis ich wieder mit dem Problem konfrontiert war.
Aber eure Ausführungen haben geholfen, danke!