扩展的图题和附带的“列表”

扩展的图题和附带的“列表”

我想写一个扩展的图形标题部分,并想知道是否可以让 LaTeX 为我完成大部分艰苦的工作。

理想情况下,它可以采用函数的形式,比如说\extcaption,我们可以在浮点数中使用,例如

\begin{figure}
\includegraphics{example-image-a.pdf}
\caption{Important things.}
\extcaption{Less important things.}
\label{fig:bigA}
\end{figure}

我们可以用

\printextcaptions

那将会返回

图 1.1,第 2 页:不太重要的事情。

无论如何都要这么做?以下是 MWE:

\documentclass[a4paper,10pt]{report}
\usepackage{fontspec}
\usepackage{graphicx}
\usepackage[titles]{tocloft}

\begin{document}
\chapter{A chapter}

\section{A section}

\begin{figure}
\includegraphics{example-image-a.pdf}
\caption{Picture of a big A}
%\extcaption{This picture is magnificent}
\label{fig:bigA}
\end{figure}

\begin{figure}
\includegraphics{example-image-b.pdf}
\caption[This picture is horrible]{Picture of a big B}
%\extcaption{This picture is horrible.}
\label{fig:bigB}
\end{figure}

%\printextcaptions

\end{document}

我得到的最好结果是使用tocloft包设置一个新列表

\newlistof[section]{extfig}{efc}{Extended figure captions}
\newcommand{\extcaption}[1]{%
\refstepcounter{extfig}
\par\noindent\textbf{\theextfig #1}
\addcontentsline{efc}{extfig}{\protect\numberline{\theextfig}#1}\par}
\renewcommand{\theextfig}{}

但是这会打印一个新的章节,而我什么都不想要,它不会按照我想要的格式打印扩展标题,也不会读取图形(或表格)浮点数的标签,所以我必须手动设置所有内容。

答案1

以下将类似 ToC 的条目写入新.efc文件并使用 读取\printextcaptions

在此处输入图片描述

\documentclass{report}
\usepackage{graphicx,lipsum}

\newcommand{\extcaption}[1]{% Write to .efc file
  \addcontentsline{efc}{extfig}{\thefigure, page~\thepage: #1}}
\makeatletter
\newcommand{\printextcaptions}{\@starttoc{efc}}% Read .efc file
\newcommand{\l@extfig}[2]{\noindent #1\par}% How each .efc entry is handled
\makeatother

\begin{document}

\sloppy% Just for this example

\chapter{A chapter}

\section{A section}

\printextcaptions

\lipsum[1-50]

\begin{figure}[ht]
  \includegraphics{example-image-a}
  \caption{Picture of a big A}
  \extcaption{This picture is magnificent}
\end{figure}

\lipsum[1-50]\lipsum[1-50]

\begin{figure}[ht]
  \includegraphics{example-image-b}
  \caption[This picture is horrible]{Picture of a big B}
  \extcaption{This picture is horrible}
\end{figure}

\end{document}

相关内容