我希望在文本上添加增量标记,以便事后参考。我正在构建一个限制索引,因此类似这样的标记会很好:
\limitation{limitationInternalIdentifier}
因此在它出现时它会显示出类似的内容LIMITATION 1
。
如果我在其他地方引用它:
\ref{limitation:limitationInternalIdentifier}
它也会显示LIMITATION 1
。
你知道该怎么做吗?不需要完全一样;只要结果相同,类似的东西就可以了。
答案1
像这样?使用自动标记方式和\Cref
或\cref
让 LaTeX 知道它是一个limitation
标签。cleveref
需要知道limitation
计数器应该被称为Limitiation
或LIMITATION
。
\documentclass{article}
\usepackage{blindtext}
\newcounter{limitation}
\usepackage{cleveref}
\newcommand{\limitationname}{LIMITATION}
\newcommand{\limitation}[1]{%
\refstepcounter{limitation}%
\limitationname\ \thelimitation.%
\label{limitation:#1}%
}
\crefname{limitation}{limitation}{limitations}
\Crefname{limitation}{LIMITATION}{LIMITATIONS}
\begin{document}
\blindtext[5]
\limitation{foo}
\blindtext[1]
\limitation{foobar}
In \Cref{limitation:foo} we saw that ... however in \Cref{limitation:foobar} it was shown that...
\end{document}
答案2
这是一个使用的解决方案花哨的出于一些我们不必关心的原因,我更愿意花哨的到cleverref(但请注意,我的印象是我属于少数派。)
\documentclass{article}
\usepackage{fancyref}
\newcounter{limitation}
\newcommand*\limitation[1]{%
\refstepcounter{limitation}LIMITATION \thelimitation\label{limitation:#1}}
\newcommand*{\fancyreflimitationlabelprefix}{limitation}
\fancyrefaddcaptions{english}{%
\newcommand*{\Freflimitationname}{Limitation}%
\newcommand*{\freflimitationname}{%
\MakeLowercase{\Freflimitationname}}}
\frefformat{vario}{\fancyreflimitationlabelprefix}{{\freflimitationname}\fancyrefdefaultspacing#1}
\Frefformat{vario}{\fancyreflimitationlabelprefix}{{\Freflimitationname}\fancyrefdefaultspacing#1}
\frefformat{plain}{\fancyreflimitationlabelprefix}{{\freflimitationname}\fancyrefdefaultspacing#1}
\Frefformat{plain}{\fancyreflimitationlabelprefix}{{\Freflimitationname}\fancyrefdefaultspacing#1}
\begin{document}
\limitation{limitationInternalIdentifier}
\Fref{limitation:limitationInternalIdentifier}
\fref{limitation:limitationInternalIdentifier}
\end{document}