Formel geht über den Seitenrand hinhaus

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: Formel geht über den Seitenrand hinhaus

Re: Formel geht über den Seitenrand hinhaus

von nikmak » Do 7. Jan 2021, 15:47

Vielen lieben Dank für die ausführliche Hilfe und Aufklärung!:) Hat mir sehr geholfen!

Re: Formel geht über den Seitenrand hinhaus

von gast » Do 7. Jan 2021, 10:54

Danke für das gekürzte Beispiel. Ich werde mir nicht erlauben, die Optionen zu entfernen, die ohnehin Voreinstellung sind …

TeX erlaubt sowohl im Text als auch in der Mathematik nur an bestimmten Stellen einen Umbruch. Außerdem wird der Absatzumbruch so gesteuert, dass nicht beliebig viel Weißraum in eine Zeile eingefügt werden darf. Dadurch soll ein ausgewogener Satz mit einheitlichem Graueindruck erreicht werden. Findet TeX nach den eingestellten Parametern keinen guten Umbruch, so erzeugt es eine überlange Zeile und meldet das auch als "overfull \hbox". Genau das ist hier der Fall. Dazu muss man wissen, dass nach \max und \sum Umbrüche explizit verboten sind. Natürlich kann man dieses Verbot auch wieder aufheben:

\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}        

\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{showframe}%nur zu Testzwecken

\begin{document}
\noindent Angenommen, $q_1$ erfüllt (39). Dann folgt unmittelbar aus Gleichung
(40), dass  $\max \allowbreak \sum \allowbreak (q_1, \bar{k}(q_1)) \geq \sigma^*$ gilt.
\end{document}

Allerdings halte ich solche sinnentstellenden Umbrüche und generell einen Umbruch zwischen Operator und Argument für sehr ungünstig.

Man könnte natürlich auch einen Umbruch vor der Formel erzwingen:

\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}        

\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{showframe}%nur zu Testzwecken

\begin{document}
\noindent Angenommen, $q_1$ erfüllt (39). Dann folgt unmittelbar aus Gleichung
(40), dass \linebreak $\max \sum(q_1, \bar{k}(q_1)) \geq \sigma^*$ gilt.
\end{document}

Hier erhält man dann korrekter Weise eine "underfull \hbox", weil hier genau das genannte Problem mit dem zuviel Weißraum in der ersten Zeile entsteht.

Überhaupt erscheint es mir ungünstig, im Text eine Formel steht, die mit "max" beginnt. Daher würde ich dazu tendieren, diese Quintessenz aus zwei Gleichungen als abgesetzte Formel zu setzen:

\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}        

\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{showframe}%nur zu Testzwecken

\begin{document}
\noindent Angenommen, $q_1$ erfüllt (39). Dann folgt unmittelbar aus Gleichung
(40), dass \[ \max \sum(q_1, \bar{k}(q_1)) \geq \sigma^*\] gilt.
\end{document}

Beide Probleme lassen sich aber auch durch leichte Umformulierung lösen:

\documentclass[12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}        

\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage{showframe}%nur zu Testzwecken

\begin{document}
\noindent Angenommen, $q_1$ erfüllt (39), dann folgt aus Gleichung
(40): $\max \sum(q_1, \bar{k}(q_1)) \geq \sigma^*$.
\end{document}

Es sei vorsorglich auch noch darauf hingewiesen, dass wenn (39) und (40) nummerierte Gleichungen sind, man die Referenz nicht manuell setzen sollte, sondern mit \label und \ref bzw. \eqref. Ich gehe davon aus, dass das im Beispiel nur aus Minimierungsgründen unterlassen bzw. durch manuelle Verweise ersetzt wurde.

Re: Formel geht über den Seitenrand hinhaus

von markusv » Do 7. Jan 2021, 10:29

nikmak hat geschrieben:
Mi 6. Jan 2021, 15:58

Könnte es daran liegen, dass sich irgenwelche usepackages gegenseitig "behindern"? Oder liegt es an dem "Proof"-Modus.

Das hättest du ganz einfach durch Anwenden der Anleitung zum Minimalbeispiel selbst herausfinden können. Schmeiße ich alles nicht relevante heraus, erhalte ich folgendes minimales Beispiel, das das Problem immer noch zeigt und vermutlich den ein oder anderen Helfenden dazu bewegt, hier eine Lösung zu liefern. Sich erstmal durch hunderte Zeilen Code zu wälzen um das Problem einzugrenzen, ist nämlich Aufgabe des Fragestellers und nicht der Helfenden.

\documentclass[12pt,a4paper,onecolumn,oneside]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}        
\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry} \usepackage{showframe}%nur zu Testzwecken \begin{document} \noindent Angenommen, $q_1$ erfüllt (39). Dann folgt unmittelbar aus Gleichung (40), dass $\max \sum (q_1, \bar{k}(q_1)) \geq \sigma^*$ gilt. \end{document}

Formel geht über den Seitenrand hinhaus

von nikmak » Mi 6. Jan 2021, 15:58

Hallo zusammen,
Für meine Masterarbeit habe ich eine Vorlage aus einem Seminar verwendet. Im Laufe der Arbeit habe ich einige usepackages zugefügt. Nun habe ich das Problem, dass eine Formel im Mathemodus über mein Seitenrand hinaus geht:

Seitenrand.jpg

Könnte es daran liegen, dass sich irgenwelche usepackages gegenseitig "behindern"? Oder liegt es an dem "Proof"-Modus.
Hier sind meine usepackages:

\documentclass[12pt,a4paper,onecolumn,oneside]{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}                     
\usepackage{amsmath}
\usepackage{lscape}
\usepackage{amsfonts}
\usepackage{cases}
\usepackage{amssymb}
\usepackage{float}
\usepackage[fixamsmath,disallowspaces]{mathtools}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{amsthm}
\usepackage{accents}
\usepackage{stmaryrd}
\usepackage{multirow,array}
%\usepackage{fourier}
\usepackage{ragged2e}
\usepackage{caption}
\usepackage{tikz}
\usetikzlibrary{trees}
\usepackage{verbatim}
\captionsetup{format=plain,font=small,labelfont=bf,labelsep=colon,justification=RaggedRight}
\captionsetup[figure]{labelfont={bf},labelformat={default},labelsep=period,name={Fig.}}
\usepackage{color}
\usepackage{transparent}
\usepackage{calligra}
\usepackage[left=3cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage{setspace}
\usepackage[nottoc]{tocbibind}
\theoremstyle{definition}
\newtheorem{Prop}{Proposition}
\newtheorem{Definition}{Definition}
\newtheorem{Beispiel}{Beispiel}
\newtheorem{Korollar}{Korollar}
\newtheorem{Lemma}{Lemma}
\theoremstyle{remark}
\newtheorem{An}{Annahme}
\newtheorem*{lemmi}{Maximum-Theorem}
\setlength{\parindent}{0.5 cm}
\setlength{\parskip}{0 pt}
\newenvironment{literatur}{%
\parskip6pt \parindent0pt \raggedright
\def\lititem{\hangindent=0,5cm \hangafter1}}{%
\par\ignorespaces}
\newcommand\munderbar[1]{%
\underaccent{\bar}{#1}}
%\tolerance=1
%\emergencystretch=\maxdimen
%\hyphenpenalty=10000
%\hbadness=10000
\begin{document}
\begin{proof}
Angenommen, $q_1$ erfüllt (39). Dann folgt unmittelbar aus Gleichung (40), dass $\max \sum(q_1,\bar{k}(q_1))\geq \sigma^*$ gilt. Angenommen, $q_1$ erfüllt (39) nicht. Dann gilt $\forall k: \max \sum(q_1,k)<\sigma^*$. Für $k\geq \bar{k}(q_1)$ folgt dies aus (40). 
\end{proof}
\end{document}

Vielen Dank im Voraus!

lg Nik


Nach oben