我有一个问题。你能帮助我吗?
\begin{table*}
\caption{The parameters setting}
\label{tab1}
\begin{tabularx}{\textwidth}{@{}l*{10}{C}c@{}}
\toprule
\textbf{algorithm}&\textbf{Population} & Generation & Crossover probability & Mutation rate & C1 & C2& weight & P$\alpha$ \\
\midrule
%\addlinespace
GABNL & $10 or 50$ & $1000 or 5000$& $0.5$& $0.1$& $-$ &$-$& $-$ &$-$ \\
\cline{1-9}
PSOBNL & $10 or 50$ & $1000 or 5000$& $-$& $-$& $2.0$& $2.0$& $0.4-0.9$& $-$\\
\cline{1-9}
proposed algorithm & $10 or 50$ & $1000 or 5000$& $-$ &$-$ &$-$& $-$& $-$& $0.25$\\
\bottomrule
\end{tabularx}
\end{table*}
答案1
一些一般性评论:
- 您发布的代码充斥着不可见的字符。除掉它们。
- 我看不出在数学模式下排版所有数字的理由。
- 该表似乎包含 1 个标题列和 8 个数据列。但是,环境
tabularx
定义为包含 12 列。为什么?3 个“缺失”列在哪里?实际上是否有任何列缺失? - 既然您正在使用该包的线条绘制宏
booktabs
,为什么要使用\cline
?\addlinespace
这会是一个更好的选择。
实现前面的逗号所暗示的更改,对应该如何C
定义列类型做出有根据的猜测,假设IEEEtran
应该使用文档类,并修复几个拼写错误,从而得到以下可编译的代码。我希望它接近您需要的。
\documentclass{IEEEtran}
\usepackage{tabularx,ragged2e,booktabs}
\newcolumntype{C}{>{\hspace{0pt}\Centering\arraybackslash}X} % just a guess
\begin{document}
\begin{table*}
\caption{Parameter Settings} \label{tab1}
\begin{tabularx}{\textwidth}{@{} l *{8}{C} @{}} % 9 columns total
\toprule
\bfseries Algorithm & \bfseries Population & Generation &
Crossover probability & Mutation rate & C1 & C2 &weight & $P\alpha$ \\
\midrule
GABNL & 10 or 50 & 1000 or 5000 & 0.5 & 0.1 & -- & -- & -- & -- \\
\addlinespace
PSOBNL & 10 or 50 & 1000 or 5000 & -- & -- & 2.0 & 2.0 & 0.4--0.9 & -- \\
\addlinespace
Proposed algorithm& 10 or 50 & 1000 or 5000 & -- & -- & -- & -- & -- & 0.25\\
\bottomrule
\end{tabularx}
\end{table*}
\end{document}
答案2
Mico 已经回答了您的问题,tabularx
但请注意,它tabularx
旨在控制单元格内的换行。它从未被设计用于像这样的数据表,因为这些数据表的条目内没有换行符。
强制表格变宽的唯一效果\textwidth
是条目中的文本之间留出过多的空间,从而使表格更难阅读。
这是使用标准呈现的相同数据tabular
,允许将单元格设置为其自然宽度。
\documentclass{IEEEtran}
\usepackage{array,booktabs}
\begin{document}
\begin{table*}
\centering
\caption{Parameter Settings} \label{tab1}
\begin{tabular}{@{} l *{8}{c} @{}} % 9 columns total
\toprule
\bfseries Algorithm & \bfseries Population & Generation &
Crossover probability & Mutation rate & C1 & C2 &weight & $P\alpha$ \\
\midrule
GABNL & 10 or 50 & 1000 or 5000 & 0.5 & 0.1 & -- & -- & -- & -- \\
\addlinespace
PSOBNL & 10 or 50 & 1000 or 5000 & -- & -- & 2.0 & 2.0 & 0.4--0.9 & -- \\
\addlinespace
Proposed algorithm& 10 or 50 & 1000 or 5000 & -- & -- & -- & -- & -- & 0.25\\
\bottomrule
\end{tabular}
X\dotfill \textit{to show the text width} \dotfill X
\end{table*}
\end{document}