Tabularx最小宽度尺寸和badbox错误

Tabularx最小宽度尺寸和badbox错误

我正在尝试复制这种表格

在此处输入图片描述

这是我的尝试

\documentclass[10pt,a4paper]{toptesi}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{tabularx}{\textwidth}{l l | l}
\toprule
\multicolumn{2}{l}{Nome}                            & Descrizione \\
\midrule
String                  & getName()                 & ottiene il nome della classe \\
int                         & getModifiers()            & ottiene il modifiers\\
\bottomrule
\end{tabularx}
\end{document}

这就是结果

在此处输入图片描述

首先我需要表格填满整个宽度页面,但主要的问题是这两列没有占据页面宽度的 50%,我无法摆脱这个 badbox 错误

Overfull \hbox (15.0pt too wide) in paragraph at lines 28--29

指的\end{tabularx}

答案1

发布的代码产生错误

! Undefined control sequence.
\@BTswitch ->{\CT@arc@ 

因为你没有\begin{document}

Overfull \hbox (15.0pt too wide) in paragraph at lines 16--17

是段落缩进

Underfull \hbox (badness 10000) in alignment at lines 16--16
[][][] 

是因为你拉伸了表格,但没有提供填充空间的方法,所以行未满

所以:

\documentclass[10pt,a4paper]{toptesi}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{booktabs}

\usepackage{tabularx}

\begin{document}
\begin{center}

\begin{tabularx}{\textwidth}{l l | X}
\toprule
\multicolumn{2}{l}{Nome}                            & Descrizione \\
\midrule
String                  & getName()                 & ottiene il nome della classe \\
int                         & getModifiers()            & ottiene il modifiers\\
\bottomrule
\end{tabularx}

\end{center}

\end{document}

答案2

超出的 15pt 是缩进(如果表格位于环境内,则不会得到它table)。

如果希望前两列合计占据文本宽度的一半,第三列也占据文本宽度的一半,则可以使用tabular*

\documentclass[10pt,a4paper]{toptesi}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{booktabs}
\usepackage{tabularx}

\begin{document}

\noindent
\begin{tabular*}{\textwidth}{
  @{}
  l
  l
  @{\extracolsep{\fill}}
  p{0.5\textwidth}
  @{}
}
\toprule
\multicolumn{2}{@{}l}{Nome}                            & Descrizione \\
\midrule
String                  & getName()                 & ottiene il nome della classe \\
int                         & getModifiers()            & ottiene il modifiers\\
\bottomrule
\end{tabular*}

\end{document}

在此处输入图片描述

但结果并不理想。垂直线没有任何作用,所以最好省略它。

请注意,“il 修饰语”是错误的,或许应该是“i 修饰语”(意大利语中的外来词没有屈折变化)。

相关内容