Index verlinken

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Sammy93
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 25. Jun 2020, 10:27

Index verlinken

Beitrag von Sammy93 »

Hallo,
ich möchte auf den Indexbegriff, der am Rand steht, einen Link setzen, damit ich beim Draufklicken in der pdf-Datei direkt auf einer Internetseite lande.
Des Weiteren würde ich das Ganze gerne umgekehrt haben, d. h. ich bräuchte einen Link, den ich im Internet hinterlegen kann. Beim Draufklicken würde ich dann direkt in der pdf-Datei bei dem jeweiligen Indexbegriff landen.
Ist dies überhaupt möglich?
Ich habe für das erste Problem bereits das Paket hyperref ausprobiert, aber leider ohne Erfolg.
Hier mein Minimalbeispiel:

\documentclass[a4paper,12pt]{article} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel}
\usepackage{makeidx}
\makeindex
\usepackage{showidx}
\usepackage[left=1cm, right=2cm, top=1.0cm, bottom=1cm,includefoot]{geometry} 
\usepackage{setspace}
\onehalfspacing
\setlength{\parindent}{0em}
\usepackage{hyperref}
\begin{document}
	\section*{Kapitel 1}
In diesem Kapitel geht es um einen Test \hypertarget{\index{Test}}. 
\newpage
\printindex
\end{document}

gast

Re: Index verlinken

Beitrag von gast »

Die Verwendung von \index innerhalb des Argument von \hypertarget ergibt IMHO wenig Sinn, zumal \hypertarget eigentlich zwei Argumente hat.

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
\section{Willst du so etwas?}
Bingo\marginpar{{\phantomsection\label{wd.Bingo}Bingo\index{Bingo}}} ist ein Glücksspiel, das
in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
die Regeln.

\newpage
Siehe \hyperref[wd.Bingo]{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

oder

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
\section{Willst du so etwas?}
Bingo\marginpar{\hypertarget{wd.Bingo}{Bingo}\index{Bingo}} ist ein Glücksspiel, das
in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
die Regeln.

\newpage
Siehe \hyperlink{wd.Bingo}{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

(Den Link für die KOMA-Script-Anleitung habe ich übrigens aus scrguide.html.)


Sammy93
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 25. Jun 2020, 10:27

Re: Index verlinken

Beitrag von Sammy93 »

Ich hätte gerne gehabt, dass das Bingo rechts in der Leiste anklickbar ist und mit einem Link hinterlegt ist und ich dadurch auf eine Internetseite komme.
Das zweite Problem ist, dass ich einen URL Link bräuchte, mit dem ich direkt zu dem jeweiligen Indexbegriff (hier Bingo) komme, auch wenn sich mal die Seiten im Pdf-Dokument verschieben würden. Ich habe es gerade mal mit dem Code .....pdf#wd.Bingo ausprobiert. Sobald aber eine neue Seite bspw. in das Dokument eingefügt wird, lande ich nicht mehr bei dem Begriff Bingo sondern nur auf der 1. Seite des Dokuments.


gast

Re: Index verlinken

Beitrag von gast »

Bei welchem der beiden Beispiele? Bei mir funktioniert jedenfalls auch:

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
\section{Leere Seite}

\newpage

\section{Willst du so etwas?}
Bingo\marginpar{\hypertarget{wd.Bingo}{Bingo}\index{Bingo}} ist ein Glücksspiel, das
in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
die Regeln.

\newpage
Siehe \hyperlink{wd.Bingo}{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

Wie gesagt, Dokumentlinks sind vom Browser abhängig. Nicht jeder PDF-Viewer und nicht jeder Browser kann damit umgehen. Und natürlich muss man nach einer Änderung ggf. mehr als einen LaTeX-Lauf machen, aber das ist ja klar.

Und Du kannst natürlich auch einen Link in die Marginalienspalte einbauen. Mit ist aber aus deiner Erklärung nicht klar, was du wirklich beabsichtigst. Daher kann ich auch das nur allgemein zeigen:

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
\section{Leere Seite}

\newpage

\section{Willst du so etwas?}
Bingo\marginpar{\hypertarget{wd.Bingo}{Bingo}\index{Bingo}} ist ein Glücksspiel, das
in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
die Regeln.

\newpage
Siehe \hyperlink{wd.Bingo}{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}\marginpar{\href{https://ctan.org/pkg/hyperref}{hyperref}}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

Sammy93
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 25. Jun 2020, 10:27

Re: Index verlinken

Beitrag von Sammy93 »

Alle Beispiele von dir funktionieren gut, ich habe auch Firefox. Sorry, wenn ich mich etwas umständlich ausgedrückt habe.
Einen Link in die Marginalienspalte einbauen, ist eigentlich das, was ich für das erste Problem gesucht habe. Nur ich hätte gerne, dass der Link genau auf dem Indexbegriff eingebaut wird. Bei dem Kapitel 2 Willst Du so etwas? wird ja in der Pdf-Datei rechts der Indexbegriff Bingo angezeigt. Darauf hätte ich gerne den Link.

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
	\section{Leere Seite}
	
\newpage

\section{Willst du so etwas?}
Bingo\marginpar{\hypertarget{wd.Bingo}{Bingo}\index{Bingo}} % Hier hätte ich gerne direkt den Link
ist ein Glücksspiel, das
	in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
	die Regeln.
	
\newpage
Siehe \hyperlink{wd.Bingo}{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}\marginpar{\href{https://ctan.org/pkg/hyperref}{Bingo}}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

Ich habe es schon mit

\marginpar{\href{https://ctan.org/pkg/hyperref}\index{Bingo}}

probiert, aber das funktioniert nicht.

Das zweite Problem: Ich würde gerne auf einer Internetseite einen Link setzen, mit dem ich direkt zu dem Begriff "Bingo" in der Marginalienspalte in der pdf-Datei gelange.


gast

Re: Index verlinken

Beitrag von gast »

Du musst schon die Syntax von \href beachten. Du machst da gerade den Index-Befehl (ohne dessen Argument) zum zweiten Argument von \href. Das kann nicht funkionieren. \index selbst gibt auch keinen Text aus. Also wäre beispielsweise

\marginpar{\href{https://ctan.org/pkg/hyperref}{Bingo}\index{Bingo}}

korrekt. Und wenn im Index selbst der Link ebenfalls sein soll, dann geht das auch. Dann muss man zwischen Sortier-Key und Ausgabe unterscheiden. Das geht üblicherweise über den Input Style Specifier acute (aka @-Operator) im \index-Befehl, also beispielsweise

\index{Bingo@\href{https://ctan.org/pkg/hyperref}{Bingo}}

Näheres zur Möglichkeit zwischen einem Sortier-Key und der Ausgabe bei \index zu unterscheiden ist der makeindex-Anleitung zu entnehmen.

Und ja, man kann beides auch kombinieren:

\documentclass[a4paper,ngerman]{article}

\usepackage{babel}
\usepackage{imakeidx}
\usepackage{hyperref}
\makeindex

\begin{document}
\section{Leere Seite}

\newpage

\section{Willst du so etwas?}
Bingo\marginpar{\href{https://ctan.org/pkg/hyperref}{Bingo}\index{Bingo@\href{https://ctan.org/pkg/hyperref}{Bingo}}} ist ein Glücksspiel, das
in U.S.-Kirchengemeinden sehr beliebt ist. In Deutschland kennen die wenigsten
die Regeln.

\newpage
Siehe \hyperlink{wd.Bingo}{Bingo}.

Und von außerhalb ginge dann \url{\jobname.pdf#wd.Bingo} beispielsweise wie
bei
\url{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf#desc:maincls.cmd.maketitle}\marginpar{\href{https://ctan.org/pkg/hyperref}{hyperref}}. Allerdings
muss der Browser das auch unterstützen. Mit firefox oder okular geht das
beispielsweise.
\printindex
\end{document}

Also das wichtigste ist, dass man die Syntax der Befehle beachtet und überlegt, was in was geschachtelt werden muss und kann.


Sammy93
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 25. Jun 2020, 10:27

Re: Index verlinken

Beitrag von Sammy93 »

Wow super. Das war genau das, was ich gesucht habe. Das mit dem Sortier-Key und Ausgabe kannte ich bisher noch nicht. Die Anleitung werde ich mir durchlesen.

Dass ich auf einer Website einen Link hinterlegen kann, der dann direkt in die pdf-Datei zu dem Begriff Bingo springt, ist nicht möglich oder? Also die pdf-Datei, die mit LaTeX erstellt wird, wäre auf der Website hinterlegt.


gast

Re: Index verlinken

Beitrag von gast »

Sammy93 hat geschrieben:
Fr 6. Nov 2020, 19:31

Dass ich auf einer Website einen Link hinterlegen kann, der dann direkt in die pdf-Datei zu dem Begriff Bingo springt, ist nicht möglich oder? Also die pdf-Datei, die mit LaTeX erstellt wird, wäre auf der Website hinterlegt.

Doch, das ist möglich, ich habe oben gezeigt wie es geht, und auch eine HTML-Datei verlinkt, die das selbst macht. Ich habe aber auch erklärt, dass es vom Browser abhängt, ob das wirklich funktioniert.


Sammy93
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 25. Jun 2020, 10:27

Re: Index verlinken

Beitrag von Sammy93 »

Bei mir liegt es wohl am Browser, ich hatte es mit pdf.#wd.Bingo probiert.
Vielen Dank für deine Hilfe.
Liebe Grüße


gast

Re: Index verlinken

Beitrag von gast »

Sammy93 hat geschrieben:
Sa 7. Nov 2020, 18:37

Bei mir liegt es wohl am Browser, ich hatte es mit pdf.#wd.Bingo probiert.

Wenn der Dateiname nicht "pdf." ist (also mit einem Punkt abschließt), dann ist auch das wieder falsch. Oben wird gezeigt, wie es richtig geht. Wie oben auch gezeigt und erklärt wird, geht es beispielsweise mit Firefox, beispielsweise für diesen Link: http://mirrors.ctan.org/macros/latex/co ... .maketitle.


Antworten