假设您有一个文档,其中包含许多链接,但隐藏在通过 生成的描述文本下hyperref
。在文档的电子版中,您可以单击链接,但如果您只有打印版本,则无法看到实际的 URL。因此,最好在文档末尾添加一个包含在文档中的超链接列表,类似于图表或表格的列表,这样只有打印副本的读者就知道文本中引用的 URL。也许还可以在链接列表中包含二维码。这是一个最小示例:
\documentclass{article}
\usepackage[short labels]{enumitem}
\usepackage[colorlinks]{hyperref}
\begin{document}
\section*{Automatically generated link list}
\subsection*{Some text}
On \href{https://tex.stackexchange.com/questions/33282/list-of-url-links-with-href}{TeX Stackexchange} you can find nice questions to nice answers about \href{http://www.tug.org/}{\TeX} and \href{https://www.latex-project.org/}{\LaTeX}.
\subsection*{List of links}
TODO: This is what the question is about
%% \makelistoflinks
\vspace*{1ex}
\hrule
\vspace*{1ex}
\section*{How it should look like}
\subsection*{Some text}
On \href{https://tex.stackexchange.com/questions/33282/list-of-url-links-with-href}{TeX Stackexchange} [L1] you can find nice questions to nice answers about \href{http://www.tug.org/}{\TeX} [L2] and \href{https://www.latex-project.org/}{\LaTeX} [L3].
\subsection*{List of links}
\begin{enumerate}[L1]
\item \url{https://tex.stackexchange.com/questions/33282/list-of-url-links-with-href}
\item
\url{http://www.tug.org/}
\item
\url{https://www.latex-project.org/}
\end{enumerate}
\end{document}
我不确定如何将文本中的链接引用到链接列表。我[L1]
在文本中使用了“等”作为标签,但也许使用一个小的上标会更分散注意力。因此解决方案在这方面应该是可配置的。也许你对如何引用它还有其他想法。
答案1
我没有时间考虑参考文献等等,但您可以像这样存储和检索链接:
\documentclass{memoir}
\usepackage{hyperref}
\ExplSyntaxOn
\seq_new:N\g_student_list_of_links_seq
\makeatletter
\begingroup
\catcode`\$=6 %
\catcode`\#=12 %
\gdef\href@$1{\seq_gput_right:Nn \g_student_list_of_links_seq {$1}\expandafter\href@split$1##\\}%
\gdef\href@split$1#$2#$3\\$4{%
\hyper@@link{$1}{$2}{$4}%
\endgroup
}%
\endgroup
\makeatother
\ExplSyntaxOff
\begin{document}
\href{https://tex.stackexchange.com/questions/33282/list-of-url-links-with-href}{TeX Stackexchange} you can find nice questions to nice answers about \href{http://www.tug.org/}{\TeX} and \href{https://www.latex-project.org/}{\LaTeX}.
\ExplSyntaxOn
\seq_map_inline:Nn \g_student_list_of_links_seq {\url{#1}\par}
\ExplSyntaxOff
\end{document}