自定义浮动在列表或文本引用中未正确标记

自定义浮动在列表或文本引用中未正确标记

我是 StackExchange 和 LaTeX 的新手。我使用 caption 包为“方案”使用自定义浮点数。我遇到的问题是,在文本中使用 \ref 命令时标签“方案”不会显示,也不会显示在列表中。我在下面发布了一个 MWE:

\documentclass[letterpaper,12pt]{article}

\usepackage{graphicx}
\usepackage[listformat=simple]{caption}

\DeclareCaptionType[name=Scheme,within=section]{scheme}

\begin{document}

\tableofcontents

\listofscheme

\newpage

\section{new section}
This is a new section with \ref{sch:1}.
\begin{scheme}
    \begin{center}
        \caption{\label{sch:1}This is a scheme.}
        \rule[-1mm]{8mm}{1cm}
    \end{center}
\end{scheme}

\section{Another section}
Testing \ref{sch:2}.
\begin{scheme}
    \begin{center}
        \caption{\label{sch:2}This is a another scheme.}
        \rule[-1mm]{20mm}{1cm}
    \end{center}
\end{scheme}

\end{document}

方案列表仅包含方案编号,但我希望在编号前加上“Scheme”,以表示“Scheme 1.1”

如果我\ref在文本中使用该命令,我会遇到类似的问题;它只显示数字,而不是“方案”标签。如果我可以更改我的代码或消息以使其更有意义,请告诉我,因为我是新手。此外,我无法使用该tocloft软件包;它与我学校的论文模板不相符。该模板不会影响结果,我从 MWE 获得的结果与使用该模板从完整文档中获得的结果相同。任何帮助都将不胜感激

答案1

cleveref这可以通过其宏来完成\cref/\Cref

\documentclass[letterpaper,12pt]{article}

\usepackage{graphicx}
\usepackage[listformat=simple]{caption}

\DeclareCaptionType[name=Scheme,within=section]{scheme}
\usepackage{cleveref}
\crefname{scheme}{scheme}{schemes}
\Crefname{scheme}{Scheme}{Schemes}
\begin{document}

\tableofcontents

\listofscheme

\newpage

\section{new section}
This is a new section with \cref{sch:1}.
\begin{scheme}
    \begin{center}
        \caption{\label{sch:1}This is a scheme.}
        \rule[-1mm]{8mm}{1cm}
    \end{center}
\end{scheme}

\section{Another section}
Testing \cref{sch:2}.
\begin{scheme}
    \begin{center}
        \caption{\label{sch:2}This is a another scheme.}
        \rule[-1mm]{20mm}{1cm}
    \end{center}
\end{scheme}

\end{document}

在此处输入图片描述

相关内容