子图标题未居中且使用双括号引用

子图标题未居中且使用双括号引用

我正在使用我大学的模板来排版我的文档,但它弄乱了文档中子图标题的一些内容。这是一个 MWE .tex 文件,演示了我的问题:

\documentclass[language=english,stage=alpha]{FRIteza}

\usepackage{graphicx}

\newlength{\colwidth}
\newlength{\rowheight}

\begin{document}

\begin{figure*}
    \setlength{\colwidth}{.24\linewidth}
    \setlength{\rowheight}{.57\colwidth}
    \begin{subfigure}{\colwidth}
        \includegraphics[width=\textwidth,height=\rowheight]{example-image-a}
        \caption{Image A}
        \label{fig:a}
    \end{subfigure}\hfill%
    \begin{subfigure}{\colwidth}
        \includegraphics[width=\textwidth,height=\rowheight]{example-image-b}
        \caption{Image B}
        \label{fig:b}
    \end{subfigure}\hfill%
    \begin{subfigure}{2\colwidth}
        \includegraphics[width=\textwidth,height=\rowheight]{example-image-c}
        \caption{Image C}
        \label{fig:c}
    \end{subfigure}\hfill%
    \caption{3 sample images, specifically \subref{fig:a} an excerpt from A, \subref{fig:b} some stuff from B, and \subref{fig:c} things from C.}
    \label{fig:example}
\end{figure*}

Fig.~\ref{fig:example} shows some examples. Note the big letter C in Fig.~\ref{fig:c}.

\end{document}

我还做了一个Overleaf 项目其中包含课程文件和所需字体,可以作为 zip 文件下载。它还设置了正确的软件版本(TeX Live 2019 和 XeLaTeX)。

外观:

期望的结果

我希望它看起来如何:

实际结果

在我目前完成的项目中,子标题通常默认居中。我也尝试过使用这个建议

\captionsetup[subfigure]{justification=centering}

我尝试在\documentclass声明之后、figure环境内部以及subfigure环境内部添加此行。这些方法均无效,因为标题仍为左对齐。

此外,当我在文本中引用标题时,\ref对子图的引用不包含括号。即它们被称为图 0.1c,而不是图 0.1(c)。我在另一个项目中使用以下命令修复了此问题:

\usepackage{caption}
\makeatletter
\DeclareCaptionLabelFormat{mysublabelfmt}{(\alph{sub\@captype})}
\makeatother
\usepackage[labelformat=mysublabelfmt]{subcaption}
\renewcommand\thesubfigure{(\alph{subfigure})}
\renewcommand\thesubtable{(\alph{subtable})}

然而,现在在这个项目中,同样的代码给我在\subrefs 周围加上了双括号。

我在 .cls 中找到的唯一可以改变标题定位和参考格式的代码是:

\RequirePackage[style=base]{caption}
\DeclareCaptionLabelSeparator{br}{\par\vspace*{2\p@}}
\captionsetup{singlelinecheck=off,labelsep=br,labelfont=it,textfont={RaggedRight,scriptsize}}
% subcaptions
\RequirePackage{subcaption}
\captionsetup[sub]{subrefformat=parens}
\captionsetup[sub]{format=plain,labelformat=parens,labelsep=space,font={normalfont,scriptsize},labelfont=up,hypcap=true}

但这似乎对子标题调整没有任何改变。至于引用样式的问题,我尝试过摆弄这些subrefformatformatlabelformat属性以及\renewcommand前面提到的解决方案中的 s,但我无法让所有引用和标题都像图中所示那样被括起来。

我检查了其他一些学生的已接受的提交内容,他们都有居中的子标题(尽管他们似乎是通过在图像编辑软件而不是在 TeX 中手动为图像添加标题来实现的),因此这些左调整的子标题似乎不是排版要求,它们确实使我的一些图形不清楚且难以阅读。

简而言之:

  1. 如何将子图标题置于中央,同时保持图标题样式不变?
  2. 如何将\ref子图引用括起来,同时保持\subref子图引用和\ref图形引用不变?

答案1

结合评论中的建议,我设法按照我希望的方式放置和引用标题,方法如下:

\DeclareCaptionFormat{centered}{%
    \scriptsize\centerline{#1#2\textit{#3}}
}
\captionsetup[sub]{format=centered,labelformat=simple,subrefformat=simple}
\renewcommand{\thesubfigure}{(\alph{subfigure})}

相关内容