在我的桌子上,号码是牢房外面的

在我的桌子上,号码是牢房外面的

问题:在我的表格中,最后一列的文本超出了单元格的范围。

梅威瑟:

\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安装,我把它注释掉了,所以结果可能和你的有点不同。此外,这段代码是不是可编译,因为我不想复制粘贴所有内容,而只想复制需要适应的部分。) 在此处输入图片描述

相关内容