我在 longtable 表格的标题方面遇到了一些问题。我正在尝试排版论文(因此使用我没有编写的课程),我的学校要求正文使用双倍行距,但标题文本使用单倍行距。据我通过谷歌确定,longtable 使用课程中指定的格式来格式化其标题。我正在使用一些普通表格和一些 longtable 表格,因此表格之间的标题格式不同,看起来很奇怪...
我找到了几乎完全相同的问题的答案这里但当我尝试使用那里建议的答案时,我收到一条错误消息,指出不建议使用“caption”包,并且不支持该包。该答案是几年前发布的,所以我不太清楚从那时起发生了什么变化。
无论如何,任何帮助都将不胜感激!我是一个非常基本的乳胶用户,因此非常感谢任何我可以剪切/粘贴/摆弄的示例,以便我可以学习。谢谢!
答案1
我不知道您使用什么文档类,但阅读您的问题时它肯定会加载setspace
并使用\doublespacing
。
避免加载caption
包来自定义longtable
标题间距的一种方法是加载etoolbox
包并在序言中放入以下行:
\AtBeginEnvironment{longtable}{\singlespacing}
这样,所有longtable
s 内都会有单倍行距。
另请注意
\setlength{\LTcapwidth}{\linewidth}
使longtable
标题横跨整行
\documentclass{article}
\usepackage{longtable}
\usepackage{setspace}
\usepackage{lipsum} % just for the example
\usepackage{etoolbox}
\AtBeginEnvironment{longtable}{\singlespacing}
\setlength{\LTcapwidth}{\linewidth}
\begin{document}
\doublespacing
\lipsum[1]
\begin{table}[h]
\centering
\begin{tabular}{llll}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1
\end{tabular}
\caption{Table very very very very very very very very very very very very very long caption}
\label{table}
\end{table}
\begin{longtable}{llll}
1 & 1 & 1 & 1\\
1 & 1 & 1 & 1\\
\\
\caption{Longtable very very very very very very very very very very very very very long caption}
\label{longtable}
\end{longtable}
\lipsum[1-2]
\end{document}
输出:
编辑
如果出现任何错误,则意味着您的文档类未加载setspace
。
在这种情况下,替换行
\AtBeginEnvironment{longtable}{\singlespacing}
和
\AtBeginEnvironment{longtable}{\linespread{1}\selectfont}
应该没问题。