
リンクを示す赤いボックスは本当に好きではありません。マウスオーバーしたときに表示される塗りつぶされた四角形をレンダリングしたいです。もちろん、テキストがレンダリングされる前にレンダリングしないと、そこに何が書かれているかわかりません。私のアイデアをよりよく理解するには、マウスオーバーしたときにリンクごとに次のようなものを表示したいです。
しかし、マウスを移動させなければ、きれいな白になります。どうすればこれを実現できますか?
答え1
これは部分的な答えに過ぎませんが、これをどのように達成できるかを示すロードマップのようなものになります。
まず、このhyperref
パッケージではそのようなことを行うための「標準的な方法」が提供されていないことに注意してください。リンクの境界線スタイルのみを提供します (ここで説明されているように、リンクに下線を引くことも含まれます)。hyperref を使用して色付きおよび下線付きのリンクを作成するにはどうすればよいでしょうか?)。その理由の 1 つは、PDF 標準ではリンク注釈にこのような境界線スタイルを直接提供しているものの、境界線のないスタイルを取得するには、代わりに外観ストリームとフォーム XObject を使用する必要があることです。このようなストリームとオブジェクトのドキュメントは、次の場所にあります。http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf(外観ストリームについては 612 ページから、フォーム XObject については 355 ページから始めてください)
必要な作業は次のとおりです。リンクに背景色を設定するには、PDF 出力がどのようになる必要があるかを調べます (幸い、外観ストリームには、非アクティブモードとオブジェクト上にマウスを移動させるモードの 3 つの異なるモードがすでに用意されています。そのため、必要な「アクション ロジック」は PDF 標準内にすでに実装されており、必要な外観を実装する属性を提供するだけで済みます)。
hyperref
次に、この回答の「自動」部分のように、いくつかのコマンドを再定義して、パッケージの対応する部分を変更します。hyperref を使用して色付きおよび下線付きのリンクを作成するにはどうすればよいでしょうか?
パッケージのソースコードはhyperref
ここにあります:http://www.ctan.org/pkg/hyperref
ただし、 PDF 標準とhyperref
パッケージはどちらも非常に大きいため、これらを組み合わせるための適切な属性とコマンドを見つけるだけでも、かなりの時間がかかる可能性があります。
いずれにしても、ほとんどの PDF ビューアは PDF 標準で記述されているすべての内容を実装していないため、このようなソリューションはすべての PDF ビューアで機能するとは限りません。ただし、背景色のみを使用する限り、多くのビューアで機能する可能性があります (ただし、保証はありません)。