- 主题:怎么让有子表格的表格不参与编号?

两个子表格并排排列,使用\phantomcaption设置总表格不显示标题.问题是如何让总表格也不参与编号呢?
mwe中的例子显然编号了,因为第二个表的编号显示为2.
\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{table}
\centering
\subcaptionbox*{sub1}{%
\begin{tabular}{c}\hline
abcdefg \\ \hline
\end{tabular}%
}
\qquad
\subcaptionbox*{sub2}{%
\begin{tabular}{c}\hline
hijklmn \\ \hline
\end{tabular}%
}
\phantomcaption
\end{table}
\begin{table}
\centering
\begin{tabular}{c}\hline
qwertyuiop \\ \hline
\end{tabular}
\caption{text}
\end{table}
\end{document}
--
FROM 115.171.40.*
【 在 Torri (陶瑞) 的大作中提到: 】
: [upload=1][/upload]
: 两个子表格并排排列,使用\phantomcaption设置总表格不显示标题.问题是如何让总表格也不参与编号呢?
: mwe中的例子显然编号了,因为第二个表的编号显示为2.
: ...................
用table环境就会自动编号啊
要么不用table,要么自己改计数器
--
FROM 59.172.4.*
见下面这个mwe,如果用\caption*{}可以不参与编号,并且没有标题.但这样只是不显示标题而已,标题位置的竖直空间实际上还占着.我不想有这个竖直空间被占用.
\documentclass{article}
\usepackage{caption}
\begin{document}
\begin{table}
\centering
\begin{tabular}{c}\hline
qwertyuiop \\ \hline
\end{tabular}
\caption{text}
\end{table}
\begin{table}
\centering
\begin{tabular}{c}\hline
qwertyuiop \\ \hline
\end{tabular}
\caption*{}
\end{table}
\begin{table}
\centering
\begin{tabular}{c}\hline
qwertyuiop \\ \hline
\end{tabular}
\caption{text}
\end{table}
\end{document}
【 在 snoopyzhao 的大作中提到: 】
:
: 用table环境就会自动编号啊
: 要么不用table,要么自己改计数器

--
FROM 115.171.40.*
我试了一下,如果用这里的\caption*{}替换原贴中的\phantomcaption,并不能像这里一样不参与编号,而是依然会编号.我猜想原因是由于使用了子表格环境,虽然子表格用*形式没有显示编号,但子表格的存在使得总表格编号了.这是我的猜测,不知道对不对.
【 在 Torri 的大作中提到: 】
: 见下面这个mwe,如果用\caption*{}可以不参与编号,并且没有标题.但这样只是不显示标题而已,标题位置的竖直空间实际上还占着.我不想有这个竖直空间被占用.
: \documentclass{article}
: \usepackage{caption}
: ...................
--
FROM 115.171.40.*
【 在 Torri (陶瑞) 的大作中提到: 】
: 见下面这个mwe,如果用\caption*{}可以不参与编号,并且没有标题.但这样只是不显示标题而已,标题位置的竖直空间实际上还占着.我不想有这个竖直空间被占用.
: \documentclass{article}
: \usepackage{caption}
: ...................
与 caption 没有关系啊
说的是 table 这个环境,这个环境定义的时候就带了计数器,你需要的就是重置这个计数器
--
FROM 59.172.4.*
私以为是subcaption实现方式不曾考虑你这种用法,造成bug。
原宏包认为在使用\subcaption时总会用\caption,然后把计数器自增的位置放在一个钩子中,通过 caption@flags 计数器变量决定是否自增。所以设置一个预定义范围外的比较大的 caption@flags 值可以绕过此问题,但这种依赖内部实现的做法显然非常不合理。
无论如何,你可以手动在浮动体最后面加 \addtocounter{table}{-1} 绕过这个问题,而不必深研 subcaption 的具体实现。够用就行。
我搜索了一下,该宏包对计数器的具体实现方式还会带来其他一些问题,比如
https://tex.stackexchange.com/q/584725/2674
【 在 Torri 的大作中提到: 】
:
:
:
: ...................
--
修改:milksea FROM 114.249.196.*
FROM 114.249.196.*
table 正常不会自增计数器的,加标题才会。从代码封装一致性角度来看,楼主完全有理由像目前这样用,不过结果有点出人意料。
【 在 snoopyzhao 的大作中提到: 】
: 【 在 Torri (陶瑞) 的大作中提到: 】
: : 见下面这个mwe,如果用\caption*{}可以不参与编号,并且没有标题.但这样只是不显示标题而已,标题位置的竖直空间实际上还占着.我不想有这个竖直空间被占用.
: : \documentclass{article}
: ...................
--
FROM 114.249.196.*
顺便一提,\phantoncaption 在这里毫无帮助。
【 在 Torri 的大作中提到: 】
:
:
:
: ...................
--
FROM 114.249.196.*
【 在 milksea (肥了,又肥了 >>>_<<<) 的大作中提到: 】
: 标 题: Re: 怎么让有子表格的表格不参与编号?
: 发信站: 水木社区 (Sun Aug 29 17:21:57 2021), 站内
:
: table 正常不会自增计数器的,加标题才会。从代码封装一致性角度来看,楼主完全有理由像目前这样用,不过结果有点出人意料。
: 【 在 snoopyzhao 的大作中提到: 】
: : 【 在 Torri (陶瑞) 的大作中提到: 】
: : : 见下面这个mwe,如果用\caption*{}可以不参与编号,并且没有标题.但这样只是不显示标题而已,标题位置的竖直空间实际上还占着.我不想有这个竖直空间被占用.
: : : \documentclass{article}
楼主被我误导了……
我也是很久没有弄过这个了
唯一能想到的,就是 \addtocounter{table}{-1} 这个头痛医头,脚痛医脚的方法了
--
FROM 59.172.4.*
是的,刚才我也想明白了,如果是并排表格但又不要标题,似乎不是\subcationbox的应用场景,可以用别的方式来实现.我这里一方面是两个表格需要各自的标题,同时我还想让它们底部对齐,所以就顺手用了\subcaptionbox(最开始也是从你的书上学来的).
【 在 milksea 的大作中提到: 】
: 私以为是subcaption实现方式不曾考虑你这种用法,造成bug。
: 原宏包认为在使用\subcaption时总会用\caption,然后把计数器自增的位置放在一个钩子中,通过 caption@flags 计数器变量决定是否自增。所以设置一个预定义范围外的比较大的 caption@flags 值可以绕过此问题,但这种依赖内部实现的做法显然非常不合理。
: 无论如何,你可以手动在浮动体最后面加 \addtocounter{table}{-1} 绕过这个问题,而不必深研 subcaption 的具体实现。够用就行。
: ...................
--
FROM 115.171.40.*