我不确定这个问题是否有意义;这是我的尝试。
我正在编写一个程序,用于生成String
有效的 LaTeX 并对其进行编译。它将为我的用户生成 PDF。在我的计算机中,我可以按如下方式生成文件:
pdflatex "my_valid_content_as_a_single_string"
这对我很有效。
我应该期望/要求我的用户拥有什么命令?
pdflatex
最可用的命令是什么?我应该如何要求人们提供此功能?正确的措辞是什么?他们应该有
pdflatex
(或任何命令)。或者有LaTeX
可用功能吗?
我还需要他们有pgfplots
,我认为这总是默认安装的?
答案1
LaTeX 是排版系统的通用名称,也是格式的名称。然后你有几个编译器。我仅提到其中几个:
pdflatex
是历史编译器(虽然不是第一个)。它很老了,我已经很多年没用过了,但它仍然是许多人默认考虑的编译器。lualatex
是其可能的替代品。它已经成熟并被广泛使用,但它在习惯、代码和功能方面需要与前一个版本进行一些更改。
您在命令中调用哪一个在很大程度上取决于您的用户将编译哪种类型的代码。虽然语法与编译器无关,但您将加载的库和可用的命令存在一些差异。只有您的用户的需求才能告诉您什么是最好的。
如果您的用户编译大型文档,最好调用类似的脚本latexmk
,它将尽力进行生成最终形式文档所需的所有调用(可能有多次编译和对外部工具的调用)。
pgfplots
是一个非常常见的软件包,因此您应该能够在大多数 LaTeX 安装中使用它。也许可以与您的用户核实他们选择了哪个发行版。
答案2
如果用户有 tex 他们(几乎肯定)会拥有pdflatex
。
但是,命令行中以字符串形式包含文档的形式极难移植。
pdflatex "my_valid_content_as_a_single_string"
要求(至少)"
字符串中的和换行符被转义,并且命令行删除外部的。即使在 Linux 上,细节也取决于用户的 shell,而在其他操作系统中,它可能根本不起作用。(在 bash 中,如果您使用作为外部引号,则"
需要转义,但如果您使用则不需要$
"
'
将文档写入临时文件更安全
pdflatex tempfilename
用户可能有可用的 pgfplots,在 TeX Live 中,collection-picures
但如果用户安装了受限方案,例如basic
或,minimal
他们将无法使用它,但希望他们知道他们安装了受限方案以及如何使用tlmgr
来添加pgfplots
当然,您也可以考虑完全不假设本地 tex 安装,而是提供在服务器上运行的 tex,并根据 URL 参数中的字符串返回 PDF。