我正在尝试复制这种表格
这是我的尝试
\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 修饰语”(意大利语中的外来词没有屈折变化)。