Seite 1 von 1

Index und hyperref - anklickbare Verweise hin und zurück

Verfasst: Sa 21. Dez 2024, 07:02
von Rolli
Hi,
ich möchte meinen Indexapparat in beiden Richtungen mit anklickbaren Links versehen:
  • Im Fließtext soll beim Klick auf ein indiziertes Wort an die jeweilige Stelle im Indexverzeichnis gesprungen werden

    Im Indexverzeichnis soll beim Klick auf die Seitenzahl zurück an die jeweilige Stelle im Fließtext gesprungen werden
Diese Funktionalität habe ich hin bekommen - siehe MWE. Was ich nicht hin bekomme: Das in ein Makro zu stecken. Es gibt für mich nicht verständliche Fehlermeldungen:
! Undefined control sequence.
\@hyper@@anchor ...r@spot {#2#3}\let \put@me@back \@empty \ifx \relax #2\rel...
Was mache ich falsch?
\documentclass{article}
\usepackage{imakeidx}
\makeindex
\usepackage{hyperref}

\newcommand{\myIndex}[1]{
  \hyperlink{indexentry-#1}{#1}%
  \index{#1@\hypertarget{indexentry-#1}{#1}}%
}
\newcommand{\myINDEX}[1]{
  \hyperlink{indexentry-#1}{\textbf{#1}}%
  \index{#1@\hypertarget{indexentry-#1}{\textbf{#1}}}%
}

\begin{document}

Ein anklickbares fett gedrucktes Wort für das Stichwortverzeichnis:
\hyperlink{indexentry-Blabla}{\textbf{Blabla}}\index{Blabla@\hypertarget{indexentry-Blabla}{\textbf{Blabla}}}

Ein anklickbares Wort in Regulärschrift für das Stichwortverzeichnis:
\hyperlink{indexentry-BlubbBlubb}{BlubbBlubb}\index{BlubbBlubb@\hypertarget{indexentry-BlubbBlubb}{BlubbBlubb}}

... und jetzt mit einem Makro, was nicht funktioniert:
%\myIndex{FooBar}   %%% AUSKOMMENTIEREN, um den Fehler zu zeigen

\printindex
\end{document}
Danke für jede HIlfe!

Gruß vom Rolli

Re: Index und hyperref - anklickbare Verweise hin und zurück

Verfasst: Sa 21. Dez 2024, 09:58
von Stefan Kottwitz
Hallo Rolli,

sehr gutes MWE! Es funktioniert, wenn Du in der Makrodefinition \protect vor \hypertarget stellst.

Stefan

PS: super, dass Du noch Antworten auf offene Themen gepostet hast!

Re: Index und hyperref - anklickbare Verweise hin und zurück

Verfasst: Sa 21. Dez 2024, 11:51
von Rolli
Danke, Stefan! Das mit \protect, \noexpand, \expandafter usw. werde ich vermutlich nie verstehen ...
Gruß vom Rolli