如何删除单元格值内的多行空格(在表格中)?

如何删除单元格值内的多行空格(在表格中)?

这涉及到我的以下问题。

使用多行设置单行高度

\documentclass[11pt,table,a5paper]{article}
\usepackage{array,ragged2e}
\usepackage{graphicx}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\usepackage[top=2cm, bottom=2cm, outer=1cm, inner=2.1cm,twoside,  headsep=26pt]{geometry}
\usepackage{ifthen}
\usepackage{wrapfig}
\usepackage{comment}
\usepackage{parskip}
\usepackage{framed}
\usepackage{sidecap}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\newcommand{\nsr}{\rule[-1.3cm]{0pt}{2.2cm}} 
\newcommand{\dsr}{\rule[-3.5cm]{0pt}{4cm}} 
\small
{\renewcommand{\arraystretch}{1.8}\begin{longtable}   {|p{2.7cm}|p{1.0cm}|p{2.4cm}|p{1.0cm}|p{1.3cm}|p{0.8cm}|} 
\hline 
\rowcolor{green} \textbf{ \textcolor{white}{ColA}} &\textbf{     \textcolor{white}{ColB}} &\textbf{ \textcolor{white}{ColC}}  &\textbf{    \textcolor{white}{ColD}} &\textbf{ \textcolor{white}{ColE}} &\textbf{ \textcolor{white}{ColF}} \\ 
\endfirsthead 
\rowcolor{green} \textbf{ \textcolor{white}{ColA}} &\textbf{  \textcolor{white}{ColB}} &\textbf{ \textcolor{white}{ColC}}  &\textbf{  \textcolor{white}{ColD}} &\textbf{ \textcolor{white}{ColE}} &\textbf{  \textcolor{white}{ColF}} \\  
\endhead 
\hline 
\rowcolor[RGB]{243,182,185} 
\dsr  Brainy Person  & \dsr  3.38&  \multirow{1}{*}{\parbox{2.5cm}  {\textcolor{black}{This is Very first line,~\\ 
~\\ 
This is Second line,~\\ 
~\\ 
This is IIIrd line,}}} 
&\dsr2.36 & \dsr 0.62 & \dsr 18 \\\cline{1-2} \cline{4-6}  
\hline 
\nsr  Kingestionisation Quesiton Queeneinsteen  & \nsr  1.46&  \multirow{3}  {*}{\parbox{2.5cm}{\textcolor{black}{This is First line~\\ 
~\\  
This is Second line,~\\ 
 ~\\ 
This is Third line~\\ 
~\\ 
This is Fourth line}}} 
 & \nsr 1.02 & \nsr 0.62 & \nsr  13 \\\cline{1-2} \cline{4-6} 
\nsr  Foolish Perosn  & \nsr  1.16 &   
& \nsr 0.81 & \nsr 0.62 & \nsr  45 \\\cline{1-2} \cline{4-6} 
\nsr  Attacking Person Rob & \nsr  1.02 &   
& \nsr 0.71 & \nsr 0.52 & \nsr  31 \\\cline{1-2} \cline{4-6} 
\hline 
\rowcolor{red} 
Datset 
& 24 
& \multicolumn{2}{c|}{Normal Value} 
& 23
& 342 \\ 
\hline 
\end{longtable}}
\end{document}

https://i.stack.imgur.com/5KtKX.png

在上面的例子中,第一列中的名字被包裹在一个单元格中,但每个名字(名字、第二个名字和姓氏)相距很远。即被多行分隔。我该如何解决这个问题?

答案1

通常, 的参数\multirow设置为右边不规则。但是,您已将文本打包在 中\parbox,这将尝试将文本扩展到给定的宽度。不要使用 ,而要\parbox使用 的宽度参数\multirow。语法是

\multirow{nrows}{width}{text}

您可以使用width=*来表示使用自然宽度text,但放入text=\parbox{2.5cm}{....}。相反,您可以写

\multirow{nrows}{2.5cm}{....}

这解决了中间一列的问题。

在第一列中,问题在于您添加的规则、命令\nsr\dsr。这些规则出现在段落的第一行文本中,因此会为该行增加深度,将其推离段落的下一行。我猜您放置这些规则是为了帮助分隔表格。在您的情况下,只需将它们放在行中的一个位置,因此只需将它们添加到不会有多行的最后一列即可。

如果您希望为行着色,则需要将 放在\multirow其底行并指定负数nrows。此外,由于您的行异常高/深,您必须添加调整:

\multirow{nrows}{width}[adjust]{test}

规则的颜色也会有问题。您可以使用\hhline以下建议Cellcolor 覆盖部分水平线(\cline)

示例输出

\documentclass[11pt,table,a5paper]{article}

\usepackage{array,ragged2e}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage[top=2cm, bottom=2cm, outer=1cm, inner=2.1cm, twoside, headsep=26pt]{geometry}
\usepackage{longtable}
\usepackage{multirow}

\begin{document}

\newcommand{\nsr}{\rule[-1.3cm]{0pt}{2.2cm}} 
\newcommand{\dsr}{\rule[-3.5cm]{0pt}{4cm}} 
{\small
\renewcommand{\arraystretch}{1.8}
\begin{longtable}{|p{2.7cm}|p{1.0cm}|p{2.4cm}|p{1.0cm}|p{1.3cm}|p{0.8cm}|} 
  \hline 
  \rowcolor{green} \textbf{\textcolor{white}{ColA}} &\textbf{\textcolor{white}{ColB}} &\textbf{\textcolor{white}{ColC}}  &\textbf{\textcolor{white}{ColD}} &\textbf{\textcolor{white}{ColE}} &\textbf{\textcolor{white}{ColF}} \\ 
  \endhead 
  \hline 
  \rowcolor[RGB]{243,182,185} 
  Brainy Person  & 3.38&
  \multirow{1}{2.5cm}{\textcolor{black}{This is Very first line\\[2ex]
  This is Second line\\[2ex]
  This is IIIrd line}} 
  &2.36 & 0.62 & \dsr 18 \\
  \hline 
  Kingestionisation Quesiton Queeneinsteen  & 1.46&
  \multirow{3}{2.5cm}{\textcolor{black}{This is First line\\[2ex] 
  This is Second line\\[2ex]
  This is Third line\\[2ex]
  This is Fourth line}}
  & 1.02 & 0.62 & \nsr  13 \\\cline{1-2} \cline{4-6} 
  Foolish Person  & 1.16 &   
  & 0.81 & 0.62 & \nsr  45 \\\cline{1-2} \cline{4-6} 
  Attacking Person Rob & 1.02 &   
  & 0.71 & 0.52 & \nsr  31 \\\cline{1-2} \cline{4-6} 
  \hline 
  \rowcolor{red} 
  Datset 
  & 24 
  & \multicolumn{2}{c|}{Normal Value} 
  & 23
  & 342 \\ 
\hline 
\end{longtable}}

\end{document}

您应该注意标题代码中的多余空格(\textbf{ Col}),这些空格会导致对齐不佳。

{|>{\raggedright}p{2.7cm}...如果您希望第一列右侧参差不齐,那么您可以使用而不是仅仅 来开始表格格式规范{p{2.7cm}...

如果不能保证所有单元格都是单行,则可以添加单独的列来保存规则。

彩色输出样例

\documentclass[11pt,table,a5paper]{article}

\usepackage{array,ragged2e}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage[top=2cm, bottom=2cm, outer=1cm, inner=2.1cm, twoside, headsep=26pt]{geometry}
\usepackage{longtable}
\usepackage{multirow}
\usepackage{hhline}

\begin{document}

\newcommand{\nsr}{\rule[-1.3cm]{0pt}{2.2cm}} 
\newcommand{\dsr}{\rule[-3.5cm]{0pt}{4cm}} 
{\small
\setlength{\arrayrulewidth}{1pt}
\setlength{\minrowclearance}{1pt}
\renewcommand{\arraystretch}{1.8}
\begin{longtable}{|p{2.7cm}|p{1.0cm}|p{2.4cm}|p{1.0cm}|p{1.3cm}|p{0.8cm}|} 
  \hline 
  \rowcolor{green} \textbf{\textcolor{white}{ColA}} &\textbf{\textcolor{white}{ColB}} &\textbf{\textcolor{white}{ColC}}  &\textbf{\textcolor{white}{ColD}} &\textbf{\textcolor{white}{ColE}} &\textbf{\textcolor{white}{ColF}} \\ 
  \endhead 
  \hline 
  \rowcolor[RGB]{243,182,185} 
  Brainy Person  & 3.38&
  \multirow{1}{2.4cm}[-6pt]{\textcolor{black}{This is Very first line\\[2ex]
  This is Second line\\[2ex]
  This is IIIrd line}} 
  &2.36 & 0.62 & \dsr 18 \\
  \hline
  \rowcolor{teal}
  Kingestionisation Quesiton Queeneinsteen  & 1.46&
  & 1.02 & 0.62 & \nsr  13 \\
  \hhline{-->{\arrayrulecolor{teal}}->{\arrayrulecolor{black}}|---}
  \rowcolor{teal}
  Foolish Person  & 1.16 &   
  & 0.81 & 0.62 & \nsr  45 \\
  \hhline{-->{\arrayrulecolor{teal}}->{\arrayrulecolor{black}}|---}
  \rowcolor{teal}
  Attacking Person Rob & 1.02 &   
  \multirow{-3}{2.4cm}[80pt]{\textcolor{black}{This is First line\\[2ex] 
  This is Second line\\[2ex]
  This is Third line\\[2ex]
  This is Fourth line}}
  & 0.71 & 0.52 & \nsr  31 \\\cline{1-2} \cline{4-6} 
  \hline 
  \rowcolor{red} 
  Datset 
  & 24 
  & \multicolumn{2}{c|}{Normal Value} 
  & 23
  & 342 \\ 
\hline 
\end{longtable}}

\end{document}

相关内容