![Latex 表单、MakeTextField、LayoutTextField 和 javascript 问题](https://linux22.com/image/279783/Latex%20%E8%A1%A8%E5%8D%95%E3%80%81MakeTextField%E3%80%81LayoutTextField%20%E5%92%8C%20javascript%20%E9%97%AE%E9%A2%98.png)
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}
因此第一个问题是:
- 为什么我看到它像盒子一样,但没有 javascript 代码?
- 我必须将其插入到所有字段中吗?也许您知道这更容易做到吗?
然后我尝试更新 LayoutTextField,最好尝试:
\renewcommand{\LayoutTextField}[2]{%
\vbox to \baselineskip{%
\hbox to \DefaultWidthofText{\makebox[\width]{#2}}%
\hbox to \DefaultWidthofText{\hfill\makebox[\width]{#1} \hfill}%
}}
结果:
我无法将其居中,我无法获取字段的宽度并在放置标签时使用它。问题:
- 我如何获取 Textfield 的大小
LayoutTextField
? - 如何居中标签?
我可以只使用丑陋的
\renewcommand{\LayoutTextField}[2]{%
\begin{tabular}{c}%
\\%
#2 \\%
\hline%
\small{#1}%
\end{tabular}%
}
没有\renewcommand{\MakeTextField}
,但很恶心,而且创造垂直空间:(
然后我创建文本字段来输入日期并发现 2 个问题:
- 我无法使用 javascript 插入俄语文本。
- 我无法在 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
等里面使用它?