为什么 \caption*{} 不起作用?

为什么 \caption*{} 不起作用?

我受到启发这个问题将来源添加到标题中。基本上,要在注释中定义来源,可以创建一个新命令,

\newcommand{\source}[1]{\caption*{\hfill Source: {#1}} }

而且,只需将 添加\source{Book}到环境中figure,就可以在图中拥有一个源,而无需将其出现在 中\listoffigures

不幸的是,每当我这样做时都会得到以下结果: 在此处输入图片描述

\caption*LaTeX 并不欢迎这个命令,它里面的内容仍然以某种方式被读取并被用作标题。除了文本中可怕的“图 1.2:*”之外,在图片列表中,它仍然被记录下来,列表如下

  • 图 1.1:电阻率等
  • 图 1.2:*
  • 图 1.3:有意义的标题
  • 图 1.4:*

等等。

附加信息:我在 Windows 10 上使用以 MikTeX 2.9.4196 为基础的 TeXstudio 2.10.8。

梅威瑟:

\documentclass[12pt,a4paper]{report}
\usepackage{graphicx} %for figures
\newcommand{\source}[1]{\caption*{\hfill Source: {#1}} } %command definition for sources in figures
\begin{document}
\listoffigures
\chapter{On how my caption went wrong}
Well hello there.
\begin{figure}
    \centering
%   \includegraphics[width=0.7\linewidth]{whatevs}
    \caption{Look at me I'm a caption}
    \label{fig:preeetty_figure}
    \source{Interesting book}
\end{figure}
\end{document}

有人知道为什么会发生这种情况吗?提前致谢!

答案1

环境figure也可以包含普通文本,而不仅仅是图形和标题。因此,实现所需内容的一种简单方法是

\newcommand{\source}[1]{\hfill Source: #1} %command definition for sources in figures

完整代码:

\documentclass[12pt,a4paper]{report}
\newcommand{\source}[1]{\hfill Source: {#1}} %command definition for sources in figures
\begin{document}
\listoffigures  
\begin{figure}[htb]
    \centering
    \caption{Look at me I'm a caption}
    \label{fig:preeetty_figure}
    \source{Interesting book}
\end{figure}
\begin{figure}[htb]
    \centering
    \caption{Words.}
    \label{fig:preetty_figure}
    \source{Uninteresting book}
\end{figure}

\end{document}

在此处输入图片描述

相关内容