【问题标题】:Adding caption in LaTex without floats (tables)?在没有浮动(表格)的 LaTex 中添加标题?
【发布时间】:2025-11-25 11:30:01
【问题描述】:

我有几个表不够长,不足以保证使用 \longtable,但它们总是从下一页开始,这会破坏整个流程并试图用 [! h] 在表中没有帮助。所以我停止使用 \tables 并且现在只有 \tabular 标签,这似乎已经修复了布局,因为没有浮动。

但现在的问题是我无法获得表格的自动字幕 - 任何想法我可以如何做到这一点并获得自动编号,所以当我使用 \addcontentsline 时,它可以显示在目录?

【问题讨论】:

  • 表的长度不足以保证使用 \longtable:不存在这样的表 ;)

标签: latex miktex


【解决方案1】:

要在浮动环境之外使用标题,需要使用 \captionof,它是包 caption 的一部分。

示例

\documentclass{article}
\usepackage{caption}

\begin{document}                                                                                         
\begin{center}
  \begin{tabular}{rl}
    right & left \\
    right & left \\
  \end{tabular}
  \captionof{table}{Your caption here}
\end{center}
\end{document}

如果您只是对使用命令\captionof 感兴趣,还有一个capt-of 包。

【讨论】:

  • 表格标题的首选位置在表格上方。
【解决方案2】:

简答;你需要一个 \table 作为标题。仅使用 \tabular + 字幕是行不通的。

再长一点

可能会有一个讨厌的变通办法,因为人们倾向于为所有事情创建变通办法,但是我对大多数变通办法的基本规则是:“如果乳胶不提供它本身,不要试图这样做”。大多数时候,这些“修复”会带来更多的文本流问题。

现在,如果您真的想要它在文本下方,只需在表格前执行 \clearpage 并放置表格。比其余的文字。这可能会解决它,尽管它会在您的“上一个”页面的其余部分留出空白空间。

【讨论】:

    最近更新 更多