今天想编译文档时发现报错(明明早上还好好的,上午后来就不行了)

编译tex函数

xelatex("test.tex")

可重现文档内容:

\documentclass{ctexart}
\begin{document}
$$
\frac{1}{2}
$$
\end{document}

报错:

tlmgr update --all --self
tlmgr.pl: package repository http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (not verified: pubkey missing)
tlmgr.pl install: package already present: l3kernel
! LaTeX Error: Mismatched LaTeX support files detected.
(LaTeX) Loading 'expl3.sty' aborted!
(LaTeX)
(LaTeX) The L3 programming layer in the LaTeX format
(LaTeX) is dated 2023-05-05, but in your TeX tree the files require
(LaTeX) at least 2023-06-30.

Error: LaTeX failed to compile C:/Users/e2023/Documents/test.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See test.log for more info.

尝试:

  1. 重新安装最新版tinytex包
  2. 重新安装最新编译版TinyTex。

尝试后仍同样错误。

R环境:

R version 4.2.3 (2023-03-15 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)

Matrix products: default

locale:
[1] LC_COLLATE=Chinese (Simplified)China.utf8 LC_CTYPE=Chinese (Simplified)China.utf8
[3] LC_MONETARY=Chinese (Simplified)China.utf8 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)
China.utf8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] tinytex_0.45.2

loaded via a namespace (and not attached):
[1] compiler_4.2.3 tools_4.2.3 xfun_0.39

搞不懂为啥,我啥也没动啊?请问各位大佬怎么解决啊。

    Jonie_Y 试试这个

    \documentclass{ctexart}
    \begin{document}
    \[
    \frac{1}{2}
    \]
    \end{document}

      Cloud2016 不好意思,我给了个容易误导的例子

      \documentclass{ctexart}
      \begin{document}
      a
      \end{document}

      这个例子也可以重现。

      在我实际的文件中,我用git还原了上次能编译通过的版本(早上能通过的版本)。还是会报错。

        Jonie_Y 那应该是你安装的 TinyTeX 发行版中 l3kernel 相关版本不匹配。
        我看到 l3kernel 前两天更新了一下,而 latex3 项目下有好些包,并没有一起更新。

        应该是配置文件需要重新生成,这样 l3packages 和 l3backend 就一起工作了。
        我更新的时候,发现它在更新配置,你也试试下面的命令。

        tlmgr update --all --self
        tlmgr: package repository https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/texlive/tlnet (verified)
        tlmgr: no self-updates for tlmgr available
        [1/4, ??:??/??:??] update: babel [204k] (67073 -> 67485) ... done
        [2/4, 00:01/00:02] update: hyperref [89k] (67233 -> 67471) ... done
        [3/4, 00:02/00:03] update: l3kernel [170k] (67394 -> 67514) ... done
        [4/4, 00:03/00:03] update: texlive-scripts [112k] (67434 -> 67521) ... done
        running mktexlsr ...
        done running mktexlsr.
        running updmap-sys ...
        done running updmap-sys.
        regenerating fmtutil.cnf in /Users/xiangyun/Library/TinyTeX/texmf-dist
        running fmtutil-sys --byfmt xelatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: xelatex.fmt/xetex
        running fmtutil-sys --byfmt uplatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: uplatex.fmt/euptex
        running fmtutil-sys --byfmt latex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: latex.fmt/pdftex
        running fmtutil-sys --byfmt dvilualatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: dvilualatex.fmt/luatex
        running fmtutil-sys --byfmt uplatex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: uplatex-dev.fmt/euptex
        running fmtutil-sys --byfmt platex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: platex.fmt/euptex
        running fmtutil-sys --byfmt platex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: platex-dev.fmt/euptex
        running fmtutil-sys --byfmt lualatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: lualatex.fmt/luahbtex
        running fmtutil-sys --byfmt pdflatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/var/folders/cv/7n2v46gx65bbdtv7ctx7jtmh0000gn/T/i2YUBM6huD/xHRkXPMaiu ...
          OK: pdflatex.fmt/pdftex
        tlmgr: package log updated: /Users/xiangyun/Library/TinyTeX/texmf-var/web2c/tlmgr.log
        tlmgr: command log updated: /Users/xiangyun/Library/TinyTeX/texmf-var/web2c/tlmgr-commands.log

          Cloud2016 感谢感谢。

          好像编译的时候程序已经运行了这个并报错了。

          刚才我手动运行了一次fmtutil-sys --all,是从这里看到的这个方案。

          fmtutil [INFO]: log file copied to: c:/users/e20230313/appdata/roaming/tinytex/texmf-var/web2c/pdftex/pdfetex.log
          fmtutil [INFO]: c:/users/e20230313/appdata/roaming/tinytex/texmf-var/web2c/pdftex/pdfetex.fmt installed.
          fmtutil [INFO]: successfully rebuilt formats: 23
          fmtutil [INFO]: total formats: 23
          fmtutil [INFO]: exiting with status 0

          虽然最后是exiting with status 0,但是文档可以编译了。

          然后我看到您的回复,现在再运行tlmgr update --all --self显示

          C:\WINDOWS\system32>tlmgr update --all --self
          tlmgr.pl: package repository http://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet (not verified: gpg unavailable)
          tlmgr.pl: no self-updates for tlmgr available
          tlmgr.pl: no updates available

          不过总的来说,文档能编译了,虽然完全没明白这些命令的意思……非常感谢您的迅速回复~~

            Cloud2016 对了,麻烦问一下,看起来l3kernel像个内核组件,我既然是本地安装、本地编译tex,为啥latex软件升版会造成我本地编译失败啊?

              Jonie_Y exiting with status 0

              这种退出状态就是没问题。执行 fmtutil-sys --all 就是在刷新配置,tlmgr update --all --self 就不需要了。

              Jonie_Y 为啥latex软件升版会造成我本地编译失败啊?

              可能升级的时候,没有刷新配置,这个核心组件影响是全局性的。