![长桌不太合适](https://linux22.com/image/347082/%E9%95%BF%E6%A1%8C%E4%B8%8D%E5%A4%AA%E5%90%88%E9%80%82.png)
我在 LaTeX 中创建了一个表格长桌,但存在一些问题。表格在两页之间不太合适,而且垂直线不连续。以下是表格代码:
\begin{longtable}[H]{|p{4cm}|p{3cm}|c|}
%\begin{tabular}{|p{4cm}|p{3cm}|c|}
\toprule
& \textbf{Catégorie des caractéristiques} & \textbf{Caractéristiques} \\
\midrule
\multirow{10}[20]{*}{\parbox{4cm}{Analyses sur World of Warcraft [WoW]}} & \multirow{5}[10]{*}{\textbf{Composition}} & Nombre de membres \\
\cmidrule{3-3} & & Entropie de distribution \\
\cmidrule{3-3} & & Pourcentage des classes présentes \\
\cmidrule{3-3} & & Longueur d’existence \\
\cmidrule{3-3} & & Écart-type des effectifs \\
\cmidrule{2-3} & \multirow{2}[4]{*}{\textbf{Stats du jeu}} & Temps de collaboration moyen \\
\cmidrule{3-3} & & Temps moyen de jeu dans un groupe \\
\cmidrule{2-3} & \multirow{3}[6]{*}{\textbf{Structurelles}} & Entropie de distribution du degré \\
\cmidrule{3-3} & & Coefficient moyen de Clustering dans un groupe \\
\cmidrule{3-3} & & Coefficient moyen de Clustering \\
\midrule
\multirow{10}[20]{*}{\textbf{Analyses sur DBLP}} & \multirow{2}[4]{*}{\textbf{Groupe}} & Nombre de membres \\
\cmidrule{3-3} & & Prolificité moyenne \\
\cmidrule{2-3} & \multirow{7}[14]{*}{\textbf{Activités}} & Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications en dehors un groupe \\
\cmidrule{3-3} & & Nombre moyen des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations en dehors un groupe \\
\cmidrule{3-3} & & Coefficient moyen de fidélité des membres \\
\cmidrule{2-3} & \textbf{Structurelles} & Entropie de la distribution des degrés \\
\bottomrule
%\end{table}%
\end{longtable}
这是我得到的结果:
我希望表格有两页,但每页都有完整的单元格(没有单元格分割)。并且有连续的垂直线。
答案1
\\*
可以使用星号形式longtable
来防止行后出现分页符。但是,行仍然是断点。因此,为了获得更好的布局,以下示例仅谨慎地使用水平线。主要部分由 分隔\midrule
,但表格的子部分由 分隔\addlinespace
。
然后,其余的分页点就在水平线的后面。该示例需要花一些功夫才能完成分页符。在规则的上方和下方\midrule
都有空间。由于分页符应该位于,因此页眉和页脚会进行相应调整。\aboverulesep
\belowrulesep
\midrule
完整示例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{lipsum}
\usepackage[hmargin=2cm]{geometry}
\usepackage{array}
\usepackage{booktabs}
\usepackage{longtable}
\begin{document}
\vspace*{.6\textheight}
% Multi-line left-aligned text with manual line breaks.
% The base line of the whole is at the top row.
\newcommand*{\tstack}[1]{%
\begingroup
\renewcommand*{\arraystretch}{1}%
\begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
\endgroup
}
\begin{longtable}{>{\bfseries}l>{\bfseries}ll}
\caption{Légende de table}\\
\toprule
& \tstack{Catégorie des \\ caractéristiques} & \bfseries Caractéristiques \\
\midrule
\endfirsthead
\noalign{\kern-\aboverulesep}
\midrule
\endhead
\noalign{\kern-\belowrulesep}
\endfoot
\bottomrule
\endlastfoot
\smash{\tstack{Analyses sur World \\ of Warcraft [WoW]}}
& Composition & Nombre de membres \\*
& & Entropie de distribution \\*
& & Pourcentage des classes présentes \\*
& & Longueur d’existence \\*
& & Écart-type des effectifs \\*
\addlinespace
& Stats du jeu & Temps de collaboration moyen \\*
& & Temps moyen de jeu dans un groupe \\*
\addlinespace
& Structurelles & Entropie de distribution du degré \\*
& & Coefficient moyen de Clustering dans un groupe \\*
& & Coefficient moyen de Clustering \\*
\midrule
Analyses sur DBLP & Groupe & Nombre de membres \\*
& & Prolificité moyenne \\*
\addlinespace
& Activités & Nombre total des publications dans un groupe \\*
& & Nombre total des collaborations dans un groupe \\*
& & Nombre total des publications dans un groupe \\*
& & Nombre total des publications en dehors un groupe \\*
& & Nombre moyen des collaborations dans un groupe \\*
& & Nombre total des collaborations en dehors un groupe \\*
& & Coefficient moyen de fidélité des membres \\*
\addlinespace
& Structurelles & Entropie de la distribution des degrés \\*
\end{longtable}
\end{document}
第一页
和第二页
表格下方的标题
通常,表格标题是先读的,表格通常是按阅读顺序排列的。因此,表格标题放在表格上方。也longtable
假定此顺序。
将表格放在多页表格的末尾会麻烦得多:
- 标题周围的垂直间距需要固定。
- 表格列表中的条目应显示表格的第一页。当它指向表格的标题时,读者将被引导到表格的末尾。该示例添加了一种解决方法,以将第一页的页码放入表格列表中。
- 类似问题有参考。示例在表格的第一页和最后一页使用了两个标签。
完整示例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{lipsum}
\usepackage[hmargin=2cm]{geometry}
\usepackage{array}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{multirow}
\begin{document}
\listoftables
\section{First section}
Table~\ref{tab:ref:MyLabel} starts at page~\pageref{tab:page:MyLabel}
and ends at page~\pageref{tab:ref:MyLabel}.
\newpage
\vspace*{.6\textheight}
\newcommand*{\tstack}[1]{%
\begingroup
\renewcommand*{\arraystretch}{1}%
\begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
\endgroup
}
\xdef\BaseLineSkip{\the\baselineskip}
\def\TableCaption{Légende de table}
\begin{longtable}{>{\bfseries}l>{\bfseries}ll}
% \caption{Légende de table}\\
\noalign{%
\label{tab:page:MyLabel}%
\addcontentsline{lot}{table}{\numberline{\thetable}\TableCaption}%
}%
\toprule
& \tstack{Catégorie des \\ caractéristiques} & \bfseries Caractéristiques \\
\midrule
\endfirsthead
\noalign{\kern-\aboverulesep}
\midrule
\endhead
\noalign{\kern-\belowrulesep}
\endfoot
\bottomrule
% Caption with workaround for the vertical spacing
\noalign{\vskip\BaseLineSkip}
\caption[]{\TableCaption}\label{tab:ref:MyLabel}\\[-\BaseLineSkip]
\endlastfoot
\smash{\tstack{Analyses sur World \\ of Warcraft [WoW]}}
& Composition & Nombre de membres \\*
& & Entropie de distribution \\*
& & Pourcentage des classes présentes \\*
& & Longueur d’existence \\*
& & Écart-type des effectifs \\*
\addlinespace
& Stats du jeu & Temps de collaboration moyen \\*
& & Temps moyen de jeu dans un groupe \\*
\addlinespace
& Structurelles & Entropie de distribution du degré \\*
& & Coefficient moyen de Clustering dans un groupe \\*
& & Coefficient moyen de Clustering \\*
\midrule
Analyses sur DBLP & Groupe & Nombre de membres \\*
& & Prolificité moyenne \\*
\addlinespace
& Activités & Nombre total des publications dans un groupe \\*
& & Nombre total des collaborations dans un groupe \\*
& & Nombre total des publications dans un groupe \\*
& & Nombre total des publications en dehors un groupe \\*
& & Nombre moyen des collaborations dans un groupe \\*
& & Nombre total des collaborations en dehors un groupe \\*
& & Coefficient moyen de fidélité des membres \\*
\addlinespace
& Structurelles & Entropie de la distribution des degrés \\*
\end{longtable}
\end{document}
第一页
第二页
和第三页
答案2
您的表格大约占页面的 2/3,因此不需要将其设置为长表格。因为longtable
您遇到了单元格损坏的问题multirow
,这会导致下一页出现虚假的空白单元格,并且上一页的内容不会居中。
关于使用来自包的规则,您应该考虑上述评论,但是如果删除规则上方和下方的额外垂直空间以及由“makecell˙package”中的宏booktas
定义的额外空间,则可以使用它。\makegapedcells
在多行中multirow
不需要parbox
。最新版本的multirow
软件包提供了{=}
在多行单元格中保留列格式的选项。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{array,booktabs,makecell,multirow,longtable}
\renewcommand\theadfont{\bfseries\normalsize}
\begin{document}
\begin{table}[htb]
\setlength\aboverulesep{0pt}
\setlength\belowrulesep{0pt}
\setcellgapes{3pt}
\makegapedcells
\begin{tabular}{|>{\bfseries}p{3cm}|>{\bfseries}p{3cm}|c|}
\toprule
& \thead[b]{Catégorie des\\ caractéristiques}
& \thead[b]{Caractéristiques} \\
\midrule
\multirow{10}{=}[-3em]{Analyses sur World of Warcraft [WoW]}
& \multirow{5}{=}[-2em]{Composition}
& Nombre de membres \\
\cmidrule{3-3} & & Entropie de distribution \\
\cmidrule{3-3} & & Pourcentage des classes présentes \\
\cmidrule{3-3} & & Longueur d’existence \\
\cmidrule{3-3} & & Écart-type des effectifs \\
\cmidrule{2-3} & \multirow{2}{=}[-1ex]{Stats du jeu}
& Temps de collaboration moyen \\
\cmidrule{3-3} & & Temps moyen de jeu dans un groupe \\
\cmidrule{2-3} & \multirow{3}{=}[-1em]{Structurelles}
& Entropie de distribution du degré \\
\cmidrule{3-3} & & Coefficient moyen de Clustering dans un groupe \\
\cmidrule{3-3} & & Coefficient moyen de Clustering \\
\midrule
\multirow{10}{=}[-4em]{Analyses sur DBLP}
& \multirow{2}{=}[-1ex]{Groupe}
& Nombre de membres \\
\cmidrule{3-3} & & Prolificité moyenne \\
\cmidrule{2-3} & \multirow{7}{=}[-3em]{Activités}
& Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications en dehors un groupe \\
\cmidrule{3-3} & & Nombre moyen des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations en dehors un groupe \\
\cmidrule{3-3} & & Coefficient moyen de fidélité des membres \\
\cmidrule{2-3} & Structurelles
& Entropie de la distribution des degrés \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
附录:
如果您longtable
在手动拆分表格时坚持保留并接受垂直空白空间(如 Sveinung 答案中所建议的那样),那么 MWE 就是
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{array,booktabs,makecell,multirow,longtable}
\renewcommand\theadfont{\bfseries\normalsize}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
{
\setlength\aboverulesep{0pt}
\setlength\belowrulesep{0pt}
\setcellgapes{3pt}
\makegapedcells
\begin{longtable}{|>{\bfseries}p{3cm}|>{\bfseries}p{3cm}|c|}
\caption{Example of long table. For final form of table it have to be complied at list twice.}
\label{table1} \\
\toprule
& \thead[b]{Catégorie des\\ caractéristiques}
& \thead[b]{Caractéristiques} \\
\midrule
\endfirsthead
\toprule
& \thead[b]{Catégorie des\\ caractéristiques}
& \thead[b]{Caractéristiques} \\
\endhead
\bottomrule
\endfoot
\bottomrule
\endlastfoot
\multirow{10}{=}[-3em]{Analyses sur World of Warcraft [WoW]}
& \multirow{5}{=}[-2em]{Composition}
& Nombre de membres \\
\cmidrule{3-3} & & Entropie de distribution \\
\cmidrule{3-3} & & Pourcentage des classes présentes \\
\cmidrule{3-3} & & Longueur d’existence \\
\cmidrule{3-3} & & Écart-type des effectifs \\
\cmidrule{2-3} & \multirow{2}{=}[-1ex]{Stats du jeu}
& Temps de collaboration moyen \\
\cmidrule{3-3} & & Temps moyen de jeu dans un groupe \\
\cmidrule{2-3} & \multirow{3}{=}[-1em]{Structurelles}
& Entropie de distribution du degré \\
\cmidrule{3-3} & & Coefficient moyen de Clustering dans un groupe \\
\cmidrule{3-3} & & Coefficient moyen de Clustering \\
\pagebreak
\multirow{10}{=}[-4em]{Analyses sur DBLP}
& \multirow{2}{=}[-1ex]{Groupe}
& Nombre de membres \\
\cmidrule{3-3} & & Prolificité moyenne \\
\cmidrule{2-3} & \multirow{7}{=}[-3em]{Activités}
& Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications dans un groupe \\
\cmidrule{3-3} & & Nombre total des publications en dehors un groupe \\
\cmidrule{3-3} & & Nombre moyen des collaborations dans un groupe \\
\cmidrule{3-3} & & Nombre total des collaborations en dehors un groupe \\
\cmidrule{3-3} & & Coefficient moyen de fidélité des membres \\
\cmidrule{2-3} & Structurelles
& Entropie de la distribution des degrés \\
\end{longtable}
\end{document}
(就我的眼睛看)结果很糟糕:
答案3
- 首先
booktabs
从序言中删除。如果你要让 Word 看起来像表格,booktabs
那么这根本没用。 - 删除 [H] 作为可选参数
longtabs
(这是错误的) - 删除表格中的所有 booktab 特定规则命令(toprule、midrule、cmdrule 等)。用标准 hrule、crule 替换
tabular
\pagebreak
在第二个命令之前放置一个命令\multirow
,以强制在垂直跨越的单元格之前中断。当您使用多行时,看起来像一个大单元格不是一个大单元格,而是跨越的单元格数multirow
。
以下是 MWE,它给出了一个丑陋的类似单词的表格,但保留了垂直线。消息是:不要在表格中使用垂直线,这是不必要的,而且不好看:
\documentclass{scrartcl}
\usepackage{longtable,multirow}
\begin{document}
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that. This is a text with a lot of meaning, but you probably will not understand that.
\begin{longtable}[c]{|p{4cm}|p{3cm}|c|}
%\begin{tabular}{|p{4cm}|p{3cm}|c|}
\hline
& \textbf{Catégorie des caractéristiques} & \textbf{Caractéristiques} \\
\hline
\multirow{10}[20]{*}{\parbox{4cm}{Analyses sur World of Warcraft [WoW]}} & \multirow{5}[10]{*}{\textbf{Composition}} & Nombre de membres \\
\cline{3-3} & & Entropie de distribution \\
\cline{3-3} & & Pourcentage des classes présentes \\
\cline{3-3} & & Longueur d’existence \\
\cline{3-3} & & Écart-type des effectifs \\
\cline{2-3} & \multirow{2}[4]{*}{\textbf{Stats du jeu}} & Temps de collaboration moyen \\
\cline{3-3} & & Temps moyen de jeu dans un groupe \\
\cline{2-3} & \multirow{3}[6]{*}{\textbf{Structurelles}} & Entropie de distribution du degré \\
\cline{3-3} & & Coefficient moyen de Clustering dans un groupe \\
\cline{3-3} & & Coefficient moyen de Clustering \\
\hline\pagebreak\hline
\multirow{10}[20]{*}{\textbf{Analyses sur DBLP}} & \multirow{2}[4]{*}{\textbf{Groupe}} & Nombre de membres \\
\cline{3-3} & & Prolificité moyenne \\
\cline{2-3} & \multirow{7}[14]{*}{\textbf{Activités}} & Nombre total des publications dans un groupe \\
\cline{3-3} & & Nombre total des collaborations dans un groupe \\
\cline{3-3} & & Nombre total des publications dans un groupe \\
\cline{3-3} & & Nombre total des publications en dehors un groupe \\
\cline{3-3} & & Nombre moyen des collaborations dans un groupe \\
\cline{3-3} & & Nombre total des collaborations en dehors un groupe \\
\cline{3-3} & & Coefficient moyen de fidélité des membres \\
\cline{2-3} & \textbf{Structurelles} & Entropie de la distribution des degrés \\
\hline
%\end{table}%
\end{longtable}
\end{document}