我编写了一个代码来生成一个简单的表格,并使用 \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}
以下是相关输出:
讨论:
可能有一种方法可以让行在多行中垂直调整,但我认为这是另一个问题。