我正在尝试扩展以前的 href 命令(可以工作)来创建一对包装 \hyperlink{}{} 和 \hypertarget{}{} 的新命令。
这些命令将协同工作,创建供超链接调用的超目标。(基本上,从大纲到内容的双向内部 PDF 链接是理想的最终结果 - 由我的 Python 代码以编程方式驱动)
(填写参数没有问题,已经在我的代码中了。但是 LaTeX 命令的语法会引发错误。)
根据我是在大纲中还是在实际内容中,我想要调用如下命令:
\linkfromout{the key text}{the document's Text}
\linkfromcom{the key text}{The Document's text}
正确的大写形式可能因文档中打印的内容而异。但 \hyperlink 和 \hypertarget 的关键文本将全部为小写。宏需要添加前缀com
或out
区分超链接调用到达的目标位置。
下面的代码放在自定义 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}