优雅地找到makeindex的版本

xkftehaa  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(346)

我写了一些类似于为latex文档制作工具的东西(实际上是一个maven插件)https://github.com/reissner/maven-latex-plugin).
由于这只调用了一堆命令行工具,而且当出现这些工具的新版本时,我经常遇到问题,所以我决定提供一种检查版本的方法(实际上是一个目标)。e、 我让我的工具调用 pdflatex -v 获取pdflatex的版本。这适用于所有工具,但 makeindex ,因为 makeindex 提供了没有常规的方式,得到的版本,什么也没有,但。
我只是手工打字 makeindex 然后在我的bash shell上按ctrl-d。结果就是这样

This is makeindex, version 2.15 [TeX Live 2020] (kpathsea + Thai support).
Scanning input file stdin...done (0 entries accepted, 0 rejected).
Nothing written in stdout.
Transcript written in stderr.

按键ctrl-d似乎与unicode 0004绑定。所以从bashshell来看,这个效果很好。
有没有一种方法可以通过java执行来实现这一点?我试图调用(java字符串) "makeindex \u0004" 相关的。没有成功,。。。makeindex只是因为一个错误而退出。老实说,我不知道为什么,因为从终点站一切都很好。
最后要解决的问题是:程序应该是平台无关的。
现在尝试了一些黑客提供了一个虚拟文件。但这当然与优雅背道而驰。

gwbalxhn

gwbalxhn1#

假设你使用texlive,你可以使用

tlmgr info --only-installed --data="localrev" makeindex

返回类似

52851

这是已安装的makeindex包中的修订信息。这不是版本号,但应该足以检测安装的版本是否更改。

相关问题