在以下示例中,我用来\DeclareCaptionFont
更改标题标签的颜色:
\documentclass[11pt]{article}
\usepackage{xcolor}
\usepackage{caption}
\usepackage{subcaption}
\DeclareCaptionFont{gray}{\color{gray}}
\captionsetup[subfigure]{labelsep=space, labelfont={sf,gray}}
\begin{document}
\begin{figure}
\begin{subfigure}{.5\textwidth}
\caption{first subcaption}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\caption{second subcaption}
\end{subfigure}
\end{figure}
\end{document}
结果:
标题标签后没有空格。我该如何修复?
答案1
我猜是因为 captionfont 的代码,它会截掉下一个空格。但是你可以定义一个带有禁止空格的分隔符,它不会被截掉:
\documentclass[11pt]{article}
\usepackage{xcolor}
\usepackage{caption}
\usepackage{subcaption}
\DeclareCaptionLabelSeparator{protectedspace}{~}%put in what you like
\DeclareCaptionFont{gray}{\color{gray}}
\captionsetup[subfigure]{labelsep=protectedspace,labelfont={sf,gray}}
\begin{document}
\begin{figure}
\begin{subfigure}{.5\textwidth}
\caption{first subcaption}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\caption{second subcaption}
\end{subfigure}
\end{figure}
\end{document}
答案2
如有疑问,请定义整个格式以包含您想要的更改:
\documentclass{article}
\usepackage{xcolor}
\usepackage{subcaption}
\DeclareCaptionLabelFormat{graysf}{\textcolor{gray}{\sffamily (#2)}}
\captionsetup[subfigure]{labelsep=space,labelformat=graysf}
\begin{document}
\begin{figure}
\begin{subfigure}{.5\textwidth}
\caption{first subcaption}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\caption{second subcaption}
\end{subfigure}
\end{figure}
\end{document}
在使用时
#1
被名称替换(例如“figure”),并被#2
参考编号替换(例如“12”)。
因此,我仅#2
在标题标签格式的定义中使用它们graysf
。