使用多个子图像更改图像中数字的字体

使用多个子图像更改图像中数字的字体

问题是,我有一张包含 3 个子图像(a)、(b)和(c)的图像。有一个通用标题,每个子图像都有自己的标题。我更改了所有标题的字体,但数字(a)-(b)-(c)的字体写错了。我该如何纠正?

\documentclass{article}
\usepackage{subcaption}
\begin{document}

\newcommand{\gratab}[2]{\caption{\sffamily\bfseries\small #1}\label{#2}}

\begin{figure*}
\centering
    \begin{subfigure}{0.33\textwidth}
        \includegraphics[width=\textwidth]{example-image-a}
        \gratab{blahblah1}{fig:A}
     \end{subfigure}
    \begin{subfigure}{0.33\textwidth}
        \includegraphics[width=\textwidth]{example-image-b}
   \gratab{blahblah2}{fig:B}
    \end{subfigure}
    \begin{subfigure}{0.33\textwidth}
        \includegraphics[width=\textwidth]{example-image-c}
        \gratab{blahblah3}{fig:C}
    \end{subfigure}
    \gratabb{(a) is good while (b) is bad, and (c) is optimal}{fig:ABC}
\end{figure*}
\end{document}

答案1

不要为此使用自定义的 Marco。使用包的功能caption\captionsetup{}如果不想设置全局选项,请在图形内部使用。

\usepackage{caption}
\captionsetup{
    labelfont=bf, 
    font={small, sf},
}

相关内容