如何获取插入文件中的元信息(TeXLive-Version、Compiler、-version)?

如何获取插入文件中的元信息(TeXLive-Version、Compiler、-version)?

如同LuaTex 中的版权页我想将 -version 的信息TeX Live、我使用的编译器 ( LuaLaTeX) 及其版本放入版权页中。此外,还要获取文件中使用的字体和 的版本等biblatex

这不是为了调试问题而是为了显示 pdf 中的信息。

答案1

LuaTeX 版本可通过内部变量\luatexversion和获得\luatexrevision。这些变量也可在 Lua 级别访问。主版本和次版本均编码在 中\luatexversion,主版本是 的结果\luatexversion/100,次版本是mod(\luatexversion,100)

TeXlive 版本在 LuaTeX 横幅中,因此您可以使用正则表达式提取它。

This is LuaTeX, Version 0.95.0 (TeX Live 2016)

因为它是括号中的唯一内容,所以我们匹配括号内的所有内容。对于 Biber 版本,我们需要调用biber -v并读取其输出。在这里,我们匹配括号后的所有内容:。但是,我们需要 shell 转义才能实现这一点。

\documentclass{article}
\usepackage{luacode}
\begin{document}
\begin{luacode*}
  tex.sprint("Lua\\TeX{} version "
             .. math.floor(tex.luatexversion / 100) .. "."
             .. math.floor(tex.luatexversion % 100) .. "."
             .. math.floor(tex.luatexrevision))

  local tlversion = string.match(tex.luatexbanner, "%((.*)%)")
  tex.sprint(tlversion)

  local fh = io.popen("biber -v")
  local biberversion = string.match(fh:read(), ":(.*)$")
  tex.sprint(biberversion)
\end{luacode*}
\end{document}

在此处输入图片描述

相关内容