表格和图表

表格和图表

我正在尝试为我的学生写一篇关于二次函数的练习文档。使用表格,学生可以输入二次函数的系数,然后给出判别式(然后是函数的根)。

我认为如果函数的图形可以在 pdf 上追踪就太好了。有办法吗?表单如何将值传输到 tikzpicture 环境?

这是我的 MWE:

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.3}

\usepackage[pdftex]{insdljs}

\begin{insDLJS}[test]{test}{JavaScript}

function doCalculation()
  {var disc=0.0 + (this.getField("valb").value)*(this.getField("valb").value)
  -4*(this.getField("vala").value)*(this.getField("valc").value);       
 this.getField("valdisc").value=disc;
 }

function doDrawing()
{}

\end{insDLJS}



\begin{document}

\begin{Form}

Please enter the coefficients of the quadratic function $f(x)=ax^2+bx+c$

\vskip 5mm

\TextField[name=vala,width=2em, bordercolor={0.650 .790 .94}]{Coefficient a: }
\TextField[name=valb,width=2em, bordercolor={0.650 .790 .94}]{Coefficient b:}
\TextField[name=valc,width=2em, bordercolor={0.650 .790 .94}]{Coefficient c:}

\vskip 5mm

\PushButton[name=start,onclick={doCalculation();},bordercolor={0.650 .790 .94}{Compute!} 

\vskip 5mm

Discriminant: \TextField[name=valdisc,width=4em,readonly=true]{}

\vskip 10mm

\PushButton[name=start,onclick={doDrawing();},bordercolor={0.650 .790 .94}]{Draw!} 

\vskip 5mm

\begin{tikzpicture}
\begin{axis}[title=Parabola, axis lines=left, xlabel={$x$},ylabel={$y$},ymin=-3, ymax=3,minor y tick num=1,]
\newcommand\coefa{1}
\newcommand\coefb{4}
\newcommand\coefc{3}
\addplot[blue, domain=-\coefb/(2*\coefa)-3:-\coefb/(2*\coefa)+3, samples=1000]
{\coefa*x^2+\coefb*x+\coefc};
\end{axis}
\end{tikzpicture}

\end{Form}

\end{document}

我试图告诉函数 \coefa、\coefb 和 \coefc 以表单形式获取用户给出的值。不使用 tikz 的替代版本也受到欢迎。

可以做到吗?恐怕不可能,因为这可能意味着要重新编译 tex 文件才能得到图片。但是,对于判别式的计算,结果“神奇地”出现了,无需任何编译。我完全不知道 Latex 中的表单是如何工作的……


编辑:正如评论中所解释的那样,答案取决于查看器。您可以假设查看器是 Acrobat Reader,因为它是免费且无处不在的。如果有适用于其他查看器的解决方案,我也对此感兴趣。

相关内容