我想将函数的一个参数永久设置为特定值。在我的例子中,它是\TextField
具有参数的函数bordercolor
。我想将其全局设置为“无”,而不是\TextField[bordercolor=,name=xyz]
每次都写入。这是我的尝试,但导致错误:
\renewcommand{\TextField}{\TextField[bordercolor=]}
答案1
答案2
hyperref 有一个命令,您可以在其中附加文本字段的默认键(默认情况下它只包含“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}
另一种方法是简单地设置键\kvsetkeys
(这也会影响其他字段类型的边框):
\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}