I want to create links inside a pdf and actually I use \hypertarget{label}{target caption} and \hyperlink{label}{link caption} with the package hyperref. Perhaps it's possible to use something like |name| to create \hypertarget{label_name}{name} and ||name|| (or §name§) to create \hyperlink{label_name}{name}. Is it possible ?
Perhaps do you know a package to do this ?
Asked
Active
Viewed 76 times
2
Alain Matthes
- 95,075
1 Answers
5
Yes, it's possible.
\documentclass{article}
\usepackage{hyperref}
\makeatletter
\catcode`|=\active
\protected\def|{\ifmmode\vert\else\expandafter\alain@vert\fi}
\def\alain@vert{\@ifnextchar|{\alain@link}{\alain@target}}
\def\alain@link|#1||{\hyperlink{label_#1}{#1}}
\def\alain@target#1|{\hypertarget{label_#1}{#1}}
\makeatother
\begin{document}
Hypertarget: |name|
$|x|$
\newpage
Hyperlink: ||name||
\end{document}
egreg
- 1,121,712
\AtBeginDocument{\MakeShortVerb{\|}}With shortvrb package I have\DeleteShortVerbbecause sometimes the symbol|appears in my doc as mark of angles. So I need to change the active character but what other precautions should I take? – Alain Matthes Mar 23 '16 at 07:36|doing a double role: either you use it for hyperlinks or for verbatim. – egreg Mar 23 '16 at 07:57