使用回忆录更改子字幕的字体

使用回忆录更改子字幕的字体

该类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}

...创建这个,带有无衬线主标题和衬线子标题:

MWE 结果

有多种方法可以使用该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}

…现在产生了这个正确样式的输出:

正确输出

相关内容