
由於某種原因,引用演算法時始終顯示 0,而不是演算法的實際編號。參考文獻有效,我可以單擊它,它會將我轉到演算法。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{hyperref}
\begin{document}
\section{Introduction}
It doesn't work \ref{alg1} \ref{alg2}.
\begin{algorithm}
\caption{Algorithm 1}
\begin{algorithmic}[ht]
\label{alg1}
\State it's a test
\end{algorithmic}
\end{algorithm}
\newpage
\begin{algorithm}
\caption{Algorithm 2}
\begin{algorithmic}[ht]
\label{alg2}
\State it's a test
\end{algorithmic}
\end{algorithm}
\end{document}
答案1
\label
直接在\caption
:之後
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{hyperref}
\begin{document}
\section{Introduction}
It doesn't work \ref{alg1} \ref{alg2}.
\begin{algorithm}
\caption{Algorithm 1}
\label{alg1}
\begin{algorithmic}[ht]
\State it's a test
\end{algorithmic}
\end{algorithm}
\newpage
\begin{algorithm}
\caption{Algorithm 2}
\label{alg2}
\begin{algorithmic}[ht]
\State it's a test
\end{algorithmic}
\end{algorithm}
\end{document}
答案2
\label
緊接著放置\caption{…}
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{hyperref}
\newcommand*{\algorithmautorefname}{Algorithm}
\begin{document}
\section{Introduction}
It does work Algorithm~\ref{alg1} and \autoref{alg2}.
\begin{algorithm}
\caption{Algorithm 1}
\label{alg1}
\begin{algorithmic}[ht]
\State it's a test
\end{algorithmic}
\end{algorithm}
\newpage
\begin{algorithm}
\caption{Algorithm 2}
\label{alg2}
\begin{algorithmic}[ht]
\State it's a test
\end{algorithmic}
\end{algorithm}
\end{document}
在我還展示的範例中,如何使用\autoref
演算法參考。