表格文字重叠

表格文字重叠

我正在尝试使用以下代码制作表格,但第一列第二行的内容与第一列第三行的内容重叠。整行都不会发生这种情况。我尝试使用 scriptsize、small,通过定义“extra”来更改行之间的长度,正如一些帖子所建议的那样,但似乎都不起作用。我在这里遗漏了什么?我得到了如下所示的输出,针对问题 - 列。

 \newlength{\extra}
  \setlength{\extra}{.8ex}

 \begin{table}[]
 \centering
\begin{tabular}{|l|l|l|l|l|}
\hline
\rowcolor[HTML]{67FD9A} 
\textbf{\begin{tabular}[c]{@{}l@{}}Mechanical\\ System\end{tabular}}                             
& \textbf{\begin{tabular}[c]{@{}l@{}}Current limit\\          (A)\end{tabular}} & 
\textbf{\begin{tabular}[c]{@{}l@{}}Power\\ Input (W)\end{tabular}} & \textbf{\begin{tabular} 
[c]{@{}l@{}}Power\\ Output (W)\end{tabular}} & \textbf{\begin{tabular}[c]{@{}l@{}}Efficiency\\    
(\%)\end{tabular}} \\ \hline
                                                                                             & 
 133                                                                           & 31807                                                              
& 28992                                                               & 91.15                                                                 
\\ \cline{2-5} 
\multirow{-2}{*}{\textbf{\begin{tabular}[c]{@{}l@{}}\scriptsize With \\ \scriptsize 
Rotational\\ \scriptsize Damper\end{tabular}}}   & 200                                                                           
& 37319                                                              & 34067                                                               
& 91.285                                                                \\  \hline
                                                                                             & 
133                                                                           & 18159                                                              
& 16005                                                               & 88.14                                                                 
\\ [\extra] \cline{2-5} 
\multirow{-2}{*}{\textbf{\begin{tabular}[c]{@{}l@{}}Without\\ Rotational\\ 
Damper\end{tabular}}} & 200                                                                           
& 18603                                                              & 16096                                                               
& 86.52                                                                 \\ \hline
\end{tabular}
\end{table}

重叠

答案1

那么基于的方法又如何呢tabularray

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\definecolor{mygreen}{HTML}{67FD9A} 

\begin{document}

\begin{tblr}{colspec={l S[table-format=3] S[table-format=5] S[table-format=5] S[table-format=3.2]}, 
             hlines, vlines, 
             row{1}={mygreen, font=\bfseries\small, halign=c}, 
             vspan=even}
{Mechanical\\ System}                            
& {{{{Current limit\\ (A)}}}} 
& {{{{Power Input\\ (W)}}}}
& {{{Power Output\\ (W)}}} 
& {{{Efficiency \\(\%)}}}
\\ 
{\SetCell[r=2]{}With\\ Rotational\\ Damper}    & 133 & 31807 & 28992 & 91.15  \\
                                               & 200 & 37319 & 34067 & 91.285 \\  
{\SetCell[r=2]{}Without\\ Rotational\\ Damper} & 133 & 18159 & 16005 & 88.14  \\ 
                                               & 200 & 18603 & 16096 & 86.52  \\
\end{tblr}

\end{document}

答案2

对@leandriss 回答的评论太长了。

更符合包语法的精神tabularray,该表的代码是:

\documentclass[border=5mm]{standalone}
\usepackage{xcolor}
\definecolor{mygreen}{HTML}{67FD9A}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}

\begin{document}

\begin{tblr}{colspec={Q[c, wd=5em] Q[c, si={table-format=3}] 
                              *{2}{Q[c, si={table-format=5}]} 
                                   Q[c, si={table-format=2.3}]
                     },
             hlines, vlines,
             row{1}={bg=mygreen, font=\bfseries\small},
             vspan=even}
Mechanical System
    & {{{Current limit\\ (A)}}}
        & {{{Power Input\\ (W)}}}
            & {{{Power Output\\ (W)}}}
                & {{{Efficiency \\ (\%)}}}  \\
\SetCell[r=2]{l} With Rotational Damper     & 133 & 31807 & 28992 & 91.15  \\
                                            & 200 & 37319 & 34067 & 91.285 \\
\SetCell[r=2]{l} Without Rotational Damper  & 133 & 18159 & 16005 & 88.14  \\
                                            & 200 & 18603 & 16096 & 86.52  \\
\end{tblr}

\end{document}

在此处输入图片描述

笔记: 与其他表格包相反,该tabularray包处理multirow单元格时会考虑相邻行的跨度,而不是这些行中的文本行数。因此,内容永远不会溢出单元格,而是自动增加最后一个跨度行的高度,或者当与选项一起使用时vspan=even,所有跨度行的高度都会均匀增加。

包文档中描述了这个相对较新的(并且仍在快速发展的包)的更多特性以及它的语法,这些特性和语法与其他表包的语法有很大不同。

相关内容