问题:

问题:

我需要在我的图表列表中包含我的资料来源,例如来自图像文件。

\documentclass[10pt,a4paper]{article}
\usepackage[list=true]{subcaption}
\usepackage{graphicx}
\usepackage{tocloft}
\setcounter{lofdepth}{2}
\makeatletter
\newcommand{\figsourcefont}{\footnotesize}
\newcommand{\figsource}[1]{%
  \addtocontents{lof}{%
    {\leftskip\cftfigindent
     \advance\leftskip\cftfignumwidth
     \rightskip\@tocrmarg
     \figsourcefont#1\protect\par}%
  }%
 }
\makeatother

\begin{document}
test
\begin{figure}[h]
    \centering
    \begin{subfigure}[b]{0.5\textwidth}
        \includegraphics[width=\textwidth]{test1.jpg}
        \caption{Caption1}
        \figsource{Source1}
    \end{subfigure}%
    \begin{subfigure}[b]{0.5\textwidth}
        \includegraphics[width=\textwidth]{test1.jpg}
        \caption{Caption2}
        \figsource{Source2}
    \end{subfigure}
    \caption{Caption}
    \figsource{Source}
\end{figure}
\listoffigures
\end{document}

这给了我类似这样的结果: MWE

问题:

我需要在条目下方放置源标题和子图,这完全搞乱了。

我需要的:

     List of Figures

1    Caption ............................................. 1
     URL: http://tex.stackexchange.com
     (a)    Caption1 ..................................... 2
     URL: http://tex.stackexchange.com
     (b)    Caption2 ..................................... 3

希望有人能帮助我,

谢谢,

答案1

这可能并不完美,因为图片标题在最上面。但它具有 OP 需要的主要功能。\subcaptionbox使用命令而不是subfigure环境。需要编译两次。

enter image description here

代码

\documentclass[10pt,a4paper]{article}
\usepackage[list=true]{subcaption}
\usepackage[demo]{graphicx}
\usepackage{tocloft}
\setcounter{lofdepth}{2}
\makeatletter
\newcommand{\figsourcefont}{\footnotesize}
\newcommand{\figsource}[1]{%
  \addtocontents{lof}{%
    {\leftskip\cftfigindent
     \advance\leftskip\cftfignumwidth
     \rightskip\@tocrmarg
     \figsourcefont#1\protect\par}%
  }%
 }
\makeatother

\begin{document}
test
\begin{figure}[hbt]
\centering
 {\caption{Caption}
    \figsource{Source}}
       \subcaptionbox{Caption1}
{\includegraphics[width=0.4\textwidth]{test1.jpg}}
        \figsource{Source1}
\subcaptionbox{Caption2}
{ \includegraphics[width=0.4\textwidth]{test1.jpg}}
        \figsource{Source2}
\end{figure}
\listoffigures
\end{document}

更新:楼主想把标题放在底部。所以这是一个解决方法,添加两个代码片段,\abovecaptionskip修改后将标题移到图片底部。

enter image description here

\documentclass[10pt,a4paper]{article}
\usepackage[list=true]{subcaption}
\usepackage[demo]{graphicx}
\usepackage{tocloft}
\setcounter{lofdepth}{2}
\makeatletter
\newcommand{\figsourcefont}{\footnotesize}
\newcommand{\figsource}[1]{%
  \addtocontents{lof}{%
    {\leftskip\cftfigindent
     \advance\leftskip\cftfignumwidth
     \rightskip\@tocrmarg
     \figsourcefont#1\protect\par}%
  }%
 }
\makeatother
\begin{document}
This is a test and put the caption down below the image. 

\begin{figure}[hbt]
\vspace{4cm}                            % new addon
\addtolength\abovecaptionskip{-5cm}     % new addon
\centering
 {\caption{Caption}
    \figsource{Source}}
       \subcaptionbox{Caption1}
{\includegraphics[width=0.4\textwidth]{test1.jpg}}
        \figsource{Source1}
\subcaptionbox{Caption2}
{ \includegraphics[width=0.4\textwidth]{test1.jpg}}
        \figsource{Source2}
\end{figure}
\listoffigures
\end{document}

答案2

这个简短的解决方案对我来说已经足够好了。我不知道它如何与子图一起工作。无论如何,@Jesse 的格式化效果要好得多。也许我会在我的文档中使用他的。

在序言中:

\usepackage{caption}[2011/11/10]

\newcommand{\figsource}[1]{%
\addtocounter{figure}{-1}
\captionlistentry{source: #1}
}

在文档中:

\begin{figure}[ht]
\centering
\framebox{
\includegraphics{googlecalculator}
}
\caption{The Google Calculator}
\label{fig:googlecalculator}
\figsource{Screen shot of Google calculator.}
\end{figure}

生成:

enter image description here

相关内容