在“图 1”下方添加规则

在“图 1”下方添加规则

我想在图片标题下面添加一行,例如

图1


此处为图片标题文字....

示例图

我设法添加了一个换行符,并通过标题包更改了标题的颜色和外观:

\usepackage[font=small,
            format=plain,
            labelformat=simple, 
            labelsep=newline,
            singlelinecheck=false,
            labelfont=bf,
            up
            ]{caption}
\captionsetup{labelfont={color=mybluecolor,bf}}

但无法像链接示例中那样放置一条线(水平线)。我该怎么做?

答案1

一种最少干预的方法:只需声明一个新的分隔符。

\documentclass{article}

\usepackage[demo]{graphicx}
\usepackage{xcolor}
\definecolor{mybluecolor}{rgb}{.204,.486,.741}
\usepackage{lipsum}

\usepackage{caption}

%%% Define a new caption separator
\DeclareCaptionLabelSeparator*{newlinerule}{\par\kern2pt\hrule\kern1pt}

\captionsetup{
  font=small,
  format=plain,
  labelformat=simple,
  labelsep=newlinerule,
  singlelinecheck=false,
  labelfont={color=mybluecolor,bf},
}

\begin{document}

\lipsum[1]

\begin{figure}[!hp]
\centering
\includegraphics[width=.8\textwidth]{x}
\caption{\protect\lipsum*[2]}
\end{figure}

\lipsum[3]

\end{document}

在此处输入图片描述

答案2

caption包允许您使用 定义您自己的字幕格式\DeclareCaptionFormat

\DeclareCaptionFormat{<name>}{<code using #1, #2 and #3>}

其中#1指的是标签、#2标签分隔符和#3标题文本。这将在第节中描述4 自身增强功能caption手动的. 以下是使用tabu排版标题应该能给你一个大概的概念:

\documentclass{article}
\usepackage{caption,xcolor,tabu}
\colorlet{captionlabel}{blue!100!black!85}

\DeclareCaptionFormat{custom}{%
 \begin{tabu} to \linewidth {@{}X@{}}
   \strut #1 \\\hline
   \strut #3
 \end{tabu}
}
\captionsetup{
  font=small,
  format=custom,
  singlelinecheck=false,
  labelfont={bf,color=captionlabel}
}
\usepackage{lipsum}
\begin{document}

\lipsum[1]

\begin{figure}[ht]
 \centering
 \rule{5cm}{3cm}
 \caption{\protect\lipsum*[4]}
\end{figure}

\lipsum[2]

\end{document}

在此处输入图片描述

相关内容