Lindo índice com hiperref

Lindo índice com hiperref

Eu realmente não gosto da caixa vermelha que indica um link. Eu gostaria de renderizar algum retângulo preenchido que aparece quando alguém passa o mouse. Obviamente, antes que o texto seja renderizado, você não poderá ver o que está escrito lá. Para ter uma visão melhor da minha ideia, quero algo assim por link, se você passar o mouse sobre ele:

Mas um branco limpo se você não passar o mouse. Como posso fazer isso acontecer?

Responder1

Esta é apenas uma resposta parcial, mas é uma espécie de roteiro sobre como isso pode ser alcançado.

Primeiro, observe que o hyperrefpacote não oferece uma “maneira padrão” de fazer tal coisa. Ele oferece apenas estilos de borda para links (incluindo sublinhar um link conforme explicado aqui:Como posso ter links coloridos e sublinhados com hiperref?). Uma das razões para isso pode ser que o padrão PDF oferece esses estilos de borda diretamente para anotações de links, mas para obter um estilo sem borda, você precisa usar fluxos de aparência e formar XObjects. A documentação de tais fluxos e objetos pode ser encontrada aqui:http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf(comece na página 612 para fluxos de aparência e na página 355 para XObjects de formulário)

O que precisa ser feito é o seguinte: Descubra como deve ser a aparência da saída do PDF para que um link tenha uma cor de fundo (felizmente, os fluxos de aparência já oferecem três modos diferentes, incluindo um para ficar inativo e outro para passar o mouse sobre o objeto; assim, a "lógica de ação" que você precisa já está implementada dentro do padrão PDF e você só precisa fornecer os atributos que implementam a aparência desejada).

Em seguida, altere a parte correspondente do hyperrefpacote redefinindo alguns de seus comandos como na parte "automática" desta resposta:Como posso ter links coloridos e sublinhados com hiperref?

Você pode encontrar o código fonte do hyperrefpacote aqui:http://www.ctan.org/pkg/hyperref

Como tanto o padrão PDF quanto o hyperrefpacote são bastante grandes, pode levar uma quantidade significativa de tempo apenas para encontrar os atributos e comandos corretos onde conectar essas coisas.

Em qualquer caso, tal solução pode não funcionar com todos os visualizadores de PDF, pois a maioria deles não implementa tudo o que está escrito no padrão PDF. Contanto que você use apenas a cor de fundo, no entanto, ela pode funcionar para muitos visualizadores (mas nenhuma garantia é dada).

informação relacionada