我想在图片标题下面添加一行,例如
图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}