将 \currenttime 设置为特定日期和时间

将 \currenttime 设置为特定日期和时间

所以我知道这个问题可能会有点奇怪,但我正在寻找一种方法来改变 LaTeX 对当前时间的看法。 (换句话说,\currenttimeLaTeX 是什么)

我希望有这个功能,以便轻松重现 LaTeX 文档的构建。我确实从外部某处获得了正确的时间戳。

所以我无法永久更改 tex 文件本身。在 (git) 存储库中,它必须保留为\currenttime

我想到了许多可能的解决方案,但我觉得它们都有点不靠谱,所以我想知道是否有更好的方法。
这些可能的解决方案是:

  • 设置构建机器的日期和时间。
    无论如何我都会使用 Docker,所以我可以设置构建容器的时间。不过这可能会弄乱一些东西,所以我不太愿意这么做。
  • 使用类似 的内容sed替换\currenttime为所需的时间戳。
    我目前不知道这样的时间戳需要什么格式,我相信这对谷歌来说很简单。另外我不喜欢这会改变 tex 文件本身

答案1

最近的 pdfTeX 等在这里识别两个环境变量:

  • SOURCE_DATE_EPOCH- Unix 纪元值
  • FORCE_SOURCE_DATE- 切换以启用纪元(设置为 1 或更高)

因此,如果您在环境中设置它们,pdfTeX 等将始终“看到”相同的日期和时间。

相关内容