Zeilenumbruch im Math Mode verhindern

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zeilenumbruch im Math Mode verhindern

von Noch so einer » Di 9. Jul 2013, 18:33

Wobei die Erhöhung von \tolerance auch dann zu einer Verschlechterung des Absatzumbruchs führen kann, wenn diese gar nicht notwendig wäre, weil es bereits zur Anwendung kommt, wenn der Absatz ohne Trennung nicht umbrochen werden kann. Das ist auch der Grund, warum \sloppy keine gute Idee ist.

Wenn der Fragesteller also eine Lösung sucht, die nur genau dann eine Auswirkung hat, wenn es notwendig ist, dann ist das keine. Immerhin ist es aber eine, die man noch recht gut steuern kann.

Eine andere Methode wäre ggf. \emergencystretch zu erhöhen. Diese Länge gibt an, wieviel zusätzlicher Anstand in einer Zeile eingefügt werden darf. Der Vorteil beim Erhöhen dieses Wertes ist, dass er (im Gegensatz zu \tolerance) erst zum Zuge kommt, wenn der zweite Umbruchversuch ebenfalls gescheitert ist. Er hat also weniger das Potential Absätze nur deshalb zu verschlechtern, weil in ihnen getrennt werden muss.
\documentclass[parskip=full-]{scrartcl}
\newenvironment{extraspace}[1]{%
  \par\setlength\emergencystretch{#1}\relax
}{%
  \par
}
\begin{document}
blub \hspace{0.8\textwidth} blub blub $a \in (a;b) \cap {Q}$

blub \hspace{0.8\textwidth} blub blub ${a \in (a;b) \cap {Q}}$


\begin{extraspace}{.2em}
blub \hspace{0.8\textwidth} blub blub ${a \in (a;b) \cap {Q}}$
\end{extraspace}
\end{document}
Ggf. kann man auch beide Methoden kombinieren.

von u_fischer » Di 9. Jul 2013, 16:11

Wie Stefan schrieb, kannst du Umbrüche durch Gruppieren (d.h. mit Klammern) verhindern. Aber dann steht eine Formel ggfs über und du musst die Parameter lockern (was zu schlechter aussehenden Absätzen führen kann):
\documentclass[parskip=full-]{scrartcl}
\newenvironment{tolerant}[1]{%
  \par\tolerance=#1\relax
}{%
  \par
}
\begin{document}
blub \hspace{0.8\textwidth} blub blub $a \in (a;b) \cap {Q}$

blub \hspace{0.8\textwidth} blub blub ${a \in (a;b) \cap {Q}}$


\begin{tolerant}{500}
blub \hspace{0.8\textwidth} blub blub ${a \in (a;b) \cap {Q}}$
\end{tolerant}
\end{document}

von boukkoun » Di 9. Jul 2013, 15:08

schade! dachte auch das sollte irgendwie zu bewerkstelligen sein.

danke für die antwort!

von Besserwisser » Di 9. Jul 2013, 14:16

Wenn die \mbox aus den Gründen, die der OP genannt hat, nicht funktioniert, dann ist Handarbeit angesagt, weil dann eben die reine Umbruchsteuerung per Parameter überfordert ist. Das Problem ist dann mit einem langen, nicht trennbaren Wort oder Ausdruck anderer Art vergleichbar. TeX kann viel, aber Wunder kann es keine.

von boukkoun » Di 9. Jul 2013, 13:46

Hallo,

ich weiß das Thema ist schon relativ lang her, aber ich wollte trotzdem eine Nachfrage stellen. Es ist doch beispielsweise klar, dass man nicht will, dass eine Formel der Art $a \in (a;b) \cap \mathbb{Q}$ vor oder nach $\in$ umgebrochen wird. Das ist weder weil die Formel wichtig ist, noch weil sie sonderlich lang ist, sondern weil es einfach formal unschön und unleserlich ist.

Gibt es denn immer noch keine andere Möglichkeit als davor ein \linebreak zu setzen? Was natürlich den Nachteil hat, dass jede kleine Veränderung im Text einen dazu zwingt diese neu zu setzen?

danke vielmals für Antworten!

von KOMA » Fr 23. Jan 2009, 11:18

Anonymous hat geschrieben:Danke, für die Antwort. Aber im Ernst: Man kann doch von einen Latex einen Befehl mit folgender Funktion erwarten: "Solange die Formel kleiner als eine Zeile, breche nicht in der Formel, sondern vor der Formel um."
Was dem am nächsten käme, wäre ein \linebreak[3] vor der Formal. In der Regel wird es aber nicht helfen, außer man wählt Umbrucheinstellungen, die zu Lochfraß führen und schon deshalb abzulehnen sind. Wenn eine Umbruch in einer Formal stört, ist das übrigens oft ein Hinweis, dann stellt sich die Frage, warum das so ist. Wenn die Antwort lauter: "weil die Formel so wichtig ist", dann lautet die Lösung des Problems in der Regel: Abgesetzt Formel verwenden.

Formel umbrechen, neue Zeile, mbox, newline

von DonCube » Mi 21. Jan 2009, 07:47

Guten morgen,
ich denke eine derartige Regel ist nicht sinnvoll und sehr schwer umzusetzen. Denn das hätte erhebliche Auswirkungen auf den Satzspiegel. Zudem geht man Textsatztechnisch davon aus, dass eine Formel die inline, also im Text steht auch wie Text behandelt werden darf. Ist sie wichtig oder oder hochkomplex sollte man sie aus typographischer Sicht vom Text absetzen.

Genau wie Stefan geschrieben hat gibt es aber dennoch Mittel und Wege den von LaTeX erstellten Satzspiegel zu beeinflussen. Man kann wunderbar 3-4h mit LaTeX rumexperimentieren. Nur weil mal irgendwie immer noch in Word denkt und sagt: Das muss doch so aussehen wie ich will. Aber das hat auch sein gutes. So lernt man viel über das System. Das ging früher soweit das ich eine riesige Präambel mit X Redefinitionen usw hatte. Irgendwann habe ich mal einen Arschtritt von einem netten LaTeXer bekommen.

Aber hier wirst du immer offene Augen und Ohren finden. Auch für Sonderkonstruktionen. So und nun wieder zu meinem Tee.

Grüße
DonCube

von Gast » Mi 21. Jan 2009, 07:34

Danke, für die Antwort. Aber im Ernst: Man kann doch von einen Latex einen Befehl mit folgender Funktion erwarten: "Solange die Formel kleiner als eine Zeile, breche nicht in der Formel, sondern vor der Formel um."

Umbrüche in mathematischen Formeln

von Stefan Kottwitz » Di 20. Jan 2009, 19:14

Hallo,

Umbrüche kann man verhindern und erzwingen, u.a. wie DonCube schreibt. Verhindern geht auch mit geschweiften Klammern in der Formel (Gruppieren), Erlauben geht, indem man dem Mathematikmodus schließt und öffnet, oder die TeX-Befehle \allowbreak, \nobreak verwendet uvm.
Oft ist es besser, den Text etwas zu variieren oder eben die Formel abzusetzen.

Helfen kann auch \sloppy (Wirkung durch Gruppieren begrenzen) oder \sloppypar oder noch besser eine der in l2tabu.pdf beschriebenen Alternativen zu \sloppy.

Viele Grüße,

Stefan

abgesetzte Formel einfügen mbox im mathmode

von DonCube » Di 20. Jan 2009, 08:28

Klar was soll er denn auch sonst machen?? Er kann ja keine Buchstaben wegnehmen. Ein Zeilenumbruch macht er ja immer dann, wenn eine Zeile voll ist. Wenn du dies durch eine mbox verhinderst schreibt er natürlich über den Rand. Du kannst natürlich auch vorher umbrechene mittels \\, \newline.

Alternativ könntest du eine abgesetzte Formel mit der equation Umgebung einfügen.

Gruß
DonCube

Nach oben