在图标题中使用标题的简短描述

在图标题中使用标题的简短描述

我刚刚用 Latex 写了一份长达 200 页的文档,发现了一个小问题。我所有的图都具有以下格式:

\documentclass[a4paper,11pt,fleqn]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french,german,english]{babel}
\usepackage{graphicx}

\begin{document}

\begin{figure}[!ht]
  \centering
    \includegraphics[width=0.9\textwidth]{image.pdf}
 \caption[Short Description]{Long Description}
  \label{fig:test}
\end{figure}

\end{document}

该图的标题为“图 1.1 - 详细描述”。

简短描述只显示在我的图表列表中。有没有办法自动将简短描述以粗体显示在详细描述的开头?这样我就不需要手动编辑所有图表了?

因此,其读法应为:“图 1.1 -简短的介绍。详细描述”。

或者我需要手动浏览所有图表并像这样编辑它们?:

\begin{figure}[!ht]
  \centering
    \includegraphics[width=\textwidth]{my_figure.pdf}
 \caption[Short description.]{\textbf{Short description.} Long description}
  \label{fig:my_label}
\end{figure}

我尝试使用这个宏,但它不起作用:

\renewcommand{\caption}[2]{\caption[#1]{\textbf{#1}. #2}}

预先感谢您的帮助!

答案1

通过详细阅读有关宏的内容,我找到了解决方案:

\let\oldcaption\caption
\renewcommand\caption[2][]{\oldcaption[#1]{\textbf{#1.} #2}}

除了为什么我需要空括号 [] 之外,我都明白了。

我原本期望下面的命令能够起作用,但是它却不起作用:

\let\oldcaption\caption
\renewcommand{\caption}[2]{\oldcaption[#1]{\textbf{#1.} #2}}

相关内容