Latex 会自动为图表的标题添加数字标签。对于附录中的图表,我一直使用 caption*{} 命令隐藏这些标签,因此我可以手动将这些对象标记为 A1、A2 等。但是,我想在图表列表和表格列表中保留对它们的引用。有办法吗?
答案1
我想建议你不是在您的文档的附录部分中采用图表和表格的路线\caption*
。正如您所发现的,手动覆盖生成标题的标准方式会在文档的其他地方产生严重的后续问题。
相反,我建议您在文档中立即插入以下四条说明\appendix
(或,取决于您的文档设置\begin{appendices}
):
\counterwithin{figure}{section}
\counterwithin{table}{section}
\renewcommand{\thefigure}{\thesection\arabic{figure}}
\renewcommand{\thetable}{\thesection\arabic{table}}
前两个指令每次遇到指令时都会重置figure
和计数器。最后两个指令用于更改和数字的显示方式,方法是在与部分相关的标签(“A”、“B”等)前面加上前缀。如果没有最后两个指令,图表和表格编号将显示为、等,而您已声明希望将它们显示为、等。table
\section
figure
table
A.1
B.3
A1
B3
完整的 MWE (最小工作示例):
\documentclass{article}
\begin{document}
\listoffigures
\listoftables
\section{In the beginning, \dots}
\begin{figure} \caption{A figure} \end{figure}
\begin{table} \caption{A table} \end{table}
\appendix
\counterwithin{figure}{section}
\counterwithin{table}{section}
\renewcommand{\thefigure}{\thesection\arabic{figure}}
\renewcommand{\thetable}{\thesection\arabic{table}}
\section{Varia}
\begin{figure} \caption{Another figure} \end{figure}
\begin{table} \caption{Another table} \end{table}
\section{Miscellanea}
\begin{figure} \caption{A final figure} \end{figure}
\begin{table} \caption{A final table} \end{table}
\end{document}