來自 smartef 的 \cpageref 產生錯誤的標籤

來自 smartef 的 \cpageref 產生錯誤的標籤

下面的程式碼

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}

\usepackage[hidelinks]{hyperref}

\usepackage[nameinlink, capitalize, noabbrev]{cleveref}

\begin{document}

\begin{figure}[!htbp]
  %
  \caption{Sample.}
  \label{fig:sample}
  %
  \centering
  %
  Some nice picture goes here.
  %
\end{figure}

Some text referring to the stuff on \cpageref{fig:sample}.

\end{document}

產生結果:

在此輸入影像描述

這是軟體包中的錯誤cleveref還是我遺漏了一些完全明顯的東西?

答案1

cleveref 0.21.1從 2018/02/08 開始有一個錯誤。 2013 年的 0.19 版本如預期運作。

一個小的解決方法是提取具有特徵的超級錨點refcounthyperref無論如何都已加載)。

\documentclass[english]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage[hidelinks]{hyperref}

\usepackage[nameinlink, capitalize, noabbrev]{cleveref}



\renewcommand{\cpageref}[1]{%
  \IfRefUndefinedExpandable{#1}{}{%
    \hyperlink{\getrefbykeydefault{#1}{anchor}{??}}{Page \getpagerefnumber{#1}}%
  }%
}

\begin{document}

\begin{figure}%[!htbp]
  %
  \caption{Sample.} \label{fig:sample}
  %
  \centering
  %
  Some nice picture goes here.
  %
\end{figure}

Some text referring to the stuff on \cpageref{fig:sample}.

\end{document}

答案2

已在最新預發行版(目前 v0.21.3)中修復,可從我的網站

請注意,Stackexchange 不是錯誤追蹤器。向 SE 提出問題;透過軟體的正常錯誤回報管道報告錯誤。 (普通舊電子郵件發送到套件文件中給出的地址cleveref;bugzilla/github/trac/whatever-bug-tracker-it-uses 以獲得更複雜的軟體。)

錯誤報告與程式碼貢獻一樣是自由軟體開發中有價值的一部分。請務必先在 SE 上詢問,但也不要忘記提交正確的錯誤報告!否則,他們就有可能在 SE 上被忽視、不被愛、不被修復。

相關內容