![如何使自定义浮动环境对标题使用相同的编号。](https://linux22.com/image/232475/%E5%A6%82%E4%BD%95%E4%BD%BF%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B5%AE%E5%8A%A8%E7%8E%AF%E5%A2%83%E5%AF%B9%E6%A0%87%E9%A2%98%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E7%BC%96%E5%8F%B7%E3%80%82.png)
我使用自定义浮动环境,该环境基本上用作提供额外格式的表格环境。我希望此环境使用与常规表格浮动相同的编号。有办法吗?我已经使用 floatname 命令将 floatname 更改为与 Table 匹配。这是我的初始化代码:
\newfloat{newtable}{tbp}{lop}[chapter]
\floatname{newtable}{Table}
常规表格编号也跨越章节...您有什么想法吗?
答案1
如果你这样做只是为了获得具有不同格式的第二个表格环境,为什么不简单地根据现有的来定义它呢table
?例如
\newenvironment{newtable}{\table[opts]\formatting\stuff}{\endtable}
答案2
一个较黑客的解决方案 - 可能会产生不利影响 - 是在环境table
之后增加计数器newtable
,反之亦然。
\documentclass{book}
\usepackage{float}
\newfloat{newtable}{tbp}{lop}[chapter]
\floatname{newtable}{Table}
\makeatletter
\g@addto@macro\endnewtable{\refstepcounter{table}}
\g@addto@macro\endtable{\refstepcounter{newtable}}
\makeatother
\begin{document}
\chapter{A chapter}
\begin{table}[!ht]
\caption{A table}
\end{table}
\begin{newtable}[!ht]
\caption{A newtable}
\end{newtable}
\begin{table}[!ht]
\caption{Another table}
\end{table}
\end{document}