Красивое оглавление с гиперссылкой

Красивое оглавление с гиперссылкой

Мне действительно не нравится красный квадрат, который обозначает ссылку. Я бы хотел, чтобы отображался какой-то заполненный прямоугольник, который появлялся бы при наведении курсора. Очевидно, до того, как будет отображен текст, так как тогда вы не сможете увидеть, что там написано. Чтобы лучше понять мою идею, я хочу, чтобы при наведении курсора на ссылку было что-то вроде этого:

Но чистый белый, если не парить. Как мне это сделать?

решение1

Это лишь частичный ответ, но это своего рода дорожная карта того, как этого можно достичь.

Во-первых, обратите внимание, что hyperrefпакет не предлагает "стандартного способа" сделать это. Он предлагает только стили границ для ссылок (включая подчеркивание ссылки, как описано здесь:Как сделать ссылки цветными и подчеркнутыми с помощью hyperref?). Одной из причин этого может быть то, что стандарт PDF предлагает такие стили границ непосредственно для аннотаций ссылок, но для получения стиля без границ вам нужно использовать потоки внешнего вида и формировать XObjects вместо этого. Документацию по таким потокам и объектам можно найти здесь:http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf(начните со страницы 612 для потоков внешнего вида и со страницы 355 для форм XObjects)

Необходимо сделать следующее: выяснить, как должен выглядеть вывод PDF-файла, чтобы ссылка имела цвет фона (к счастью, потоки внешнего вида уже предлагают три различных режима, включая один для неактивного состояния и один для наведения курсора на объект; таким образом, необходимая вам «логика действия» уже реализована в стандарте PDF, и вам нужно только предоставить атрибуты, реализующие желаемый вами вид).

Затем измените соответствующую часть пакета, hyperrefпереопределив некоторые его команды, как в «автоматической» части этого ответа:Как сделать ссылки цветными и подчеркнутыми с помощью hyperref?

Исходный код пакета можно найти hyperrefздесь:http://www.ctan.org/pkg/hyperref

Однако , поскольку и стандарт PDF, и hyperrefпакет довольно огромны, может потребоваться значительное количество времени только для того, чтобы найти нужные атрибуты и команды, с помощью которых можно соединить все это вместе.

В любом случае, такое решение может не работать с каждым просмотрщиком PDF, поскольку большинство из них не реализуют все, что написано в стандарте PDF. Однако, если вы используете только цвет фона, это может работать для многих просмотрщиков (но никаких гарантий не дается).

Связанный контент