如何计算 Adob​​e 上表单和存在的两个复选框值?

如何计算 Adob​​e 上表单和存在的两个复选框值?

我想展示问卷中两个值的计算,其中用户每个问题选择一个选项。许多测量专有研究来源都有 PDF 文档,例如米兰特维斯塔洛具有这样的功能。我正在考虑如何用 LaTeX 实现它。任务是2+2从复选框计算(),然后显示结果(4)。预期的前端如图 1 所示。关于这个问题最有可能的线程答案是答案这里带有etoolbox包,但采用 2012 年的方法,所以我希望方法有所改进。代码中没有复选框,伽马框不是文本框,因此不接受输入

\documentclass{article}
\usepackage{amssymb}
\usepackage{hyperref}
\begin{document}

\begin{Form}

% TODO make two questions with three checkboxes

% https://tex.stackexchange.com/a/76500/13173
\TextField[maxlen=40,align=2,height=10pt,width=45pt,name=alpha]{Alpha}

\bigskip
\TextField[maxlen=40,align=2,height=10pt,width=45pt,name=beta]{Beta}

\bigskip
\TextField[
  maxlen=40,
  calculate={%
    var f_alpha = this.getField("alpha");
    var f_beta = this.getField("beta");
    event.value = f_alpha.value + f_beta.value;
  },
   align=2,height=10pt,width=45pt,name=gamma,readonly=true]{Gamma}
\end{Form}

% Count core here
Summary score:

\end{document}

代码中的错误

  • 不阻止选择一个或多个选项。允许每个问题选择两个选项,但计算平均值。然后连接平均值函数。

行动:检查问题(1-2)中点(2)的两处

预期输出:显示值 4总结分数在 Adob​​e Acrobat 中(acroread在 Linux 中)

图 1 预期的前端

在此处输入图片描述

操作系统:Debian 9
TeXLive:2017

答案1

要使用 创建单选按钮hyperref,请使用\ChoiceMenu命令。将其与自定义 JavaScript 命令结合使用,以填充文本字段,如链接答案,我们得到

\documentclass{article}
\usepackage{hyperref}
\begin{document}

\begin{Form}
\begin{enumerate}
\item \ChoiceMenu[name=football,radio,default=0]{Do you play football?}{Much (2)=2,Little (1)=1,Not at all (0)=0}
\item \ChoiceMenu[name=ice-hockey,radio,default=0]{Do you play ice-hockey?}{Much (2)=2,Little (1)=1,Not at all (0)=0}
\end{enumerate}

\TextField[readonly=true,value=0,calculate={event.value=this.getField("football").value+this.getField("ice-hockey").value;}]{Summary score:}
\end{Form}

\end{document}

生成的交互式表单的屏幕截图

请注意,这仅适用于支持 JavaScript 的 PDF 查看器,即您基本上只能使用 Adob​​e Acrobat(Reader)。

在上面的代码中,使用 预先选择了“完全没有”选项default=0,以便在回答所有问题之前进行计算。如果您不喜欢从一开始就出现选择符号,请更改default=0default=-0以便停止自动选择“完全没有”字段,并可能从 中hyperref删除默认值。这样,未回答的问题将以 0 分计入最终结果。value=0\TextField

相关内容