在 LaTeX 中,我可以访问超链接 TextField 的内容并在下面显示它们,并以数学模式标记吗?

在 LaTeX 中,我可以访问超链接 TextField 的内容并在下面显示它们,并以数学模式标记吗?

设置可填写字段相当容易。如何访问该字段的内容并显示它们(使用数学模式标记)?

\documentclass[a4paper,11pt]{article}

\usepackage{hyperref}
\usepackage{calc}

\def\equationEntry#1#2{%
    \TextField[name=#1, width=0.5\textwidth]{#2}%
}

\begin{document}

\begin{Form}
    \equationEntry{inputEquation1}{Enter an equation : }

    % TODO display the contents of the field above, marked up using math mode
\end{Form}

\end{document}

答案1

从概念上讲,这实际上不可行。LaTeX 将表单的源代码(即您在问题中显示的代码)编译为 pdf,之后 LaTeX 不再参与 pdf 上发生的任何事情。

如果 pdf 查看器允许您执行 Javascript(许多查看器不允许这样做,但有些允许),您可以使表单具有交互性,但只能执行 Javascript,这使得无法调用 LaTeX(或其他外部程序)和/或实际收集 LaTeX 运行的结果并在 pdf 中正确显示它。即使这是可能的,打开表单的用户仍然应该安装 LaTeX,或者您应该以某种方式设置对 Web 服务的访问权限,这也不是一件容易的事。

可能在 pdf 中运行 MathJax 是可能的,因为 MathJax 是一个 Javascript 库。MathJax 的语法和输出与 LaTeX 类似(但比 LaTeX 更有限)。但是,如果这真的可以实现,我会感到惊讶(我通过快速网络搜索找不到这样的尝试),因为 MathJax 旨在在网页上而不是在 pdf 中生成输出。

这可能会让你想到另一种选择,即制作一个 Web 应用程序而不是 PDF 表单。当然,你不能再使用 LaTeX 进行排版(或者你需要一个从 LaTeX 到 Web 的转换器,这并不总是能产生很好的结果),但你获得了很大的交互性和灵活性。

相关内容