PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umbruch vor betonten Ausdrücken erreichen



gentlesea
06-01-2009, 14:40
Wie kann ich generell verhindern, dass Begriffe, die ich mit \emph hervorhebe, über den Zeilenrand hinaus verlaufen? Ich habe einen recht langen Begriff, der einen Variablennamen darstellt, den ich nur ungerne treffen möchte. Eine Lösung dazu wäre, einfach vor dem Begriff manuell umzubrechen. Geht dies vielleicht auch automatisch und am Besten so, dass der Blocksatz erhalten bleibt?

Anfängerfrage, ich weiß... :D

René Geppert
06-01-2009, 15:00
ich kann das problem nicht nachvollziehen
auch innerhalb von \emph{} sollte normal umbrochen werden

beispiel?

Xenara
06-01-2009, 15:05
Ist der Variablen-Name ein "Kunstwort" und LaTeX weiss nicht, wo es trennen soll? In dem Fall würde es helfen, die Umbruchstellen manuell vorzugeben:
"Va\-ri\-a\-blen\-na\-me"

gentlesea
09-01-2009, 11:35
Beispiel hierzu wäre:


Ein QJoint hat die Attribute \emph{m\_CMatrixJointMatrix}, \emph{m_CMatrixRotationMatrixX}, \emph{m\_CMatrixRotationMatrixY}, \emph{m\_CMatrixRotationMatrixZ} und \emph{m\_CMatrixScaleMatrix}.


Die Wörter sind alle nicht bekannt und werden natürlich auch nicht umgebrochen. Ich könnte sie manuell mit \- trennen, das würde ich aber gerne vermeiden. Warum landet ein Wort, welches nicht umgebrochen werden kann nicht in der nächsten Zeile, sondern geht über den Rand hinaus?

Ich habe als Abhilfe ein \\ vor das Wort gemacht, dann landet es in der nächsten Zeile. Allerdings ist dann der Blocksatz der Zeile darüber nicht mehr korrekt.

Ich hoffe Ihr versteht das Problem jetzt und habt eventuell noch eine Idee. Sonst muss ich in den sauren Apfel beissen und die Variablennamen trennen...

Xenara
09-01-2009, 13:58
Die Wörter werden nicht in die nächste Zeile gesetzt, weil dann ja ebenso der Blocksatz hinüber ist.

Probier mal die Blocksatzregeln mit sloppy aufzuweichen, möglichst nur für den entsprechenden Absatz oder, wenn unbedingt nötig, fürs ganze Dokument, das könnte schon helfen.
Ansonsten hilft nur Trennen oder Satz umformulieren.

voss
09-01-2009, 14:23
Beispiel hierzu wäre:


Ein QJoint hat die Attribute \emph{m\_CMatrixJointMatrix}, \emph{m_CMatrixRotationMatrixX}, \emph{m\_CMatrixRotationMatrixY}, \emph{m\_CMatrixRotationMatrixZ} und \emph{m\_CMatrixScaleMatrix}.


Die Wörter sind alle nicht bekannt und werden natürlich auch nicht umgebrochen. Ich könnte sie manuell mit \- trennen, das würde ich aber gerne vermeiden. Warum landet ein Wort, welches nicht umgebrochen werden kann nicht in der nächsten Zeile, sondern geht über den Rand hinaus?

Ich habe als Abhilfe ein \\ vor das Wort gemacht, dann landet es in der nächsten Zeile. Allerdings ist dann der Blocksatz der Zeile darüber nicht mehr korrekt.

Ich hoffe Ihr versteht das Problem jetzt und habt eventuell noch eine Idee. Sonst muss ich in den sauren Apfel beissen und die Variablennamen trennen...

weil LaTeX nunmal kein Word ist und Zwischenräume beliebig groß macht, selbst wenn
es extrem gruselig aussieht. Du kannst den größtmöglichen Zwischenraum erhöhen:



\begingroup\emergencystretch{2em}% oder noch größeren Wert
....Dein Absatz ...
\endgroup

Herbert

gentlesea
09-01-2009, 15:25
Overfull \hbox (34.53526pt too wide) in paragraph at lines 54--55
[][]
! Missing number, treated as zero.
<to be read again>
{
l.59 \begingroup\emergencystretch{
50pt}

Gruselig aussehen ist natürlich Definitionssache ;)

voss
09-01-2009, 16:09
Overfull \hbox (34.53526pt too wide) in paragraph at lines 54--55
[][]
! Missing number, treated as zero.
<to be read again>
{
l.59 \begingroup\emergencystretch{
50pt}

Gruselig aussehen ist natürlich Definitionssache ;)


\begingroup\setlength\emergencystretch{2em}

Herbert