如何在没有 \begin{table} 环境的情况下使带有标题的表格出现在 \listoftables 上?

如何在没有 \begin{table} 环境的情况下使带有标题的表格出现在 \listoftables 上?

可能重复:
无浮动的标签和标题
创建不带浮点数且不带标题包的标题?

pdflatex下面是一个使用以下代码编译的 LaTeX 文档示例

  • 带标题的表格
  • 表格的超链接列表

\documentclass[a5paper,12pt,twoside,openany]{report}
\usepackage[a5paper]{geometry}
\usepackage{fullpage}
\usepackage[colorlinks]{hyperref}
\begin{document}

\begin{table}[htbp]
\begin{center}
\label{mytable}
\caption{mytable}
\begin{tabular}{ll}
\hline
A & B \\
C & D \\
\hline
\end{tabular}
\end{center}
\end{table}

\listoftables
\end{document}

如何制作一个没有\begin{table}...\end{table} 浮动、保留表格样式(具有标题、标签的表格)并出现在超链接中的表格 \listoftables

(情况:目前我正在处理的文档中有这样的表格,我想放置一些不带浮动的表格,以强制放置或与它们相关的表格和脚注。)

答案1

caption.sty可以使用\captionof{<type>}\captionsetup{type=table}

如果您想创建一个新的(非浮动)环境,例如mytab,我建议使用 -way \captionsetup。如果您想访问文档中某处的标题(如 pastebin 示例* 所示),这\captionof是您的朋友;您可以将其包装在新命令中,例如\tabcap

\documentclass{article}

\usepackage{caption}

\usepackage{lipsum}

% Environment
\newenvironment{mytab}{%
    \begin{center}
    \captionsetup{type=table}
}{\end{center}}

% Shortcut
\def\tabcap{\captionof{table}}

\begin{document}
\listoftables

\lipsum[1]

% Somewhere with \captionof
\begin{center}
\rule{\textwidth}{2cm}
\captionof{table}{Caption text}
\end{center}

\lipsum[2]

% Somewhere with shrtcut \tabcap
\begin{center}
\rule{\textwidth}{2cm}
\tabcap[Optional]{Caption text}
\end{center}

\lipsum[3]

% Environment
\begin{mytab}
\rule{\textwidth}{2cm}
\caption{Caption text}
\end{mytab}

\end{document}

*请注意,最好编辑原始问题以添加信息和代码,而不是使用外部网站。

答案2

float我相信,通过包装和(意思是“此处而非其他地方”)放置规范可以实现您的愿望[H]。请记住,您必须运行 LaTeX 两次才能获得正确的表格列表。

\documentclass[a5paper,12pt,twoside,openany]{report}
\usepackage[a5paper]{geometry}
\usepackage{fullpage}
\usepackage[colorlinks]{hyperref}

\usepackage{float} %% <--- this

\begin{document}

\begin{table}[H] %% <--- and this
\begin{center}
\label{mytable}
\caption{mytable}
\begin{tabular}{ll}
\hline
A & B \\
C & D \\
\hline
\end{tabular}
\end{center}
\end{table}

\listoftables
\end{document}

相关内容