![minipage 包装 tabularx 满箱](https://linux22.com/image/327781/minipage%20%E5%8C%85%E8%A3%85%20tabularx%20%E6%BB%A1%E7%AE%B1.png)
该行
Zur Erläuterung der...
应引入以下列表。这会产生一个未满的水平盒子,而我就是无法摆脱它。为了将内容集中在一页上,我在一些帖子中找到了解决方案,将所有内容包装到一个小页面中。这是正确的做法吗?因为这会导致大约 的框过满
104pt
。里面的表格也是一样。它实际上看起来像预期的那样,但是警告让我抓狂...
我已经注意到我的文档中几次出现小页面的问题。而且我总是尝试使用线宽...之前要补充一点:我已经在序言中全局设置了无缩进。这是我的代码:
\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
。您的 minipage 宽度与\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{}
包装并不能真正解决水平盒子过满的问题。相反,几何包通过加宽站点宽度来解决这个问题,这可能不是一个合适的解决方案。然而,水平盒子过满的问题通常可以通过\-
在给定示例的第一句中使用强制假设来解决。
答案4
\noindent
通常,所描述的症状是由 parskip 缩进引起的。在这个明显的情况下,可以通过在相应段落之前进行本地设置或以一般方式通过 进行全局定义来轻松解决\setlength{\parindent}{0pt}
。
在我的具体案例中,问题是由文档类别选项引起的parskip=half*
在我的具体案例中,KOMA 脚本。我在注释掉 parksip=half* 时注意到了这一点,并在page 71
在KOMA 脚本手动的。
一半*
段落之间有半行垂直空间;段落末尾必须至少有四分之一行的空白
问题出在第二个条件:“段落末尾至少有四分之一行的空闲空间”。
一半-
段落之间垂直间距为一行
因此我切换到half-
命令以保持垂直空间并摆脱过满的盒子。
我希望这能帮助其他遇到同样问题的人。