我有一个LaTeX文档,我希望浮点数(表格和图形)的编号在1到x的一个数字序列中,而不是根据类型的两个序列。我也没有使用数字或表格列表,也不需要。
我的文档类是报告,通常我的浮点数有这样的标题:
\caption{Breakdown of visualisations created.}
\label{tab:Visualisation_By_Types}
答案 0 :(得分:3)
快速执行此操作的方法是在每个数字后添加\addtocounter{table}{1}
,在每个数据后添加\addtocounter{figure}{1}
。
它并不漂亮,在较长的文档中,您可能希望在样式表或模板中包含该文档,或者使用cristobalito连接计数器的解决方案。
答案 1 :(得分:2)
图形和表格环境之间的差异非常小 - 比使用不同计数器的情况稍微多一点,并且以不同的顺序进行维护。
也就是说,没有什么可以阻止你将{tabular}
环境放在{figure}
中,或将图形放在{table}
中,这意味着它们最终会以相同的顺序排列。这种情况的问题(正如约瑟夫赖特指出的那样)是你必须调整\caption
,这样才能完美地运作。
在序言中尝试以下内容:
\makeatletter
\newcounter{unisequence}
\def\ucaption{%
\ifx\@captype\@undefined
\@latex@error{\noexpand\ucaption outside float}\@ehd
\expandafter\@gobble
\else
\refstepcounter{unisequence}% <-- the only change from default \caption
\expandafter\@firstofone
\fi
{\@dblarg{\@caption\@captype}}%
}
\def\thetable{\@arabic\c@unisequence}
\def\thefigure{\@arabic\c@unisequence}
\makeatother
然后在表格和数字中使用\ucaption
,而不是\caption
(更改名称为ad lib)。如果你想在其他环境中使用相同的序列(例如,列表?),那么以相同的方式定义\the<foo>
。
我早先对此的尝试实际上完全被破坏了,正如OP所发现的那样:犯错误的是,而不是微不足道,只是很难修复,绝对基本(ho,hum)。
(对于afficionados,它的出现是因为\advance
命令在TeX的内部处理,但.lof,.lot,和.aux 文件的内容在TeX中得到修复嘴,在扩展时,因此写入文件的是\@tempcnta
在调用点\caption
时所具有的任何值,忽略\advance
计算,然后将其尽职尽责地写入文件,然后被忽略。多哈:我知道多长时间但从未内化过它!?)
尽职尽责地保留早先的尝试(理由是这可能是有益的):
没问题:尝试在序言中加入以下内容:
\makeatletter
\def\tableandfigurenum{\@tempcnta=0
\advance\@tempcnta\c@figure
\advance\@tempcnta\c@table
\@arabic\@tempcnta}
\let\thetable\tableandfigurenum
\let\thefigure\tableandfigurenum
\makeatother
...然后正常使用{table}
和{figure}
环境。字幕将具有正确的“表格/图形”文本,但它们将共享一个编号序列。
请注意,这个例子在listoffigures / listoftables中得到错误的数字,但是(a)你说你不关心它,(b)它是可修复的,虽然可能是温和的,但是(c)生活艰难!
答案 2 :(得分:1)
我不记得语法,但你基本上是在寻找计数器。在自定义浮动部分下查看here。将表和数字的计数器分配给同一个东西,它应该可以工作。
答案 3 :(得分:0)
我只使用一种浮动(让我们说'数字'),然后使用标题包从标题中删除自动添加的“图”文本并手动处理。