增量文本标记

增量文本标记

我希望在文本上添加增量标记,以便事后参考。我正在构建一个限制索引,因此类似这样的标记会很好:

\limitation{limitationInternalIdentifier}

因此在它出现时它会显示出类似的内容LIMITATION 1

如果我在其他地方引用它:

\ref{limitation:limitationInternalIdentifier}

它也会显示LIMITATION 1

你知道该怎么做吗?不需要完全一样;只要结果相同,类似的东西就可以了。

答案1

像这样?使用自动标记方式和\Cref\cref让 LaTeX 知道它是一个limitation标签。cleveref需要知道limitation计数器应该被称为LimitiationLIMITATION

\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}

更精致的参考资料

相关内容