Minipage-Verpackung tabularx Überfüllte Box

Minipage-Verpackung tabularx Überfüllte Box
  1. Die Zeile Zur Erläuterung der...sollte die folgende Liste einführen. Dies führt zu einer nicht ausreichend gefüllten Hbox und ich kann sie einfach nicht loswerden.

  2. Um den Inhalt auf einer Seite zusammenzuhalten, habe ich in einem Beitrag die Lösung gefunden, alles in eine Miniseite zu packen. Ist das das richtige Verfahren? Denn dies führt zu überfüllten Boxen von 104ptca.

  3. Dasselbe gilt für die tabellarische Darstellung im Inneren. Sieht eigentlich so aus wie erwartet, aber die Warnungen machen mich wahnsinnig...

Das Problem mit den Miniseiten ist mir in meinem Dokument bereits ein paar Mal aufgefallen. Und ich versuche immer, mit der Zeilenbreite zu arbeiten ... Eines muss ich vorher noch hinzufügen: Ich habe in meiner Präambel bereits global keinen Einzug festgelegt. Hier ist mein Code:

\documentclass[
paper=a4,
parskip=half*   %vertikaler Abstand nach Absätzen
]{scrreprt}

\tolerance=2000
\emergencystretch=1em
\hfuzz=2pt
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{tabularx}

\begin{document}
    \noindent\begin{minipage}{\linewidth}
    Zur Erläuterung der Vorgehensweise definiert Bechmann die folgenden Variablen:

    \begin{tabularx}{\linewidth}{p{.35\linewidth}X}
        $K_1,K_2,\dots,K_n$ & die n Kriterien, bezüglich der bewertet werden soll.\\
        $A_1,A_2,\dots,A_m$ & die m verschiedenen Alternativen, die bewertet werden sollen.\\
        $g_1,g_2,\dots,g_n$ & Gewichte der Kriterien\\
        $k_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielertrag des i-ten Kriteriums bezüglich der j-ten Alternative\\
        $e_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielerfüllungsgrad des i-ten Kriteriums\\
        $N_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Teilnutzwert des i-ten Kriteriums bezüglich der j-ten Alternative\\
        $N_j$ $j=1,\dots,m$ & Nutzwert der j-ten Alternative\\
    \end{tabularx}

    \vskip .5em
    es gilt dabei $N_{ij}=g_i*e_{ij}$ \\ und $N_j=N_{1j}+N_{2j}+\dots+N_{nj}=\displaystyle\sum_{i=1}^{n}N_{ij}$
    \end{minipage}
\end{document}

BTW: falls es relevant ist: Ich verwende TexStudio 2.10.6 und MikTeX 2.9

Dies ist die Warnung

Antwort1

Wie ich in meinem Kommentar sagte, haben Sie ein Problem mit \parindent. Ihre Minipage-Breite mit \textwidthbeginnt nicht am linken Textrand, sondern etwas später parindentund ragt daher um den Betrag über den rechten Textrand hinaus, was eine Warnung auslöst Overfull \hbox (15.0pt too wide) in paragraph at lines 9--31. Wenn Sie vor begin{minipage}˛einem Befehl hinzufügen \noindentoder \parindentauf Null setzen, verschwindet diese Warnung:

\documentclass{article}
    \usepackage{tabularx}
%\setlength{\parindent}{0pt}

    \usepackage[showframe]{geometry}

\begin{document}
\noindent
\begin{minipage}{\textwidth}
Zur Erläuterung der Vorgehensweise definiert Bechmann die folgenden Variablen:

\vspace{\baselineskip}
    \begin{tabularx}{\linewidth}{lX}
$K_1,K_2,\dots,K_n$ & die $n$ Kriterien, bezüglich der bewertet werden soll.\\
$A_1,A_2,\dots,A_m$ & die $m$ verschiedenen Alternativen, die bewertet werden sollen.\\
$g_1,g_2,\dots,g_n$ & Gewichte der Kriterien\\
$k_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$
                    & Zielertrag des $i$-ten Kriteriums bezüglich der j-ten Alternative\\
$e_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$
                    & Zielerfüllungsgrad des $i$-ten Kriteriums\\
$N_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$
                    & Teilnutzwert des $i$-ten Kriteriums bezüglich der $j$-ten Alternative\\
$N_j$ $j=1,\dots,m$ & Nutzwert der $j$-ten Alternative\\
    \end{tabularx}

\vskip .5\baselineskip
es gilt dabei $N_{ij}=g_i*e_{ij}$  

und $N_j=N_{1j}+N_{2j}+\dots+N_{nj}=\displaystyle\sum_{i=1}^{n}N_{ij}$
    \end{minipage}
\end{document}

Bearbeiten:Ich habe einige Tippfehler im angegebenen MWE korrigiert. Beachten Sie auch: Wenn Sie den Tabelleninhalt der ersten Spalte am linken Rand der Miniseite beginnen möchten, sollten Sie Folgendes tun

\begin{tabularx}{\linewidth}{@{}lX}

Die vorgeschlagene Lösung funktioniert auch mit Ihrer Dokumentklasse (hinzugefügt bei Abschluss Ihres MWE):\documentclass[paper=a4,parskip=half*]{scrreprt}

Bearbeiten (2):Hier ist das Bild Ihrer mit Ihrem MWE generierten Miniseite.

Bildbeschreibung hier eingeben

Ich füge auch den fehlenden Teil Ihres Beispiels hinzu (das tut mir leid)

Antwort2

1)\noindent\begin{minipage}

2) keine Notwendigkeit, \\vor tabularx, wenn nötig

\makebox[\linewidth]{Zur Erläuterung der Vorgehensweise definiert Bechmann die folgenden Variablen:}

3)p{.3\linewidth}

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent\begin{minipage}{\linewidth}
\makebox[\linewidth]{Zur Erläuterung der Vorgehensweise definiert Bechmann die folgenden Variablen:}
    \begin{tabularx}{\linewidth}{p{.3\linewidth}X}
        $K_1,K_2,\dots,K_n$ & die n Kriterien, bezüglich der bewertet werden soll.\\
        $A_1,A_2,\dots,A_m$ & die m verschiedenen Alternativen, die bewertet werden sollen.\\
        $g_1,g_2,\dots,g_n$ & Gewichte der Kriterien\\
        $k_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielertrag des i-ten Kriteriums bezüglich der j-ten Alternative\\
        $e_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielerfüllungsgrad des i-ten Kriteriums\\
        $N_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Teilnutzwert des i-ten Kriteriums bezüglich der j-ten Alternative\\
        $N_j$ $j=1,\dots,m$ & Nutzwert der j-ten Alternative\\
    \end{tabularx}

    \vskip .5em
    es gilt dabei $N_{ij}=g_i*e_{ij}$ \\ und $N_j=N_{1j}+N_{2j}+\dots+N_{nj}=\displaystyle\sum_{i=1}^{n}N_{ij}$
    \end{minipage}
\end{document}

Antwort3

Bitte fügen Sie vollständige, minimale Arbeitsbeispiele bei, einschließlich der relevanten Pakete, die Sie verwenden.

Ihr Code erzeugt sowohl eine nicht volle als auch eine übervolle Box. Ich glaube nicht, dass das Erstellen einer Miniseite hier wirklich hilft. Ich kann empfehlen, die \tabularx{}Umgebung in eine \table{}Umgebung einzubinden, die in Ihrem Beispiel keine übervollen Boxen erzeugt. Auch das Geometriepaket hilft, wenn Sie die Breite Ihrer Seite ändern möchten.

  \documentclass{article}
  \usepackage[top=4cm, bottom=3cm, left=3cm, right=4cm]{geometry}
  \usepackage{tabularx}
  \begin{document}
     \begin{table}
          Zur Erläuterung der Vorgehensweise definiert Bechmann die folgenden Variablen: \\[0.5cm]
     \begin{tabularx}{\linewidth}{p{.35\linewidth}X}
          $K_1,K_2,\dots,K_n$ & die n Kriterien, bezüglich der bewertet werden soll.\\
          $A_1,A_2,\dots,A_m$ & die m verschiedenen Alternativen, die bewertet werden sollen.\\
          $g_1,g_2,\dots,g_n$ & Gewichte der Kriterien\\
          $k_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielertrag des i-ten Kriteriums bezüglich der j-ten Alternative\\
          $e_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Zielerfüllungsgrad des i-ten Kriteriums\\
          $N_{ij}$ $i=1,\dots,n$ $j=1,\dots,m$ & Teilnutzwert des i-ten Kriteriums bezüglich der j-ten Alternative\\
          $N_j$ $j=1,\dots,m$ & Nutzwert der j-ten Alternative\\
     \end{tabularx}
         \vskip .5em
     es gilt dabei $N_{ij}=g_i*e_{ij}$ und $N_j=N_{1j}+N_{2j}+\dots+N_{nj}=\displaystyle\sum_{i=1}^{n}N_{ij}$
    \end{table}
\end{document}

Bearbeiten:Es stellte sich heraus, dass der \table{}Wrap die überfüllte Hbox nicht wirklich behebt. Vielmehr hat das Geometriepaket das Problem behoben, indem es die Sitewidth erweitert hat, was möglicherweise keine geeignete Lösung ist. Überfüllte Hboxen können jedoch normalerweise durch erzwungene Hypothenierung behoben werden, wie \-im ersten Satz des angegebenen Beispiels.

Antwort4

Häufig werden die beschriebenen Symptome durch den Parskip-Einzug verursacht. In diesem offensichtlichen Fall kann dieser leicht behoben werden, indem man ihn entweder lokal \noindentvor den entsprechenden Absatz setzt oder allgemein als globale Definition durch \setlength{\parindent}{0pt}.

In meinem konkreten Fall wurde das Problem durch die Dokumentklassenoption parskip=half*desKOMA-Script. Das ist mir aufgefallen, als ich parksip=half* auskommentierte und die Lösung auf page 71derKOMA-ScriptHandbuch.

Hälfte*

eine halbe Zeile vertikaler Abstand zwischen den Absätzen; am Ende eines Absatzes muss mindestens eine Viertelzeile freier Abstand vorhanden sein

Das Problem war die zweite Bedingung: „mindestens eine Viertelzeile Freiraum am Ende eines Absatzes“.

Hälfte-

eine Zeile vertikaler Abstand zwischen den Absätzen

Daher bin ich auf den half-Befehl umgestiegen, um den vertikalen Abstand beizubehalten und die übervollen Kästchen loszuwerden.

Ich hoffe, dies hilft anderen mit dem gleichen Problem.

verwandte Informationen