附录中的替代图片标题

附录中的替代图片标题

在一篇包含模拟生成的图形的论文中,我想在附录部分指定用于运行模拟的参数。如何在每个图形环境中实现一个命令,该命令将向附录中的某个部分添加一个子部分,该部分指定每个图形的详细信息。我想象的是这样的:

\begin{figure}
   \centering
   \includegraphics[width=\linewidth]{fig1.png}
   \caption{Description of figure 1...}
   \label{fig:fig1}
   \altcaption{Nitty-gritty details of figure \ref{fig:fig1}...}
\end{figure}

... some body text ...

\begin{figure}
   \centering
   \includegraphics[width=\linewidth]{fig2.png}
   \caption{Description of figure 2...}
   \label{fig:fig2}
   \altcaption{Nitty-gritty details of figure \ref{fig:fig2}... Maybe even contains a reference to \ref{fig:fig1}}
\end{figure}

... rest of body text...

\appendix

\section{Appendix 1}

... appendix 1 text ...

\section{Figure details}

\altcaptionlist

这将输出一个标题为“图形细节”的附录部分,其子部分标题为“图 1 细节”和“图 2 细节”,其内容分别包括“图 1 的细节”和“图 2 的细节……甚至可能包含对图 1 的引用”。

理想的实现方式应具有上述形式,但如果能够在无需手动组织附录小节的情况下产生此类结果,我们将不胜感激。

谢谢你!

答案1

你可以使它\altcaption与将项目添加到列表中的宏同义,同时\altcaptionlist处理此存储项目列表。使用etoolbox的列表处理能力,这是相当简单的。

在此处输入图片描述

\documentclass{article}

\usepackage{etoolbox}

\NewDocumentCommand{\altcaption}{}{\listgadd{\altcaplist}}% Store \altcaption in list \altcaplist
\NewDocumentCommand{\altcaptionlist}{}{%
  % Process \altcaplist
  \begin{itemize}
    \RenewDocumentCommand{\do}{ m }{\item ##1}% Each item is an \item
    \dolistloop{\altcaplist}%
  \end{itemize}
}

\begin{document}

\begin{figure}
  \caption{Description of first figure}
  \label{fig:fig1}
  \altcaption{Nitty-gritty details of Figure~\ref{fig:fig1}\ldots}
\end{figure}

\ldots some body text\ldots

\begin{figure}
  \caption{Description of second figure}
  \label{fig:fig2}
  \altcaption{Nitty-gritty details of Figure~\ref{fig:fig2}\ldots Maybe even contains a reference to Figure~\ref{fig:fig1}}
\end{figure}

\ldots rest of body text\ldots

\appendix

\section{Appendix 1}

\ldots Appendix text\ldots

\section{Figure details}

\altcaptionlist

\end{document}

相关内容