引用中的子图编号样式

引用中的子图编号样式

我正在使用带有多个子图的乳胶撰写文章,每当我引用子图时\ref它都会显示为1a

我怎样才能改变子图的样式,使其\ref看起来像1-a

答案1

我首先将每个子图的标题标签从默认情况重新格式化为(subfigureNumber)

\renewcommand{\thesubfigure}{\arabic{subfigure}}

然后,标签可以根据您的需要进行调整,例如(figureNumber-subfigureNumber)

\renewcommand\p@subfigure{\thefigure-\arabic{subfigure}\expandafter\@gobble}

因此,完整的组装如下

\documentclass{article}

\usepackage{graphicx}
\usepackage{subcaption}

\renewcommand{\thesubfigure}{\arabic{subfigure}}

\makeatletter
\renewcommand\p@subfigure{\thefigure-\arabic{subfigure}\expandafter\@gobble}
\makeatother

\begin{document}
    \begin{figure}
        \begin{subfigure}[t]{0.5\textwidth}
            \includegraphics[width=\textwidth]{example-image-a}
            \caption{Caption 1}\label{a}
        \end{subfigure}
        \hfill
        \begin{subfigure}[t]{0.5\textwidth}
            \includegraphics[width=\textwidth]{example-image-b}
            \caption{Caption 2}\label{b}
        \end{subfigure}
        \caption{Caption}
    \end{figure}
Subfigures are \ref{a} and \ref{b}.
\end{document}

产量

在此处输入图片描述

答案2

根据 Roboticist 的回答,我需要修改他添加的命令以满足我的需求,因为我在问题中没有提到我正在使用polyglossia阿拉伯语

\makeatletter
\renewcommand\p@subfigure{\thefigure - \thesubfigure\@gobble}
\makeatother

而且 \renewcommand{\thesubfigure}{\arabic{subfigure}}不需要该线,因为我需要字母而不是数字来表示子图。

相关内容