LINUX.ORG.RU

latex hyperref как показать ссылку в месте курсора?

 


3

2

Использую hyperref

\usepackage{color} \definecolor{darkgreen}{rgb}{0,.5,0}
\usepackage[colorlinks,filecolor=blue,citecolor=darkgreen,unicode]{hyperref}
Ссылки на формулы красные, на цитируемую литературу зеленые. При наведении курсора на номер ссылки, например [3], появляется дополнительное окошко с информацией «перейти к странице 14». Если кликнуть, то перейдешь на страницу 14 с этой ссылкой. Очень удобно, постоянно пользуюсь, но вопрос - зачем бегать туда и обратно? Можно ли сделать так, чтобы при наведении курсора на номер ссылки в окошке появлялась сама ссылка? Или в теховском формате или уже как часть pdf. В описании к hyperref такой возможности нет, но может все-таки как-то можно?

Ответ на: комментарий от mos

Круто! Сам хотел такую штуку, но не думал, что она существует.

aquadon ★★★★★
()

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

aquadon ★★★★★
()
Ответ на: комментарий от mos

aquadon Что-то не взлетел пример. Где-то скобка лишняя «Argument of \tpPdfLink has an extra }», но не пойму где. Но хотелось бы просто переопределить что-то в hyperlink, а не писать новые операторы с указанием что показывать. Ведь где-то в hyperlink указано, что в подсказке надо указать номер страницы с соответствующим текстом. Может просто переопределить форму подсказки?

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

У меня тоже не взлетел, причем не только этот, я по-быстрому и другие попробовал. Сейчас нет времени и желания заниматься этим, но штука полезная, потом потыкаю.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

mos Вот такое взлетело. Если заменить icon=none, то не будет никакой иконки. Надо просто навести чуть правее и появится то, что нужно. Надо поиграться с pdfcomment. Наверняка можно сделать, чтобы появлялось при наведении прямо на ссылку.

\documentclass{article}
\usepackage[colorlinks=true]{hyperref}
\usepackage{pdfcomment}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author={Blinder, Alan S.},
  year={1974},
  title={The economics of brushing teeth},
}
\end{filecontents}
\usepackage{usebib}
\newbibfield{author}
\bibinput{\jobname}
\makeatletter
  \let\@internalcite\cite
  \renewcommand{\cite}[1]{%
  \@internalcite{#1}\pdfcomment[icon=Help,author=Reference:]{\usebibentry{#1}{author} (\usebibentry{#1}{year})\textCR\usebibentry{#1}{title}}}
\makeatother
\begin{document}
This is a citation: \cite{Bli74}.
\bibliographystyle{apalike}
\bibliography{\jobname}
\end{document}
rustamych ★★★
() автор топика
Ответ на: комментарий от aquadon

Замените icon=none. Тогда эта синяя блямба исчезнет и надо наводить курсор на место сразу после скобки, на точку и появится подсказка. Другие примеры в ссылке работают с acrobat reader, в evince только иконка без подсказки. Читаю описание этого pdfcomment и не могу найти как сменить положение места для появления подсказки. Было бы совсем хорошо, если просто навести курсор на ссылку и вываливается подсказка.

rustamych ★★★
() автор топика
Ответ на: комментарий от aquadon

Не получается перенести пример выше с pdfcomment на свои файлы, ругается не пойму на что «Paragraph ended before \NAT@star@cite@post was complete.». Вернее не так. Компилит, но в подсказках пусто. У вас получилось?

rustamych ★★★
() автор топика
Последнее исправление: rustamych (всего исправлений: 3)
Ответ на: комментарий от rustamych

Сам пример у меня скомпилировался, а вставлять в свои файлы я не пробовал. Дайте минимальный пример, который порождает указанную ошибку, я проверю у себя.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Прочитал описание к usebib. Проблема была в том что этот пакет признает только фигурные скобки в bib ссылке, а у меня были кавычки. Для usebib важен порядок. Сейчас заработало, ниже компилится, немного усовершенствовал, чтобы была полная ссылка. Одно только бесит. После ссылки остается свободное место, на которое надо навести курсор, чтобы появилась подсказка. Сдвинуть левее не нашел как в описании pdfcomment. Может вы сможете.

\documentclass{article}
\usepackage[colorlinks=true]{hyperref}
\usepackage{pdfcomment}
\usepackage{usebib}
\newbibfield{author}
\newbibfield{journal}
\newbibfield{volume}
\newbibfield{pages}
\bibinput{path to file}
\makeatletter
  \let\@internalcite\cite
  \renewcommand{\cite}[1]{%
  \@internalcite{#1}\pdfcomment[icon=none]{\usebibentry{#1}{author} (\usebibentry{#1}{year})\textCR\usebibentry{#1}{title}\textCR\usebibentry{#1}{journal}\ \usebibentry{#1}{volume}\ \usebibentry{#1}{pages}}}
\makeatother
\begin{document}

This is a citation: \cite{label}. This is next sentence. 
\bibliographystyle{apsrev4-1}
\bibliography{path to file}
\end{document}

rustamych ★★★
() автор топика
Ответ на: комментарий от aquadon

К сожалению этот способ не работает, если несколько ссылок в одном \cite, что бывает повсеместно. Не работает и для стиля revtex4-1, где есть очень важная возможность группировки ссылок под одним номером. Надо искать другой способ. Разрабам hyperref я оставил пожелание изменить код с учетом возможности изменения tooltip, но когда сделают (да и сделают ли вообще) неизвестно.

rustamych ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.