LuaLaTeX - 表格(tabularx)无法摆脱未满的水平盒子(不良率 10000)

LuaLaTeX - 表格(tabularx)无法摆脱未满的水平盒子(不良率 10000)

好的,我已经尝试了解决这个问题的各种方法,并且~10 个水平盒子未满警告已经减少到 1 个。但是这个问题真的很棘手,我已经束手无策了。

警告针对的是表格型环境(不是表格环境),我高度怀疑它与最后一列有关,尤其是我用来处理数学模式的多列(我创建的,称为 O),因为我不希望标题使用数学字体。我还发现奇怪的是,没有使用该列的整个空间。还有,从第 2 列到第 5 列的 cmidrule-line没有完全通过就像 toprule 和 bottomrule 一样,所以我必须在右侧将其缩短为负数“cmidrule(lr{-13.5pt})...”。我不知道我做了什么导致这种情况,但我知道情况并非总是如此......

这就是我能给你的所有信息,我希望有一个简单的解决方案,我已经坐在这里好几个小时了:(((

编辑:警告指定了对齐,完整信息在这里:“第 345-345 行的对齐中 \hbox(badness 10000)未满”(这是 tabularx 环境的结束)

请不要因为我的(可能的)意大利面条代码而杀了我,下面是该表的缩短版本:

%(these are all the packages I put in so far, don't know if it matters much)
\documentclass[paper=a4, titlepage, fontsize=14pt, DIV=calc, parskip=half]{scrartcl}

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

\usepackage[autostyle = true, german = quotes]{csquotes}
%\usepackage[ngerman]{babel}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\setotherlanguages{english}

\usepackage{ulem}
\usepackage[x11names]{xcolor}

\usepackage{scrlayer-scrpage}
\usepackage{setspace}

\usepackage{booktabs}
\usepackage{array}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{tabulary} %tried to use this but tabularx is probably the better option for my use
\usepackage{ragged2e}

\usepackage{graphicx}
\usepackage{eso-pic}

\usepackage{hyperref}
\usepackage{url}

\usepackage{amsmath}\usepackage{amsfonts}\usepackage{amssymb}

%----------------------now to the table----------------------%

% math mode for the percentages
\newcolumntype{O}{>{$\displaystyle\hsize=0.8\hsize\RaggedRight}X<{$}}


\begingroup

\begin{table}[t]
\setlength{\tabcolsep}{5pt}
\renewcommand{\arraystretch}{1.5}

%just to make the horizontal lines touch the vertical one, irrelevant for this issue
\belowrulesep=0pt
\aboverulesep=0pt

\centering

\begin{tabularx}{\linewidth}{@{} >{\hsize=1.05\hsize\RaggedRight}X| >{\hsize=1.15\hsize\RaggedRight}X
>{\hsize=0.9\hsize\RaggedRight}X
>{\hsize=1.2\hsize\RaggedRight}X
O
@{}}

\toprule
Name &
Bedeutung &
Beispiel &
Entscheidungskriterium &
\multicolumn{1}{>{\hsize=0.8\hsize\RaggedRight}X}{Wahrscheinlichkeit} \\

\cmidrule(r{7.75pt}){1-1} \cmidrule(lr{-13.5pt}){2-5}

Höchste Karte & Keine der unteren Kombinationen & A♠ {\color{red}K♦} J♠ 7♣ 4♣ & Höhe  der einzelnen Karten & 17,41 \% \\
Straight Flush & Straße in einer Farbe & 8♣ 9♣ 10♣ J♣ Q♣ & Höchste Karte & 0,028 \% \\
Royal Flush & Straße in einer Farbe mit Ass als höchste Karte & {\color{red}10♦ J♦ Q♦ K♦ A♦} & Split Pot & 0,003 \%  \\ \bottomrule
\end{tabularx}

\end{table}
\endgroup

这是它现在的样子。不用担心内容,我在代码中删掉了大部分内容,以便于理解。但对于图像,我认为只要整个内容仍然存在就没关系了:

表格图像

答案1

您可以填写未满的框以删除警告

\begin{tabularx}{\linewidth}{@{\extracolsep{\fill}} >{\hsize=1.05\hsize\RaggedRight}X| >{\hsize=1.15\hsize\RaggedRight}X
>{\hsize=0.9\hsize\RaggedRight}X
>{\hsize=1.2\hsize\RaggedRight}X
O
@{}}

您还需要

\newcolumntype{O}{>{\hsize=0.8\hsize$\displaystyle\RaggedRight}X<{$}}

因此 hsize 的变化是在单元格末尾的范围内。

您还需要了解一些有关德语长单词的知识:-)

在此处输入图片描述

相关内容