我可以轻松地重新格式化文档以将图例放在单独的页面上吗?

我可以轻松地重新格式化文档以将图例放在单独的页面上吗?

我正在向期刊提交一篇文章,要求如下:

图例应作为文本文档的一部分一个接一个地列出,与图形文件分开。

目前,我的图片标题的格式为

\caption[short caption]{full caption}

我只希望full caption出现。

我可以将完整的图例插入到图表列表中,并将其从图表本身中排除吗?

(编辑:不改变表格标题的行为?)

答案1

这似乎就是你所追求的……

使用caption包裹您可以通过删除标签分隔符来修改标题。此外,我已经重新定义,\caption因此您只需指定一个(强制)参数。(编辑:将重新定义移至 之后\begin{document}oldcaption给出了 的默认行为caption

\documentclass{article}
\usepackage{caption}% http://ctan.org/pkg/caption
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage[demo]{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{letltxmacro}% http://ctan.org/pkg/letltxmacro
\DeclareCaptionTextFormat{none}{} \captionsetup[figure]{labelsep=none,textformat=none}

\begin{document}

\tableofcontents
\listoffigures
\section{First section}
\lipsum[1]
\begin{figure}[ht]
  \centering \includegraphics{image1}
  \caption[Unused first legend]{This is a first legend}
\end{figure}
\lipsum[2]
\begin{table}[ht]
\caption[a, b, and c]{The first $3$ letters of the alphabet}
\centering
\begin{tabular}{lll}
  \hline 
  a & b & c \\ 
  \hline
\end{tabular}
\end{table}
\lipsum[1]
\begin{figure}[ht]
  \centering \includegraphics{image2}
  \caption[Unused second legend]{This is a second legend}
\end{figure}
\lipsum[3]
\end{document}

在此处输入图片描述

lipsum提供填充文本,同时demo提供选项graphicx仅适用于此 MWE 示例,因为它不包含图像。标题仅排版为Figure <num>,而实际图形标题包含在“图形列表”中。

答案2

在下面的解决方案中,标题列表打印在文档末尾。它的优点是,只需注释掉添加的代码即可打印文档的正常版本。最终列表中只会打印“长标题”,而正常列表中将打印短标题。

\documentclass[a4paper]{article}
\usepackage{lipsum}

\makeatletter
\usepackage{shorttoc,letltxmacro,etoolbox}
\LetLtxMacro{\ORIcaption}{\caption}
\renewcommand{\caption}{\@dblarg{\x@caption}}
\def\x@caption[#1]#2{\ORIcaption[\shortcaption{#1}\longcaption{#2}]{#2}}
\DeclareRobustCommand{\shortcaption}{}
\DeclareRobustCommand{\longcaption}{}
\let\ORIlistoffigures\listoffigures
\renewcommand{\listoffigures}{%
  \begingroup
    \def\shortcaption##1{##1} \def\longcaption##1{}
    \anothertableofcontents[lof]{\jobname}{\listfigurename}{1}
  \endgroup}
\newcommand{\listofcaptions}{\newpage
  \pagestyle{empty}
  \begingroup
    \def\shortcaption##1{} \def\longcaption##1{##1}%
    \def\listfigurename{Captions to figures}%
    \def\l@figure##1##2{\@dottedtocline{1}{1.5em}{2.3em}{##1}{}}%
    \patchcmd{\@dottedtocline}{\hbox{.}}{}{}{}%
    \listoffigures
    \endgroup}
\AtEndDocument{\listofcaptions}
\makeatother

\begin{document}

\listoffigures

\lipsum[1]

\begin{figure}
X
\caption{This has only a long caption}
\end{figure}

\begin{figure}
Y
\caption[This short one]{This has also a short caption}
\end{figure}

\end{document}

相关内容