PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rechter Rand wird durch durchbrochen



pheidrias
13-12-2007, 18:46
Hallo Latexler!

Ich bin auf ein merkwürdiges Phänomen gestoßen.

LaTeX scheint bestimmte (nicht trennbare) Elemente nicht rechtzeitig umzubrechen.

So erzeugt folgender Code eine zu lange erste Zeile:



\documentclass[11pt,a4paper]{article}

\usepackage[utf8]{inputenc} % Kodierung
\usepackage[ngerman]{babel} % Sprache

\begin{document}
Wie gro\ss{} ist die L"oslichkeit von AgCl in einer Ammoniakl"osung (c\,=\,0,1\,mol/l)
Dies ist ein l"angerer Text, der demonstrieren soll, wo die normale Seitenbreite im Dokument erscheint. Also die fach- und sachgerechte Arbeit von Latex.
\\

\end{document}


Das Problem ist, daß er wohl den Ausdruck in den Klammern (c\,=\0,1\mol/l) nicht als zu groß erkennt und vollständig in die nächste Zeile verbannt.

Wie kann ich ihm (ohne jedesmal aktive Zeilenumbrüche zu setzen) ein vernünftiges Erkennen beibringen?

Vielsten Dank für Vorschläge,
pheidrias

Xenara
13-12-2007, 19:56
Hab ich das Problem richtig verstanden, dass eben das in Klammern in den Rand geht anstatt in die nächste Zeile zu rutschen?
LaTeX weiss hier einfach nicht, wo er umbrechen soll. Durch den Einsatz von "\," sagst du ja explizit, dass es ein verkleinerter Abstand sein soll und kein Zeilenumbruch erfolgen darf. Macht ja auch Sinn, da man es meist zwischen Zahl und Einheit verwendet.
Wenn LaTeX den Ausdruck in die nächste Zeile rückt, sieht das ebenfalls ziemlich bescheiden aus, da zu viel in der Zeile freibleibt.
Als Lösung fällt mir nur ein, entweder den Klammerausdruck mit normalen (umbrechbaren) Leerzeichen zu schreiben, tatsächlich den Umbruch mit \newline zu erzwingen oder - die eleganteste Methode - den Satz umformulieren, damit es besser passt.

pheidrias
13-12-2007, 20:27
Hallo Xenara!

Das ist ja gerade das, was ich verhindern wollte - LaTeX wieder Vorschriften machen und ihm damit seiner Macht, ein Blatt selber zu gestalten zu berauben...

Selbst wenn ich mehrere dieser unumbrechbaren (~ oder \, ) Leerzeichen verwende, bricht er nie um - ich kann die folgenden Zeichen sogar aus dem Papier rechts "rausschieben" - so daß sie ganz verschwinden!

Das kann doch nicht sein - oder?
Die bessere Lösung wäre doch auf jeden Fall, die Zeile vorzeitig umzubrechen!

Wenn ich dann irgendwie die Gesamtformatierung ändern will, muß ich ja wieder alles nach Fehlern (also neuen Übertretungen) durchchecken :-(.


Keine anderen Schalter, die man umlegen kann?

:confused:,
pheidrias

trinix
13-12-2007, 21:11
Also ich habe mal dein Bsp. gesetzt und bei mir kommt das folgende Bild raus. Was entsteht bei dir?

bischi
13-12-2007, 21:14
Ach ja - übrigens: Es heisst: Der Text wird umbrochen - nicht: Der Text wird umgebrochen!!!

MfG Bischi

trinix
13-12-2007, 21:19
Warum wusste ich dass das kommt... :D

Christian

Xenara
13-12-2007, 21:51
Hi,



Das ist ja gerade das, was ich verhindern wollte - LaTeX wieder Vorschriften machen und ihm damit seiner Macht, ein Blatt selber zu gestalten zu berauben...

Ja aber dadurch, dass du eine, für diese Zeile zu lange, Zeichenfolge definierst, hat LaTeX keine Möglichkeit, da was sinnvolles zu machen. Wenn die halbe Zeile leer bleibt, würdest du das auch nicht hübsch finden, oder?



Selbst wenn ich mehrere dieser unumbrechbaren (~ oder \, ) Leerzeichen verwende, bricht er nie um - ich kann die folgenden Zeichen sogar aus dem Papier rechts "rausschieben" - so daß sie ganz verschwinden!

Das kann doch nicht sein - oder?
Die bessere Lösung wäre doch auf jeden Fall, die Zeile vorzeitig umzubrechen!

Ja aber du sagst ihm doch, er _darf_ auf keinen Fall umbrechen. Wie soll er sonst trennen? Mit dieser Vorgabe käme vielleicht sowas raus:
(c\,=\,0,
1\,mol/l)



Wenn ich dann irgendwie die Gesamtformatierung ändern will, muß ich ja wieder alles nach Fehlern (also neuen Übertretungen) durchchecken :-(.


Ja, genau deswegen macht man diese Feinarbeit auch erst gaaaanz zum Schluss. Es werden immer mal solche Kleinigkeiten auftauchen, die man trotz LaTeX selbst manuell einfügen muss.



Keine anderen Schalter, die man umlegen kann?

Vielleicht wissen die Profis was? Es gab mal mindestens zwei Threads, in denen es um den automatischen Zeilenumbruch bei einer DNA-Sequenz ging, da war auch genau die Frage danach, ob man LaTeX nicht beibringen kann, am Ende der Zeile rücksichtslos einfach umzubrechen. Ich habe aber nie mitbekommen, dass diese Fragestellung befriedigend gelöst werden konnte.
Weiss jemand näheres?

Grüsse,
Xenara

trinix
14-12-2007, 07:36
...Keine anderen Schalter, die man umlegen kann?

Wenn du diesen einen Abschnitt mit \sloopy setzt könnte sich eine Besserung einstellen. Ansonsten einfach umformulieren!

pheidrias
14-12-2007, 11:16
@trinix4: Genau das ist das ist das Bild, was ich bekomme.
In diesem Kurzbeispiel sieht's nicht so schlimm aus - aber das trat dann öfter in meinem Dokument auf und man kann den Text ja quasi "aus Versehen" verschwinden lassen...

@bischi5: DANKE! ;-)

@Xenara7: Ich dachte, daß man einem Rand die höhere Priorität als dem Blocksatz geben sollte...gerade, weil da ja das Papier zuende gehen könnte?

@trinix8: GENAU DAS ISSES! Danke!
Jetzt bricht er vor dem Klammerausdruck um und zieht die erste Zeile auch noch groß genug, daß man einen schönen Blocksatz behält.

War schon kurz davor, wieder zu Word zu wechseln ;-).
Ihr habt mich und meinen Glauben in LaTeX noch gerettet!

Es dankt,
pheidrias

trinix
14-12-2007, 17:03
Na dann noch viel SPASS!!!!!!!!

Schönes WE...
Christian