ミニページラッピング tabularx オーバーフルボックス

ミニページラッピング tabularx オーバーフルボックス
  1. この行では、Zur Erläuterung der...次のリストを導入する必要があります。これにより、不足している hbox が生成され、それを取り除くことができません。

  2. コンテンツを 1 ページにまとめるために、すべてをミニページにラップするという解決策を、ある投稿で見つけました。これは正しい手順でしょうか? これによって、約 のボックスがいっぱいになってしまうからです104pt

  3. 内部の表も同様です。実際には予想どおりのように見えますが、警告が気になります...

すでに私のドキュメントでミニページの問題に何度か気付きました。そして、私は常に行幅で作業するようにしています... 前に 1 つ追加します: 私はすでにプリアンブルでグローバルにインデントを設定していません。これが私のコードです:

\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}

ところで、関連がある場合:私はTexStudio 2.10.6とMikTeX 2.9を使用しています

これは警告だ

答え1

私のコメントで述べたように、 に問題があります\parindent。 のミニページ幅が の\textwidth後に左のテキスト境界から開始されずparindent、その結果、その分だけ右のテキスト境界がはみ出して警告が発生しました。コマンドOverfull \hbox (15.0pt too wide) in paragraph at lines 9--31の前に を追加するか、ゼロに設定すると、この警告は消えます。begin{minipage}˛\noindent\parindent

\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}

編集:与えられたMWEの入力ミスを修正しました。また、ミニページの左端から最初の列の表の内容を開始したい場合は、次のようにしてください。

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

提案されたソリューションは、ドキュメント クラス (MWE の完了時に追加される) でも機能します。\documentclass[paper=a4,parskip=half*]{scrreprt}

編集(2):これは、MWE で生成されたミニページの画像です。

ここに画像の説明を入力してください

例の欠けている部分も追加します(申し訳ありません)

答え2

1)\noindent\begin{minipage}

2)必要で\\あれば事前に行う必要はないtabularx

\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}

答え3

使用する関連パッケージを含む、最小限の動作例をすべて含めてください。

コードでは、不足ボックスと過剰ボックスの両方が生成されます。ここでは、ミニページの作成があまり役に立たないと思います。この例では、過剰ボックスが生成されない環境\tabularx{}に環境をラップすることをお勧めします\table{}。また、ページの幅を変更する場合は、ジオメトリ パッケージが役立ちます。

  \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}

編集:結局、\table{}wrap では、hbox がいっぱいになりすぎる問題は解決されません。geometry パッケージは、サイト幅を広げることでこの問題を解決しましたが、これは適切な解決策ではないかもしれません。ただし、hbox がいっぱいになりすぎる問題は、通常、\-例の最初の文で示したように、強制的にハイポテンシングすることで解決できます。

答え4

多くの場合、説明されている症状は parskip インデントによって発生します。この明らかなケースでは、\noindentそれぞれの段落の前にローカルに を設定するか、または によるグローバル定義として一般的な方法で を設定することで簡単に解決できます\setlength{\parindent}{0pt}

私の場合、問題はドキュメントクラスオプションによって発生しました。parskip=half*KOMAスクリプト. 私はparksip=half*をコメントアウトしたときにこれに気づき、解決策を見つけました。page 71KOMAスクリプトマニュアル。

半分*

段落間の縦方向のスペースは半行です。段落の最後には少なくとも四分の一行の空きスペースが必要です。

問題は、2 番目の条件、「段落の最後に少なくとも 4 分の 1 の行の空きスペースがあること」でした。

半分-

段落間の縦方向のスペースを1行にする

half-そのため、垂直方向のスペースを維持し、オーバーフルのボックスを削除するコマンドに切り替えました。

これが同じ問題を抱えている他の人たちの助けになれば幸いです。

関連情報