为算法的某一行添加标签/链接

为算法的某一行添加标签/链接

我正在使用该algorithmic包编写算法。我希望有一个指向算法行的链接,就像我可以使用\label和对公式所做的那样\ref

答案1

您可以对行进行编号,然后使用标准的\label,\ref机制:

\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}

\begin{document}

As we can see in line~\ref{alg:line} of Algorithm~\ref{alg:test}...

\begin{algorithm}
\begin{algorithmic}[1]
\STATE $S \leftarrow 0$
\STATE $T \leftarrow 1$\label{alg:line}
\STATE $U \leftarrow 2$
\end{algorithmic}
\caption{A test algorithm}
\label{alg:test}
\end{algorithm}

\end{document}

在此处输入图片描述

当 hyperref 包加载后,您将获得超链接。如果您不想对算法的行进行编号,但想要生成指向某些特定行的超链接,那么您可以使用包提供的\hypertarget,机制:\hyperlinkhyperref

\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{hyperref}

\begin{document}

As we can see in \hyperlink{alg:line}{the second line} of Algorithm~\ref{alg:test}...

\begin{algorithm}
\begin{algorithmic}
\STATE $S \leftarrow 0$
\hypertarget{alg:line}{\STATE $T \leftarrow 1$}
\STATE $U \leftarrow 2$
\end{algorithmic}
\caption{A test algorithm}
\label{alg:test}
\end{algorithm}

\end{document}

相关内容