私はtdclock
現在の日付と時刻を表示するためにパッケージを使用しています。Acrobat では見栄えがかなり良いのですが、他のビューア (Evince など) では JavaScript をサポートしていないため、赤いボックスが表示されるため見栄えが悪くなります (下記参照)。
\documentclass{article}
\usepackage{tdclock}
\begin{document}
\initclock
Date: \tddate
\end{document}
ドキュメントの表示に Acrobat を使用しているかどうかに応じて、条件に応じていずれかのレンダリングを使用する方法はありますか。または、より具体的には、Javascript がサポートされている場合は 1 つを使用し、そうでない場合は別のレンダリングを使用しますか。
次のようなことは可能でしょうか?
\documentclass{article}
\usepackage{tdclock}
\begin{document}
\initclock
% not real code:
\ifJavascriptSupported{\tddate}{\today} % should show dynamic date in Acrobat, and static data in Evince
\ifJavescriptSupported{\tdchorno}{}
\end{document}
この質問を解釈する別の方法は、ビューアが機能をサポートしていない場合(サポートmedia9
している場合など)に代替テキストを許可することです。(少なくとも、テキストがまったくないほうが赤いボックスよりはましです。)
以下は、現在のコードと Acrobat および Evince との比較です。
アクロバット(数字はJavascriptでタイプセットされており、TeXではありません):
。
エビンス(醜い赤いボックス):
。
JSをサポートしていないリーダーで望ましい結果(Evince に表示される静的データ、 と同様
\today
)
答え1
これは問題の部分的な解決策であり、少なくとも、Javascript をサポートしていない PDF ビューア (無効になっている Acrobat を含む) に表示される醜い赤いボックスは削除されます。
偶然hyperref
ここに隠されたオプションを見つけましたhttps://tex.stackexchange.com/a/79979/1871と呼ばれるFld@bordercolor
。
\documentclass{article}
\usepackage{tdclock}
\makeatletter
\def\Fld@bordercolor{1 1 1} % set TextField border to white, there is also Fld@bcolor
\makeatother
\begin{document}
\initclock
Date: \tddate
\end{document}
Javascript が無効になっている場合、日付の場所には空白のみが表示されます (ほとんど、スラッシュがいくつか残ります)。