通过 nix 包管理器(在 nixos 上)安装了乳胶,\today 总是扩展到 1979 年 12 月 31 日。我如何让它返回正确的日期?
MWE 创建一个目录并添加 mwe.tex 和 flake.nix(基于https://flyx.org/nix-flakes-latex/)。
-- mwe.tex --
\documentclass[11pt]{article}
\title{}
\date{\today}
\begin{document}
\maketitle
\end{document}
-- mwe.tex 到此结束 --
-- flake.nix --
{
description = "MWE for reproducing \\today macro problem";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-minimal latex-bin latexmk;
};
in rec {
packages = {
document = pkgs.stdenvNoCC.mkDerivation rec {
name = "mwe";
src = self;
buildInputs = [ pkgs.coreutils tex ];
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
buildPhase = ''
export PATH="${pkgs.lib.makeBinPath buildInputs}";
mkdir -p .cache/texmf-var
env TEXMFHOME=.cache TEXMFVAR=.cache/texmf-var \
latexmk -pdf -lualatex mwe.tex
'';
installPhase = ''
mkdir -p $out
cp mwe.pdf $out/
'';
};
};
defaultPackage = packages.document;
});
}
-- flake.nix 到此结束 --
然后nix build "."
在新目录中运行。结果应该是包含 1979 年 12 月 31 日的 pdf 文件(或者当我刚刚运行它时,我实际上得到了 1980 年 1 月 1 日)。