Estou usando o tdclock
pacote para exibir a data e hora atuais. Parece muito bom no Acrobat, mas em outros visualizadores (como o Evince) parece terrível porque eles não suportam Javascripts e, em vez disso, mostram uma caixa vermelha (veja abaixo).
\documentclass{article}
\usepackage{tdclock}
\begin{document}
\initclock
Date: \tddate
\end{document}
Existe uma maneira de usar condicionalmente uma renderização ou outra, dependendo se alguém está usando o Acrobat para visualizar o documento. Ou, mais especificamente, use um se Javascript for compatível ou outro se não?
É algo assim possível?
\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}
Outra forma de interpretar esta questão é permitir texto alternativo se o visualizador não suportar um recurso (como media9
o faz). (No mínimo, nenhum texto será melhor do que uma caixa vermelha.)
Aqui está uma comparação do Acrobat e do Evince com o código atual:
Acrobata(números digitados por Javascript, sem TeX):
.
Evidência(caixas vermelhas feias):
.
Resultado desejado no leitor que não suporta JS(dados estáticos mostrados no Evince, semelhantes a
\today
)
Responder1
Esta é uma solução parcial para o problema, que pelo menos elimina a feia caixa vermelha que é renderizada em visualizadores de PDF sem suporte a Javascript (incluindo o Acrobat quando ele está desabilitado).
Por acaso encontrei uma opção escondida hyperref
aquihttps://tex.stackexchange.com/a/79979/1871chamado 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}
O local da data mostrará apenas um espaço vazio (quase, restam algumas barras) se o Javascript estiver desabilitado.