有没有办法将自动标签放入 hyperref 包的\TextField
参数字段,如下所示:
\newcounter{lexemeCounter}
\newcommand\lexemeCount{\stepcounter{lexeme}\lexemeCounterrabic{lexemeCounter}}
\newcommand{\formlabel}{\value{lexemeCounter}}
\TextField[name=\formlabel]{}
我需要这样做的原因是因为我有一张大约有 1000 个条目的表,并且我想添加一个可编辑的评论列。
一个最小的例子看起来像这样(虽然这是一个最小的例子,但我特意选择使用环境longtabu
,因为这是现实世界的场景):
\documentclass{scrartcl}
\usepackage{fontspec} %I only use xelatex
\usepackage{tabu}
\usepackage{longtable}
\usepackage{hyperref}
\newcounter{lexemeCounter}
\newcommand\lexemeCount{\stepcounter{lexemeCounter}\arabic{lexemeCounter}}
\newcommand{\formlabel}{\value{lexemeCounter}}
\begin{document}
\begin{longtabu} to \textwidth{|[1pt black] X[.10,l] | X[.20,l] || X[.20,l] | X|[1pt black]}
Row & English & German & Comments\\
\hline
\lexemeCount & apple & Apfel & \TextField[name=\formlabel]{}\\
\lexemeCount & mouse & Maus & \TextField[name=\formlabel]{}
\end{longtabu}
\end{document}
我所有的尝试都失败了。出于某种原因,name=\formlabel
保持文字不变(或不增加),因此所有编辑都应用于每个\TextField
答案1
\formlabel
(即\value{lexemeCounter}}
)不会扩展为有用的命令名称\TextField
,因此它会被忽略并且不显示任何内容。
但是使用\number\value{lexemeCounter}
是可行的。必须将值明确更改为字符串标签的文字数字表示(即文本字段名称)
\documentclass{article}
\usepackage{fontspec} %I only use xelatex
\usepackage{tabu}
\usepackage{longtable}
\usepackage{hyperref}
\newcounter{lexemeCounter}
\newcommand\lexemeCount{\stepcounter{lexemeCounter}\arabic{lexemeCounter}}%
\newcommand{\formlabel}{textfield::\number\value{lexemeCounter}}%
\begin{document}
\begin{Form}
\begin{longtabu} to \textwidth{|[1pt black] X[.10,l] | X[.20,l] || X[.20,l] | X|[1pt black]}
Row & English & German & Comments\tabularnewline
\hline
\lexemeCount & apple & Apfel & \TextField[name=\formlabel]{} \tabularnewline
\lexemeCount & mouse & Maus & \TextField[name=\formlabel]{}
\end{longtabu}
\end{Form}
\end{document}