我想在 Beamer 演示文稿(PDF 文件)中添加一个“运行演示”按钮,该按钮将启动外部 Java 应用程序。可以通过某种方式实现吗 - 使用 LaTeX/Beamer 在 PDF 中嵌入“exec”命令?
答案1
在 Windows 上安装 Textworks 后,MikTeX 安装的简单命令链接将使你能够在 TeXWorks pdf 阅读器中执行它。以下最小命令将调出计算器程序,前提是“windows/system32”在你的路径中。
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\url{"calc.exe"}
\end{document}
尽管我确信有办法绕过 Adobe 的安全功能,但这不适用于 Adobe pdf 阅读器。
正如我在评论中提到的,另一种方法是提供一个通过 localhost 激活 php 脚本的链接。下面显示了一个执行此操作的简单函数:
function pdflatex($data=''){
if (!empty($_POST)){
$code=$_POST['ascript'];
}
//$f='ZZZ.tex';
//$res = file_put_contents('C:/latex-samples/'.$f, trim($code));
//ob_start();
$t='pdflatex.exe c:/latex-samples/ZZZ.tex 2>&1';
echo '<pre>'.shell_exec($t).'<pre>';
}
在示例中,我调用pdflatex.exe
并将输出重定向到屏幕,以便您可以看到输出。我通常使用这样的脚本通过浏览器中的文本区域运行语言脚本(因此有注释行)。在这种情况下,脚本被捕获并以 POST 形式发送并保存在文件(ZZZ.tex)中,然后您可以让 pdflatex 处理它。
我通常使用 WAMP 或 IndigoStar 来安装 Web 堆栈。后者位于http://www.indigostar.com/indigoperl.php将为 Perl 和 PHP 设置 Apache。Perl 和 Python 都有与 php 类似的命令shell_exec
,以及此命令的变体。