Felder%20f%C3%BCr%20Viewer%2C%20die%20Javascript%20nicht%20unterst%C3%BCtzen%3F.png)
Ich verwende das tdclock
Paket, um das aktuelle Datum und die Uhrzeit anzuzeigen. In Acrobat sieht es ganz gut aus, aber in anderen Viewern (wie Evince) sieht es schrecklich aus, weil sie kein Javascript unterstützen und stattdessen ein rotes Kästchen anzeigen (siehe unten).
\documentclass{article}
\usepackage{tdclock}
\begin{document}
\initclock
Date: \tddate
\end{document}
Gibt es eine Möglichkeit, je nachdem, ob man Acrobat zum Anzeigen des Dokuments verwendet, bedingt die eine oder andere Darstellung zu verwenden? Oder genauer gesagt, die eine Darstellung zu verwenden, wenn Javascript unterstützt wird, oder eine andere, wenn nicht?
Ist so etwas im Folgenden möglich?
\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}
Eine andere Möglichkeit, diese Frage zu interpretieren, besteht darin, alternativen Text zuzulassen, wenn der Viewer eine Funktion nicht unterstützt (wie media9
dies der Fall ist). (Wenn nichts anderes funktioniert, ist sogar gar kein Text besser als ein rotes Kästchen.)
Hier ist ein Vergleich mit Acrobat und Evince mit dem aktuellen Code:
Akrobat(Zahlen mit Javascript gesetzt, kein TeX):
.
Beweisen(hässliche rote Kästen):
.
Gewünschtes Ergebnis im Reader, der JS nicht unterstützt(statische Daten werden in Evince angezeigt, ähnlich wie
\today
)
Antwort1
Dies ist eine Teillösung des Problems, die zumindest das hässliche rote Kästchen beseitigt, das in PDF-Viewern ohne Javascript-Unterstützung angezeigt wird (einschließlich Acrobat, wenn Javascript deaktiviert ist).
Durch Zufall habe ich eine versteckte Option hyperref
hier gefundenhttps://tex.stackexchange.com/a/79979/1871angerufen 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}
Wenn Javascript deaktiviert ist, wird an der Stelle des Datums nur ein leerer Platz angezeigt (fast, es bleiben noch ein paar Schrägstriche übrig).