Schönes Inhaltsverzeichnis mit Hyperref

Schönes Inhaltsverzeichnis mit Hyperref

Mir gefällt das rote Kästchen, das einen Link anzeigt, nicht wirklich. Ich hätte gern ein ausgefülltes Rechteck, das angezeigt wird, wenn jemand mit der Maus darüberfährt. Natürlich bevor der Text gerendert wird, denn dann kann man nicht sehen, was dort steht. Um meine Idee besser zu verstehen, möchte ich so etwas pro Link, wenn man mit der Maus darüberfährt:

Aber ein sauberes Weiß, wenn man nicht darüber schwebt. Wie kann ich das erreichen?

Antwort1

Dies ist zwar nur eine Teilantwort, aber es ist eine Art Fahrplan, wie dies erreicht werden könnte.

Beachten Sie zunächst, dass das hyperrefPaket keine „Standardmethode“ für derartige Aktionen bietet. Es bietet lediglich Rahmenstile für Links (einschließlich der Unterstreichung eines Links, wie hier erläutert):Wie kann ich mit Hyperref farbige und unterstrichene Links verwenden?). Einer der Gründe dafür könnte sein, dass der PDF-Standard solche Rahmenstile direkt für Linkanmerkungen anbietet, aber um einen Stil ohne Rahmen zu erhalten, müssen Sie stattdessen Appearance Streams und Form XObjects verwenden. Die Dokumentation solcher Streams und Objekte finden Sie hier:http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf(Beginnen Sie auf Seite 612 für Erscheinungsströme und auf Seite 355 für Form-XObjects)

Folgendes ist zu tun: Finden Sie heraus, wie die PDF-Ausgabe aussehen muss, damit ein Link eine Hintergrundfarbe hat (glücklicherweise bieten Appearance Streams bereits drei verschiedene Modi, darunter einen für Inaktivität und einen für das Bewegen des Mauszeigers über das Objekt; die „Aktionslogik“, die Sie benötigen, ist also bereits im PDF-Standard implementiert und Sie müssen nur die Attribute angeben, die das gewünschte Aussehen implementieren).

Ändern Sie dann den entsprechenden Teil des hyperrefPakets, indem Sie einige seiner Befehle neu definieren, wie im „automatischen“ Teil dieser Antwort:Wie kann ich mit Hyperref farbige und unterstrichene Links verwenden?

Den Quellcode des hyperrefPakets finden Sie hier:http://www.ctan.org/pkg/hyperref

Da sowohl der PDF-Standard als auch das hyperrefPaket ziemlich umfangreich sind, kann es jedoch sehr viel Zeit in Anspruch nehmen, nur die richtigen Attribute und Befehle zu finden, um diese Dinge zusammenzufügen.

In jedem Fall funktioniert eine solche Lösung möglicherweise nicht mit jedem PDF-Viewer, da die meisten nicht alles implementieren, was im PDF-Standard steht. Solange Sie jedoch nur Hintergrundfarben verwenden, funktioniert es möglicherweise mit vielen Viewern (es gibt jedoch keine Garantie).

verwandte Informationen