我是 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}