Formel geht über den Seitenrand hinhaus

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


nikmak

Formel geht über den Seitenrand hinhaus

Beitrag von nikmak »

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


markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Re: Formel geht über den Seitenrand hinhaus

Beitrag von markusv »

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}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

gast

Re: Formel geht über den Seitenrand hinhaus

Beitrag von gast »

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.


nikmak

Re: Formel geht über den Seitenrand hinhaus

Beitrag von nikmak »

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


Antworten