我刚刚用 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}}