\begin{table}[H]
\label{table:a}
\centering
\caption{N-type material groups by best temperature range}
\begin{tabular}{@{}lllll@{}}
\toprule
Group & Material & Best Temperature Range(K) & & \\ \midrule
Hot Side Material (700 K-1000 K) & \begin{tabular}[c]{@{}l@{}}CoSb3\\ PbTe\\ SiGe\end{tabular} & \begin{tabular}[c]{@{}l@{}}650-110\\ 600-850\\ \textgreater{}1000\end{tabular} & & \\
Cold Side Material (300 K-400 K) & Bi2Te3 & \textless{}350 & & \\
& & & & \\ \bottomrule
\end{tabular}
\end{table}
答案1
- 使用您提供的信息无法重现您的问题
一些离题的评论(除了在您的问题下面的评论中给出的之外):
- 不要使用
H
。它会破坏浮动机制,从而导致意想不到的丑陋结果。更好的方法是使用例如!ht
- 为什么定义五列但只使用三列?
- 对于化学公式,可以使用
mhchem
包中的宏 - 对于有单位的值最好使用
siunitx
包 对于多行单元格的内容,使用包
\makecell
中的命令很方便makecell
\documentclass{article} \usepackage{siunitx} \usepackage{booktabs, makecell} \usepackage[version=4]{mhchem} \usepackage[skip=1ex]{caption} \begin{document} \begin{table}[htb] \caption{N-type material groups by best temperature range} \label{table:a} \centering \begin{tabular}{ll l} \toprule Group & Material & Best Temperature Range \\ \midrule Hot Side Material (\SIrange{700}{1000}{\kelvin}) & \makecell[tl]{\ce{CoSb3}\\ \ce{PbTe}\\ \ce{SiGe} } & \makecell[tl]{\SIrange{650}{1100}{\kelvin}\\ \SIrange{600}{850}{\kelvin}\\ \SI{>1000}{\kelvin} } \\ \addlinespace Cold Side Material (\SIrange{300}{400}{\kelvin}) & \ce{Bi2Te3} & \SI{<350}{\kelvin} \\ \bottomrule \end{tabular} \end{table} \end{document}
- 不要使用
如需进一步帮助,请(正如您已经被要求的那样)提供包含您的表格的完整小文档。看来文档序言中的信息是您的问题的根源。
附录:根据@Skillmon 的评论,最好说最后一列的数字是开尔文温度,而不是只写数字:
...
\begin{tabular}{ll c}
\toprule
Group & Material & Best Temperature Range (K) \\ % <---
\midrule
Hot Side Material (\SIrange{700}{1000}{\kelvin})
& \makecell[tl]{\ce{CoSb3}\\ \ce{PbTe}\\ \ce{SiGe} }
& \makecell[t]{\SIrange{650}{1100}{}\\ % <--- no units in "SI"
\SIrange{600}{850}{}\\ % <--- no units in "SI"
\SI{>1000}{} }
\\
\addlinespace
Cold Side Material (\SIrange{300}{400}{\kelvin})
& \ce{Bi2Te3}
& \SI{<350}{} % <--- no units in "SI"
\\
\bottomrule
\end{tabular}
...
这使
对于大表来说,这是一个合理且更好的解决方案。