我正在服务器上使用 PHP 从数据库创建 latex 表,运行良好。我现在遇到的问题是将其放入 latex 文档中。我以为给它路径就可以让它从网络上获取文件并像平常一样输入,但那行不通,而且我在网上找不到有关执行此类操作的任何信息。
下面是我想要实现的一个示例:
\documentclass{article}
\begin{document}
\input{http://example.com/generated-latex.php}
\end{document}
答案1
你可以利用“管道\input
”功能。例如,这是一个从cat
命令的标准输出输入的 MWE:相同的想法可以应用于其他命令,并且原则上也可以应用于wget
:
\begin{filecontents}{myTempFile.tex}
\section{A test}
This is a test.\par
\end{filecontents}
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\begin{document}
\input{|"cat myTempFile.tex"}
\end{document}
当然,对于这个例子我已经通过filecontents
环境生成了临时文件。
编辑
举例来说,让我们\input
从命令的标准输出中date
也可以看到:
\begin{filecontents}{myTempFile.tex}
\section{A test}
This is a test.\par
\end{filecontents}
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\begin{document}
\input{|"cat myTempFile.tex"}
\input{|date}
\end{document}
结果如下:
添加
重读一年多前发布的这个答案,我意识到我从来没有按照我的意图完成它。只是为了说服自己答案是“是的,它是可以从网络输入文件”,尝试编译一个仅包含以下单行内容的源文件:
\input{|"curl --stderr /dev/null http://www.math.unipd.it/\string~mezzetti/Gustavo/Ludic/CDP/presentazione.tex"}
本示例使用curl
,但很容易将其改为使用wget
。请记住,您必须启用“完整 shell 转义”功能才能使其正常工作。