Latex 表单、MakeTextField、LayoutTextField 和 javascript 问题

Latex 表单、MakeTextField、LayoutTextField 和 javascript 问题

TextField我尝试在字段(hyperref包)下用标签加下划线。

使用可填写表单中的带下划线的文本字段

我尝试更新 MakeTextField:

\renewcommand{\MakeTextField}[2]{{\vbox to #2{\vfill\hbox to #1{\hrulefill}}}}

但在我能看到下划线之前,我必须插入以下代码:

\begin{insDLJS}{mydljs}{ }
    this.getField('name').fillColor=color.transparent;
    this.getField('name').borderColor=color.transparent;
\end{insDLJS}

因此第一个问题是:

  1. 为什么我看到它像盒子一样,但没有 javascript 代码?
  2. 我必须将其插入到所有字段中吗?也许您知道这更容易做到吗?

然后我尝试更新 LayoutTextField,最好尝试:

\renewcommand{\LayoutTextField}[2]{%
\vbox to \baselineskip{%
 \hbox to \DefaultWidthofText{\makebox[\width]{#2}}%
 \hbox to \DefaultWidthofText{\hfill\makebox[\width]{#1} \hfill}%
}}

结果:

结果

我无法将其居中,我无法获取字段的宽度并在放置标签时使用它。问题:

  1. 我如何获取 Textfield 的大小LayoutTextField
  2. 如何居中标签?

我可以只使用丑陋的

\renewcommand{\LayoutTextField}[2]{%
\begin{tabular}{c}%
\\%
#2  \\%
\hline%
\small{#1}%
\end{tabular}%
}

没有\renewcommand{\MakeTextField},但很恶心,而且创造垂直空间:(

然后我创建文本字段来输入日期并发现 2 个问题:

  1. 我无法使用 javascript 插入俄语文本。
  2. 我无法在 javascript 代码中使用百分号 ( keystroke% TextField)

我使用 unicode 解决的第一个问题。我编写了一个小型 Python 脚本,将文本从 cp-1251 转换为 unicode,例如:

>>> unicode("Январь","cp1251")
u'\u042f\u043d\u0432\u0430\u0440\u044c'

然后将其插入到 javascript 中,它就可以工作了:)但很难读取和编辑它,mb smb 还有其他方法吗?

第二个问题我使用insDLJS(\%) 解决,没有使用反斜杠 (\) 和 (%) 的问题。我很懒,也许 smb 知道,我如何在keystroke, format,calculate等里面使用它?

相关内容