该类memoir
具有用于设置标题字体样式的内置宏,包括标题本身和前缀(即“图 1”),以及\captiontitlefont{}
和\captionnamefont{}
。
该类还具有内置的子标题功能,无需使用包caption
(TeX 会对你大喊大叫如果您尝试同时使用memoir
和)。caption
但是,似乎没有办法更改子字幕的字体memoir
——没有\subcaptiontitlefont{}
。
例如,这个 MWE…
\documentclass[12pt]{memoir}
\usepackage[demo]{graphicx}
% Enable \subtop and \subbottom in figures
\newsubfloat{figure}
% Change caption fonts
\captiontitlefont{\scriptsize\sffamily}
\captionnamefont{\scriptsize\sffamily}
\begin{document}
\begin{figure}
\centering
\subtop[Thing 1]{\includegraphics[width=0.75\textwidth]{}}\\
\subbottom[Thing 2]{\includegraphics[width=0.75\textwidth]{}}\\
\caption{Two subfigures}
\end{figure}
\end{document}
...创建这个,带有无衬线主标题和衬线子标题:
有多种方法可以使用该caption
包,而不管 的memoir
警告(比如这个), 覆盖memoir
的内置标题样式设置, 如下所示:
\usepackage{subfig}
\usepackage{caption}
\captionsetup[figure]{labelfont={sf,scriptsize},textfont={sf,scriptsize}}
\captionsetup[subfloat]{labelfont={sf,scriptsize},textfont={sf,scriptsize}}
但是,这仍然不能正确地设置子浮动标题的样式(并且它会覆盖所有的memoir
标题默认值)。
设置memoir
支持子字幕的字体的最佳/正确方法是什么?
答案1
呃,没关系。是内置方式memoir
——它只是不遵循相同的命名约定,因此\captiontitlefont
在手动的。子字幕由三个宏控制,默认值如下:
\subcaptionsize{\footnotesize}
\subcaptionlabelfont{\normalfont}
\subcaptionfont{\normalfont}
所以这个例子…
\documentclass[12pt]{memoir}
\usepackage[demo]{graphicx}
% Enable \subtop and \subbottom in figures
\newsubfloat{figure}
% Change caption fonts
\captiontitlefont{\scriptsize\sffamily}
\captionnamefont{\scriptsize\sffamily}
\subcaptionsize{\scriptsize}
\subcaptionlabelfont{\sffamily}
\subcaptionfont{\sffamily}
\begin{document}
\begin{figure}
\centering
\subtop[Thing 1]{\includegraphics[width=0.75\textwidth]{}}\\
\subbottom[Thing 2]{\includegraphics[width=0.75\textwidth]{}}\\
\caption{Two subfigures}
\end{figure}
\end{document}
…现在产生了这个正确样式的输出: