如何將aliacnt 與cleveref 一起使用?

如何將aliacnt 與cleveref 一起使用?

我正在嘗試使用 htlatex 編譯 HoTT 書,並嘗試重現使用 htlatex 而不是 pdflatex 時出現的問題。然而,我什至無法使用 pdflatex 獲得一個小的工作範例。

我想知道為什麼這段程式碼不起作用,以及如何修復它。

\documentclass{article}
\usepackage{amsthm}
\usepackage{aliascnt}
\usepackage[capitalize]{cleveref}
\usepackage{hyperref}

\newtheorem{thm}{Theorem}[section]
\crefname{thm}{Theorem}{Theorems}
\theoremstyle{remark}
\newaliascnt{rmk}{thm}
\newtheorem{rmk}[rmk]{Remark}
\aliascntresetthe{rmk}
\crefname{rmk}{Remark}{Remarks}

\begin{document}
.
\begin{thm}
.
\end{thm}
\begin{rmk}
.
\end{rmk}
\end{document}

它給了我

This is pdfTeX, Version 3.1415926-2.4-1.40.13 (MiKTeX 2.9 64-bit)
entering extended mode
(D:\Documents\GitHub\book\test.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, afrikaans, ancientgreek, ar
abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic,
croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga
lician, german, german-x-2012-05-30, greek, gujarati, hindi, hungarian, iceland
ic, indonesian, interlingua, irish, italian, kannada, kurmanji, latin, latvian,
 lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerman, n
german-x-2012-05-30, nynorsk, oriya, panjabi, pinyin, polish, portuguese, roman
ian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swissgerm
an, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, usengl
ishmax, welsh, loaded.
("D:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
("D:\Program Files\MiKTeX 2.9\tex\latex\base\size10.clo"))
("D:\Program Files\MiKTeX 2.9\tex\latex\amscls\amsthm.sty")
("D:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\aliascnt.sty"
("D:\Program Files\MiKTeX 2.9\tex\latex\carlisle\remreset.sty"))
(D:\Documents\GitHub\book\cleveref.sty)
("D:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hyperref.sty"
("D:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-hyperref.sty"
("D:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\hobsub-generic.sty"))
("D:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty")
(D:\Documents\GitHub\book\ifxetex.sty)
("D:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\auxhook.sty")
("D:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\kvoptions.sty")
("D:\Program Files\MiKTeX 2.9\tex\latex\hyperref\pd1enc.def")
("D:\Program Files\MiKTeX 2.9\tex\latex\00miktex\hyperref.cfg")
("D:\Program Files\MiKTeX 2.9\tex\latex\ltxmisc\url.sty"))

Package hyperref Message: Driver (autodetected): hpdftex.

("D:\Program Files\MiKTeX 2.9\tex\latex\hyperref\hpdftex.def"
("D:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\rerunfilecheck.sty"))
(D:\Documents\GitHub\book\test.aux)
("D:\Program Files\MiKTeX 2.9\tex\latex\hyperref\nameref.sty"
("D:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\gettitlestring.sty"))
(D:\Documents\GitHub\book\test.out) (D:\Documents\GitHub\book\test.out)

! LaTeX Error: No counter 'r' defined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.20 \begin{rmk}

?
! Emergency stop.
 ...

l.20 \begin{rmk}

!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on test.log.

為什麼它要尋找計數器“r”,我該如何解決這個問題?

答案1

我無法提供深入的技術答案,但根據其手動的 第 13 節:

smartef 包必須在所有其他不專門支援它的包之後加載,即

\usepackage{聰明}

行通常應該是文件序言中的最後一個 \usepackage 命令。

答案2

解決方案是移至\usepackage{hyperref}頂部。如果有人想向我解釋為什麼會發生這種情況,我很樂意將其標記為已接受的答案。

相關內容