如何为双向链接创建宏?

如何为双向链接创建宏?

我正在尝试扩展以前的 href 命令(可以工作)来创建一对包装 \hyperlink{}{} 和 \hypertarget{}{} 的新命令。

这些命令将协同工作,创建供超链接调用的超目标。(基本上,从大纲到内容的双向内部 PDF 链接是理想的最终结果 - 由我的 Python 代码以编程方式驱动)

(填写参数没有问题,已经在我的代码中了。但是 LaTeX 命令的语法会引发错误。)

根据我是在大纲中还是在实际内容中,我想要调用如下命令:

\linkfromout{the key text}{the document's Text} 
\linkfromcom{the key text}{The Document's text} 

正确的大写形式可能因文档中打印的内容而异。但 \hyperlink 和 \hypertarget 的关键文本将全部为小写。宏需要添加前缀comout区分超链接调用到达的目标位置。

下面的代码放在自定义 sty 文件中,对我来说失败了。我尝试解决反斜杠参数的一些错误,但仍然失败。任何帮助都值得感激。我对 LaTeX 还不熟悉。

\newcommand{linkfromout}[2]{\hyperlink{com \#1}{\hypertarget{out \#1}{\textcolor{linkColor}{\#2}}}}

\newcommand{linkfromcom}[2]{\hyperlink{out \#1}{\hypertarget{com \#1}{\textcolor{linkColor}{\#2}}}}

答案1

我认为您只是没有正确地转义新命令(前言中需要一个\before等)并且不正确地转义参数(没有before )。以下内容对我来说没有错误,并且据我所知这是您的预期行为。linkfromout\#

\documentclass{article}
\usepackage{hyperref, xcolor}
\newcommand{\linkfromout}[2]{\hyperlink{com #1}{\hypertarget{out #1}{\textcolor{blue}{#2}}}}
\newcommand{\linkfromcom}[2]{\hyperlink{out #1}{\hypertarget{com #1}{\textcolor{blue}{#2}}}}
\begin{document}
\linkfromout{the key text}{the document's Text} 
\newpage
\linkfromcom{the key text}{The Document's text} 
\end{document}

相关内容