问题:在我的表格中,最后一列的文本超出了单元格的范围。
梅威瑟:
\documentclass{article}
\usepackage{makecell, multirow}
\usepackage{siunitx}
\usepackage{etoolbox}
\newrobustcmd\B{\DeclareFontSeriesDefault[rm]{bf}{b}\bfseries}
\usepackage[skip=1ex, font=small, labelfont=bf]{caption}
\begin{document}
\begin{table}[ht]
\centering
\sisetup{detect-weight,
mode=text}
\setcellgapes{5pt}
\makegapedcells
\caption{My Table}
%\label{tab:...}
% \label{tab:my-table}
\begin{tabular}{|*{7}{S[table-format=1.1]|}
}
\hline
{\multirow{2.4}{*}{$P_{r}$}} & {\multirow{2.4}{*}{$N_{r}$}} & {\multirow{2.4}{*}{$A^{*}$}} & {\multirow{2.4}{*}{$B^{*}$}} & {\multirow{2.4}{*}{$E_{C}$}} & {\multirow{2.4}{*}{$\gamma$}} & {\multirow{2.4}{*}{$Re_{x^{-1/2}} N u_{x}$}} \\
& & & & & & \\ \hline
\B 3 &\B 5 &\B 1.2 &\B 1 &\B 0.5 & 1 & 0.0096352877 \\ \hline
\B 3.1 & 5 & 1.2 & 1 & 0.5 & 1 & \\ \hline
\B 3.2 & 5 & 1.2 & 1 & 0.5 & 1 & \\ \hline
3 &\B 5.1 & 1.2 & 1 & 0.5 & 1 & \\ \hline
3 &\B 5.2 & 1.2 & 1 & 0.5 & 1 & \\ \hline
3 &\B 5.3 & 1.2 & 1 & 0.5 & 1 & \\ \hline
3 & 5 &\B 1.3 & 1 & 0.5 & 1 & \\ \hline
3 & 5 &\B 1.4 & 1 & 0.5 & 1 & \\ \hline
3 & 5 &\B 1.5 & 1 & 0.5 & 1 & \\ \hline
3 & 5 & 1.2 &\B 1.1 & 0.5 & 1 & \\ \hline
3 & 5 & 1.2 &\B 1.2 & 0.5 & 1 & \\ \hline
3 & 5 & 1.2 &\B 1.3 & 0.5 & 1 & \\ \hline
3 & 5 & 1.2 & 1 &\B 0.2 & 1 & \\ \hline
3 & 5 & 1.2 & 1 &\B 0.3 & 1 & \\ \hline
3 & 5 & 1.2 & 1 &\B 0.4 & 1 & \\ \hline
3 & 5 & 1.2 & 1 & 0.5 & \B 1.1 & \\ \hline
3 & 5 & 1.2 & 1 & 0.5 & \B 1.2 & \\ \hline
3 & 5 & 1.2 & 1 & 0.5 & \B 1.3 & \\ \hline
\end{tabular}
\end{table}
\end{document}
答案1
正如@leandriis 所说,你只需要更改列定义。现在,使用|*{7}{S[table-format=1.1]|}
,你告诉 latex 你想要 7 列,其中的数字在小数点前有一位数字,在小数点后有一位数字,这就是它们的对齐方式。由于最后一列的小数点后有 10 位数字,因此 latex 只是因为你提供了不正确的信息而导致间距错误。你想要的是 6 列格式为“1.1”(小数点前一位数字,小数点后一位数字),之后是另一列格式为“1.10”。你可以通过以下方式实现此目的|*{6}{S[table-format=1.1]|} S[table-format=1.10]|
。
由于您似乎对进一步优化表格不感兴趣,因此我没有更改代码中的任何其他内容。
\begin{tabular}{|*{6}{S[table-format=1.1]|} S[table-format=1.10]|}
\hline
{\multirow{2.4}{*}{$P_{r}$}} & {\multirow{2.4}{*}{$N_{r}$}} & {\multirow{2.4}{*}{$A^{*}$}} & {\multirow{2.4}{*}{$B^{*}$}} & {\multirow{2.4}{*}{$E_{C}$}} & {\multirow{2.4}{*}{$\gamma$}} & {\multirow{2.4}{*}{$Re_{x^{-1/2}} N u_{x}$}} \\
& & & & & & \\ \hline
\B 3 & \B 5 & \B 1.2 & \B 1 & \B 0.5 & 1 & 0.0096352877 \\ \hline
\B 3.1 & 5 & 1.2 & 1 & 0.5 & 1 & \\ \hline
\B 3.2 & 5 & 1.2 & 1 & 0.5 & 1 & \\ \hline
% Put rest of your rows here.
\end{tabular}
(注意:由于我没有makecell
安装,我把它注释掉了,所以结果可能和你的有点不同。此外,这段代码是不是可编译,因为我不想复制粘贴所有内容,而只想复制需要适应的部分。)