多行问题

多行问题

第三行被剪掉了一半

我该如何修复第三行?单词被剪掉了一半。

\begin{center}
    \centering
  \rowcolors{2}{gray!25}{white}
  \captionof{table}{aa} \label{tab:t1}
  \vspace{0.3cm}
  \renewcommand\arraystretch{1.3}
  \begin{tabular}{c c c c c}
    \rowcolor{gray!50}
    External Stimulus & Dimension & Material & Fabrication Technique & Ref.\\
    \hline
    Temperature & Some values & Some values & qq & 1\\   \hline 
    \multirow{2}*{Light} & Some values & Some values & rr &2\\\cline{2-5}
    & Some values & Some values & zz &3\\\hline
    Magnetic field & Some values & Some values & d & 4\\\hline
    pH & 3D & e & mm & 5\\
  \end{tabular}
\end{center}

答案1

将“Light”放在多行的最后一行,然后使用\multirow{-2}*{Light}

换句话说,改为

  \begin{tabular}{c c c c c}
    \rowcolor{gray!50}
    External Stimulus & Dimension & Material & Fabrication Technique & Ref.\\
    \hline
    Temperature & Some values & Some values & qq & 1\\   \hline 
    & Some values & Some values & rr &2\\\cline{2-5}
    \multirow{-2}*{Light} & Some values & Some values & zz &3\\\hline
    Magnetic field & Some values & Some values & d & 4\\\hline
    pH & 3D & e & mm & 5\\
  \end{tabular}

原因是当前代码绘制了Light行的第一行,其中绘制的文本偏移量较低,并且然后它会绘制第二行。但是当你用背景色绘制第二行时,它会覆盖第一行下方的文本。因此,要解决这个问题,请先绘制所有背景,然后然后放上文字。multirow包装手册第 8-9 页有更详细的解释。

我不确定这是否符合\rowcolors规范。您可能需要单独为每行着色。

答案2

您可以使用该表格在所有 PDF 查看器中{NiceTabular}获得nicematrix完美的效果(没有细白线)。

\documentclass{article}
\usepackage{nicematrix}
\usepackage{caption}

\begin{document}

\begin{center}
  \centering
  \captionof{table}{aa} \label{tab:t1}
  \vspace{0.3cm}
  \renewcommand\arraystretch{1.3}
  \begin{NiceTabular}{c c c c c}
  \CodeBefore
    \rowcolors{2}{gray!25}{}[respect-blocks]
    \rowcolor{gray!50}{1}
  \Body
    External Stimulus & Dimension & Material & Fabrication Technique & Ref.\\
    \hline
    Temperature & Some values & Some values & qq & 1\\   \hline 
    \Block{2-1}{Light} & Some values & Some values & rr &2\\\cline{2-5}
    & Some values & Some values & zz &3\\\hline
    Magnetic field & Some values & Some values & d & 4\\\hline
    pH & 3D & e & mm & 5\\
  \end{NiceTabular}
\end{center}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容