Ich möchte ein Argument einer Funktion dauerhaft auf einen bestimmten Wert setzen. In meinem Fall ist es die Funktion, \TextField
die das Argument hat bordercolor
. Ich möchte es global auf "nichts" setzen, anstatt es \TextField[bordercolor=,name=xyz]
jedes Mal neu zu schreiben. Dies war mein Versuch, der zu einem Fehler führte:
\renewcommand{\TextField}{\TextField[bordercolor=]}
Antwort1
Antwort2
hyperref hat einen Befehl, an den Sie Standardschlüssel für das Textfeld anhängen können (standardmäßig enthält es nur „print“):
\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{etoolbox}
\apptocmd\DefaultOptionsofText{,bordercolor=}{}{\fail}
\begin{document}
\begin{Form}
\TextField[name=xy]{foo}
\TextField[bordercolor=red,name=xy]{bar}
\end{Form}
\end{document}
Die Alternative besteht darin, den Schlüssel einfach mit folgendem festzulegen \kvsetkeys
(dies wirkt sich auch auf die Grenzen anderer Feldtypen aus):
\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\kvsetkeys{Field}{bordercolor=}
\TextField[name=x]{foo}
\TextField[bordercolor=red,name=y]{bar}
\end{Form}
\end{document}