我想做的是在表格的左上角和右下角放置一个文本块。我不能使用标题或文本块,因为我的表格跨越多页。当表格延伸到第二页时,语句必须再次出现。
我正在使用的代码示例块如下:
\documentclass[amsfonts]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{longtable}
\usepackage{threeparttable}
\usepackage{threeparttablex}
\usepackage{booktabs}
\nofiles
\usepackage{hyperref}
\hypersetup{colorlinks=true,urlcolor=blue}
\usepackage[table]{xcolor}
\definecolor{Gray}{gray}{0.85}
\begin{document}
\subsection*{Sample Table:}
\begin{ThreePartTable}
\begin{longtable}[H]{|l|l|l|l|l|l|}
\multicolumn{6}{l}{Upper mark} \\
\endhead
\multicolumn{6}{r}{Lower mark} \\
\endfoot
\hline
\rowcolor{Gray}
Col One & Col Two & Col Three & Col Four & Col Five & Col Six\\\hline
{{ var.one }} & {{ var.two }} & {{ var.three }} & {{ var.four }} & {{ var.five }} & {{ var.six }} \\\hline
\end{longtable}
\end{ThreePartTable}
\end{document}
关于如何实现这个功能你有什么想法吗?
答案1
一些单元格内容周围的双花括号和[H]
位置说明符都是不必要的(并且可能适得其反)。无论如何,以下修改后的代码形式似乎可以实现您的目标。
\documentclass{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{longtable}
\usepackage{threeparttable,threeparttablex}
\usepackage{booktabs,amsfonts}
%\nofiles
\usepackage[table]{xcolor} %% new
\definecolor{Gray}{gray}{0.85}
\usepackage{hyperref} %% new
\hypersetup{colorlinks=true,urlcolor=blue}
\begin{document}
\subsection*{Sample Table}
\begin{ThreePartTable}
\begin{longtable}{|l|l|l|l|l|l|}
\multicolumn{6}{l}{Upper mark} \\
\hline
\endhead
\hline
\multicolumn{6}{r}{Lower mark} \\
\endfoot
\rowcolor{Gray}
Col One & Col Two & Col Three & Col Four & Col Five & Col Six\\
\hline
var.one & var.two & var.three & var.four & var.five & var.six \\
\end{longtable}
\end{ThreePartTable}
\end{document}
答案2
希望我理解正确。尝试使用longtable
包。我尝试使用以下代码复制您的表格\multicolumn
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{preview}
\begin{document}
\begin{longtable}{p{.15\textwidth}p{.15\textwidth}p{.15\textwidth}p{.15\textwidth}p{.15\textwidth}p{.15\textwidth}}
\toprule
\multicolumn{6}{c}{Upper mark}\\ \midrule
\endfirsthead
\multicolumn{6}{c}{Upper mark}\\ \midrule
\endhead
\midrule \multicolumn{6}{c}{Lower mark}\\ \bottomrule
\endfoot
\midrule \multicolumn{6}{c}{Lower mark}\\
\bottomrule
\endlastfoot
%
Col One & Col Two & Col Three & Col Four & Col Five & Col Six\\
var.one & var.two & var.three & var.four & var.five & var.six
\end{longtable}
\end{document}
您将在第一个头上获得 之前的部分\endfirsthead
,在之后的每个头上获得 和 之间的部分;和 也是\endhead
一样。代码生成下表:
\endfoot
\endlastfoot
我希望这对你有帮助。
答案3
如果您编译,它将产生所需的结果3 times
。通常,longtable 的计算至少需要 2 次编译。这是 2 次编译后的结果:
3 之后: