图表等中不同部分的自动交叉引用前缀

图表等中不同部分的自动交叉引用前缀

是否有一种方法\cref可以设置为在附录中的图表参考文献中添加前缀?

\documentclass{article}
\usepackage{appendix}
\usepackage{cleveref}
\usepackage{graphicx}

\begin{document}
\section{The first section}\label{sec:1}
\begin{figure}
    \centering
    \includegraphics[width=0.5\textwidth]{example-image-a}
    \caption{}
    \label{fig:MainBodyFig}
\end{figure}

This is a reference to \cref{fig:MainBodyFig} and another reference for \cref{fig:AppendixFig}

\begin{appendices}
    \renewcommand{\figurename}{Supplementary Fig.}
    \setcounter{figure}{0}
    \section{Appendix}
    \begin{figure}[h!]
        \centering
        \includegraphics[width=0.5\textwidth]{example-image-b}
        \caption{}
        \label{fig:AppendixFig}
    \end{figure}
\end{appendices}

\end{document}

其结果是

我生成的内容

这也是我想要的结果。 我想要的是

我希望有这个自动功能,以便我可以在各节之间移动图形,而不必手动更改文本中的前缀。

答案1

您可以使用 定义新的交叉引用名称来实现所需的结果。然后可以使用just aftercrefname将此新名称分配给图形环境,如下例所示。此方法还可以扩展到表格、部分……。crefalias\begin{appendices}

\documentclass{article}
\usepackage{appendix}
\usepackage{cleveref}
\usepackage{graphicx}

\crefname{appendixfigure}{supplementary fig.}{supplementary fig.}

\begin{document}
\section{The first section}\label{sec:1}
\begin{figure}
    \centering
    \includegraphics[width=0.5\textwidth]{example-image-a}
    \caption{}
    \label{fig:MainBodyFig}
\end{figure}

This is a reference to \cref{fig:MainBodyFig} and another reference for \cref{fig:AppendixFig}.

\begin{appendices}
    \renewcommand{\figurename}{Supplementary Fig.}
    \crefalias{figure}{appendixfigure}
    \setcounter{figure}{0}
    \section{Appendix}
    \begin{figure}[h!]
        \centering
        \includegraphics[width=0.5\textwidth]{example-image-b}
        \caption{}
        \label{fig:AppendixFig}
    \end{figure}
\end{appendices}

\end{document}

在此处输入图片描述

相关内容