将文本添加到标题前

将文本添加到标题前

标题设置如下Figure 1. Caption,我需要它是Figure 1. <text> Caption,所有图形都使用相同的文本,并且我需要它是标题的一部分,而不是图形名称**。

我用我所知道的和做过的事去尝试

\renewcommand{\caption}[1]{ \caption{<text> #1} }

但这种方法行不通,因为我的文本中的所有标题都写成了\caption[shortcaption]{caption}。发现这个问题这确实很有见地,但我无法通过我想做的改变来实现它。

显然,我需要通过包含以下内容来正确定义标题\shortcaption重新定义来正确定义标题,但我不知道如何做到这一点。

如上所述,如何将文本添加到标题前面?谢谢!


** 这是我为另一个问题找到的解决方法。在书籍类中,使用我没有编写且无法为我的论文更改的模板,即使使用正确的包设置,标题也不会对齐。但如果在写标题之前我添加了代码,它们确实会对齐。\vspace{0pt}\justifying\noindent所以,我想把它添加到我的标题命令前面,避免每次都写它。

答案1

简单的解决方案是使用标题包。

\documentclass{article}
\usepackage{caption}
\DeclareCaptionFormat{silly}{#1#2<text> #3}
\captionsetup{format=silly,labelsep=period}
\usepackage{blindtext}% MWE only
\begin{document}
\listoffigures

\begin{figure}[htp]
\caption[short caption]{\blindtext}
\end{figure}
\end{document}

demo

相关内容