使用 C/C++ 创建包

使用 C/C++ 创建包

如何构建用 C 或 C++ 编写的新 LaTeX 包?我想向 LaTeX 添加一些新命令,但 LaTeX 不适用于高级编程,所以我应该用另一种语言编写命令。

答案1

您不能直接使用其他编程语言向 LaTeX 添加新命令。您可以修补底层 TeX 编译器,该编译器是用一种名为 WEB 的编程语言编写的,据我所知翻译成C在编译之前。但是,所有使用你的软件包的人都需要使用你的特殊版本的 TeX,而这种情况不太可能发生。

看一下电子特克斯它已经扩展了 TeX。您会发现这不是一件简单的事情,只需为包添加几个命令即可。

LuaTeX允许你使用LuaLaTeX 宏内的代码。这又会迫使人们使用lualatex而不是使用pdflatexxelatex等。

还可以尝试使用 (La)TeX 的 shell 转义选项在外部调用其他编程语言。珍珠岩使用 Perl 来实现。理论上,可以用 C/C++ 编写一些工具,从 LaTeX 文档内部调用并返回结果(例如以输入文件的形式),但这通常很麻烦。

一般来说,如果你想在 LaTeX 中实现一些高级功能,比如 OO 编程等,那么你可能从错误的角度看待问题或 LaTeX。在 TeX 中可以实现非常复杂的东西(例如PGF/TikZ)。使用宏来编程需要一定的时间去适应,但是它的功能非常强大(但也很有挑战性)。

相关内容