表中的多行问题

表中的多行问题

我编写了一个代码来生成一个简单的表格,并使用 \multirow

我不知道为什么输出是这样的:!

在此处输入图片描述

这是我的代码:

\begin{document}
\lipsum[1]
\lipsum[1]
\lipsum[1]

\definecolor{lightgray}{HTML}{EFEFEF}

\begin{table}[H]
\small
\begin{tabular}{| p{0.05\linewidth} | p{0.3\linewidth} | p{0.1\linewidth} | p{0.1\linewidth} | p{0.1\linewidth} | p{0.2\linewidth} |}
\hline
\rowcolor{lightgray} 
\multicolumn{2}{|p{0.4\linewidth}|}{\textbf{BLA}} & \textbf{BLA} & \textbf{BLA} & \textbf{BLA} 
& \textbf{BLA}
\\ \hline 
1a & BLA
&  ++ & ++ &  ++ 
& BLA BLA BLA BLA BLA BLA
\\ \hline 
1b & Informal notations 
&  ++ & + &  +
& \multirow{2}{1\linewidth}{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA }
\\ \hline 
1c & BLA BLA BLA BLA BLA BLA 
&  ++ & ++ &  ++
& 
\\ \hline 
1d & BLA BLA BLA BLA BLA BLA
&  + & + &  +
& ANYTHING
\\ \hline
\end{tabular}%
\caption{\textbf{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA}}
\label{Table:Table11}
\end{table}

\end{document}

有什么帮助吗?

答案1

我怀疑你正在追求这样的事情:

在此处输入图片描述

(红线表示页面布局)

  • 请始终提供 MWE(最小工作示例),这是一个小而完整的文档,可重现您的问题。在序言中,它应仅加载与您的问题相关的包,文档内容应仅限于问题。
  • 通过使用包,您的问题很容易解决tabularray。它是多行单元格,它的语法是\SetCell[r=<number of spanned rows>˙] <cell content>
  • MWE 的一个例子是:
\documentclass{article}
\usepackage[font=bf]{caption}
\usepackage{xcolor}
\usepackage{tabularray}

%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
    \begin{table}[ht]
    \centering
    \small
\begin{tblr}{hlines, vlines,
             colspec = {c X[j] lll X[j]},
              row{1} = {font=\bfseries,bg=gray!30},
               vspan = even
             }
\SetCell[c=2]{l}    BLA 
    & BLA   & BLA   & BLA   & BLA   & BLA                       \\
%
1a  & BLA   &  ++   & ++    &  ++   & BLA BLA BLA BLA BLA BLA   \\
1b  & Informal notations
            &  ++   & +     &  +    & \SetCell[r=2]{j}
                                    BLA BLA BLA BLA BLA BLA BLA 
                                    BLA BLA BLA BLA BLA BLA BLA 
                                    BLA BLA BLA BLA BLA BLA BLA 
                                    BLA BLA BLA                 \\
1c  & BLA BLA BLA BLA BLA BLA
            &  ++   & ++    &  ++   &                           \\
1d  & BLA BLA BLA BLA BLA BLA
            &  +    & +     &  +    & ANYTHING                  \\
\end{tblr}
    \caption{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA}
    \label{Table:Table11}
    \end{table}
\end{document}

有关如何使用tabularray包的更多详细信息,今天的最新版本是 2021P,请参阅包文档。

答案2

首先,你的 MWE 不完整,所以我不得不做出一些假设。这是代码:

\documentclass{article} 

\usepackage{lipsum}
\usepackage{float}
\usepackage[table]{xcolor}
\usepackage{multirow}

\begin{document}
\lipsum[1]
\lipsum[1]
\lipsum[1]

\definecolor{lightgray}{HTML}{EFEFEF}

\begin{table}[H]
\small
\begin{tabular}{| p{0.05\linewidth} | p{0.3\linewidth} | p{0.1\linewidth} | p{0.1\linewidth} | p{0.1\linewidth} | p{0.2\linewidth} |}
\hline
\rowcolor{lightgray} 
\multicolumn{2}{|p{0.4\linewidth}|}{\textbf{BLA}} & \textbf{BLA} & \textbf{BLA} & \textbf{BLA} 
& \textbf{BLA}
\\ \hline 
1a & BLA
&  ++ & ++ &  ++ 
& BLA BLA BLA BLA BLA BLA
\\ \hline 
1b & Informal notations 
&  ++ & + &  +
& \multirow{2}{1\linewidth}{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA }
\\ \cline{1-5}
1c & BLA BLA BLA BLA BLA BLA 
&  ++ & ++ &  ++
& \\
 & & & & & \\ 
 & & & & & \\ 
 & & & & & \\ 
 & & & & & \\ 
 & & & & & \\ \hline 
1d & BLA BLA BLA BLA BLA BLA
&  + & + &  +
& ANYTHING
\\ \hline
\end{tabular}%
\caption{\textbf{BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA}}
\label{Table:Table11}
\end{table}

\end{document}

以下是相关输出:

输出


讨论:

可能有一种方法可以让行在多行中垂直调整,但我认为这是另一个问题。

相关内容