\begin{table}[H]
\centering
\begin{tabularx}{\textwidth}{@{}|X|X|X|X|@{}}
\hline
Network & Feature Maps & Dense Layer & Epochs\\
\hline \hline
VGG16C++ & 3x3: 64/64/128/128/256/256/256/512/512/512/512/512/512 & 4096/4096/1000 & 30\\
VGG19C++ & 3x3: 64/64/128/128/256/256/256/256/512/512/512/512/512/512/512/512 & 4096/4096/1000 & 30\\
\hline
\end{tabularx}
\end{table}
第二列中的文本超出了列。我该如何纠正这个问题?谢谢
答案1
“硬编码”斜线符号 后不允许换行/
。要解决此问题,只需将所有/
符号(尤其是第二列中的符号)替换为\slash
(“软编码”斜线符号)。
一些额外的想法:
对于第 1、3 和 4 列,使用基本
l
列类型似乎比使用X
列类型更可取。当然,这些列不需要(甚至不需要)换行。\centering
由于环境的宽度tabularx
设置为,因此该指令毫无意义\textwidth
。请考虑通过省略所有垂直线并使用包装中间距适当的水平线,使表格看起来更加“开放”
booktabs
。进行此更改的效果如下面第二个表格所示。
\documentclass{article}
\usepackage{tabularx,ragged2e,booktabs}
\begin{document}
\begin{table}
\setlength\extrarowheight{2pt} % optional -- for a "less-cramped look"
\begin{tabularx}{\textwidth}{|l| >{\RaggedRight}X |l|l|}
\hline
Network & Feature Maps & Dense Layer & Epochs\\
\hline \hline
VGG16C++ & 3$\times$3: 64\slash64\slash128\slash128\slash256\slash256\slash256\slash512\slash512\slash512\slash512\slash512\slash512
& 4096/4096/1000 & 30\\
VGG19C++ & 3$\times$3: 64\slash64\slash128\slash128\slash256\slash256\slash256\slash256\slash512\slash512\slash512\slash512\slash512\slash512\slash512\slash512
& 4096/4096/1000 & 30\\
\hline
\end{tabularx}
\bigskip\bigskip
\setlength\extrarowheight{0pt} % reset to default
\begin{tabularx}{\textwidth}{@{}l >{\RaggedRight}X ll@{}}
\toprule
Network & Feature Maps & Dense Layer & Epochs\\
\midrule
VGG16C++ & 3$\times$3: 64\slash64\slash128\slash128\slash256\slash256\slash256\slash512\slash512\slash512\slash512\slash512\slash512
& 4096/4096/1000 & 30\\ \addlinespace
VGG19C++ & 3$\times$3: 64\slash64\slash128\slash128\slash256\slash256\slash256\slash256\slash512\slash512\slash512\slash512\slash512\slash512\slash512\slash512
& 4096/4096/1000 & 30\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}