我正在抄写一本有很多插图的书的草稿。在这个阶段,作者插入了一些图片并删除了其他图片,所以他的图版编号是 1、2、3a、3b、3c、4、5、6、10、11……我现在想保留他的编号。我尝试了各种\renewcommand{\thefigure}
组合\setcounter
似乎都没有用。
答案1
组合\renewcommand\thefigure{..}
里面 figure
环境和\setcounter{figure}{..}
和\addtocounter{figure}{..}
指令外部环境figure
应该能完成这项工作。
\documentclass{article}
\begin{document}
% be sure to remove the '[ht!]' placement specifiers in your real doc.
\begin{figure}[ht!] \caption{\dots} \end{figure} % 1
\begin{figure}[ht!] \caption{\dots} \end{figure} % 2
\begin{figure}[ht!] \renewcommand\thefigure{3a}\caption{\dots} \end{figure} % 3a
\begin{figure}[ht!] \renewcommand\thefigure{3b}\caption{\dots} \end{figure} % 3b
\begin{figure}[ht!] \renewcommand\thefigure{3c}\caption{\dots} \end{figure} % 3c
\setcounter{figure}{3} % b/c 'figure' counter has advanced to '5' in the meantime
\begin{figure}[ht!] \caption{\dots} \end{figure} % 4
\begin{figure}[ht!] \caption{\dots} \end{figure} % 5
\begin{figure}[ht!] \caption{\dots} \end{figure} % 6
\addtocounter{figure}{3} % skip over three numbers
\begin{figure}[ht!] \caption{\dots} \end{figure} % 10
\begin{figure}[ht!] \caption{\dots} \end{figure} % 11
\end{document}
答案2
由于编号没有规律,您可以制作一个主列表并将其用作查找表,然后将其加载到 expl3 属性列表中以保存击键。
如果情况发生变化并且您需要重新同步主列表,您可以在标题中输入实际的图形编号来提供帮助。
对于大量的数字,电子表格是高效的,它将每个主列表的编辑减少到六次击键。
平均能量损失
\documentclass{article}
\usepackage{graphicx}
\usepackage{xparse}
\ExplSyntaxOn
\prop_new:N \g_ap_figlabel_prop
\NewDocumentCommand \loadalist { +m } {
\prop_gset_from_keyval:Nn
\g_ap_figlabel_prop
{ #1 }
}
\NewDocumentCommand \getfiglabel { m } {
\tl_set:Nx
\l_tmpa_tl
{ #1 }
\exp_args:NNo
\prop_item:Nn
\g_ap_figlabel_prop
{ \l_tmpa_tl }
}
\ExplSyntaxOff
\newcommand\testfig{\begin{figure}\begin{center}\includegraphics[width=1cm]{example-image}\caption{A caption (seq: \arabic{figure})}\end{center}\end{figure}}
\loadalist{1=1
,2=2
,3=3a
,4=3b
,5=3c
,6=4
,7=5
,8=6
,9=10
,10=11
,11=23
,12=52
}
\renewcommand{\thefigure}{\getfiglabel{\arabic{figure}}}
%========================================
\begin{document}
\listoffigures
\testfig
\testfig
\testfig
\testfig
\testfig
\testfig
\end{document}
或者这样做:
\renewcommand{\thefigure}{\getfiglabel{\arabic{figure}} (\arabic{figure})}
更加紧凑。