简而言之,我正在尝试定义一个comment
具有自己的 crossref 类型和计数器的环境。我希望以后能够引用这些评论环境。
看起来就像cleveref
我想要的那样,但我发现文档有点难以理解。据我所知,这应该可行:
\documentclass{article}
\usepackage{cleveref}
\newcounter{CommentCount}
\setcounter{CommentCount}{1}
\crefalias{CommentCount}{comments}
\newenvironment{comment}[1][\theCommentCount]
{\label[comments]{#1}\textbf{Comment \#\theCommentCount:}\itshape}
{\stepcounter{CommentCount}}
\begin{document}
Some text
\begin{comment}[wibble]
more text
\end{comment}
See Comment~\cref{comments}{wibble}.
\end{document}
但这给出了:! Use of \cref@override@label@type doesn't match its definition.
我接近了吗?
答案1
我会\crefalias
使用以下指令
\crefname{CommentCount}{comment}{comments}
由于您要使用计数器进行交叉引用,因此您应该使用\refstepcounter
而不是\stepcounter
来增加计数器变量CommentCount
。
\documentclass{article}
\newcounter{CommentCount}
\setcounter{CommentCount}{0}
\newenvironment{comment}[1]
{\refstepcounter{CommentCount}%
\label{comment:#1}%
\par\noindent\textbf{Comment \#\theCommentCount:}\itshape}
{\par}
\usepackage{cleveref} % load "cleveref" as late as possible
\crefname{CommentCount}{Comment}{Comments}
\begin{document}
Some text\dots
\begin{comment}{wibble}
More text
\end{comment}
\begin{comment}{wobble}
Still more text
\end{comment}
See \cref{comment:wibble,comment:wobble}.
\end{document}