Expl3 和 overleaf 上的最新 xparse: 未检测到 expl3 加载器

Expl3 和 overleaf 上的最新 xparse: 未检测到 expl3 加载器

我目前正在写一篇图书馆这需要最新的 xparse(才能有+b环境选项)。不幸的是,我的电脑没有最新的 xparse,所以我下载了包这里,跑

latex xparse.ins

我将文件连同库一起复制到我的项目中。我将此文件放在存储库中,因此现在只需执行以下操作即可:

git clone https://github.com/leo-colisson/proof-at-the-end.git
pdflatex demo.tex && pdflatex demo.tex

使用最新的 xparse 安装并测试该库。太棒了。

但有一个问题。与 overleaf 相比,我的发行版相当新(我想是 latex 2017?),不幸的是 expl3(xparse 使用)在 overleaf 上也太旧了(它不提供\c_novalue_tlxparse 使用)。所以我的合著者无法在 overleaf 上使用该库。该死。

所以我尝试下载该库解释3,跑

latex l3.ins

然后我将生成的代码复制expl3.sty到我的主要项目中(所以现在我有了expl3.styxparse.styproof-at-the-end.stydemo.tex)。轰!现在一切都崩溃了:

  • 我的主计算机上出现一个错误:
(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty) (./xparse.sty
(./expl3.sty (/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex

! Package expl3 Error: Mismatched expl3 files detected.

See the expl3 package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.106 \next
  • 在背面我现在有一个错误
 Package expl3 Error: No expl3 loader detected.

See the expl3 package documentation for explanation.
Type  H <return>  for immediate help.
 ... l.126 \next

You have attempted to use the expl3 code directly rather than using the correct loader. Loading of expl3 will abort.

我对 Latex 3 还很陌生,所以我不知道如何在 overleaf 和本地安装中解决这个问题。在桌面和 overleaf 上“安装”最新的 expl3/xparse 的正确方法是什么,这样每个人都可以通过下载几个文件来使用我的库?

谢谢!

答案1

您需要上传整个l3kernel。日志显示它使用了本地expl3.sty,但使用了来自 的expl3-code.tex(实际expl3代码)/usr/share/texlive/texmf-dist/tex/latex/l3kernel/

(./expl3.sty (/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3-code.tex

! Package expl3 Error: Mismatched expl3 files detected.

您还需要上传此文件才能使其正常工作。更好的是,上传整个内核(包括驱动程序文件和您可能需要的其他内容):

-rw-rw-r--  1 phelype phelype 991026 Mai  7 13:25 expl3-code.tex
-rw-rw-r--  1 phelype phelype   2882 Mai  7 13:25 expl3-generic.tex
-rw-rw-r--  1 phelype phelype   3868 Mai  7 13:25 expl3.lua
-rw-rw-r--  1 phelype phelype   9894 Mai  7 13:25 expl3.sty
-rw-rw-r--  1 phelype phelype  20583 Mai  7 13:25 l3dvipdfmx.def
-rw-rw-r--  1 phelype phelype  37442 Mai  7 13:25 l3dvips.def
-rw-rw-r--  1 phelype phelype  15331 Mai  7 13:25 l3dvisvgm.def
-rw-rw-r--  1 phelype phelype  63076 Mai  7 13:25 l3names.def
-rw-rw-r--  1 phelype phelype  21611 Mai  7 13:25 l3pdfmode.def
-rw-rw-r--  1 phelype phelype  22242 Mai  7 13:25 l3xdvipdfmx.def
  • expl3-code.tex是实际的expl3代码。没有它什么都行不通;
  • expl3-generic.tex是通用加载器,以防您使用除 LaTeX 之外的其他格式;
  • expl3.lua如果您使用expl3LuaTeX,则是 Lua 例程;
  • expl3.sty是 LaTeX 的加载器 (的对应部分expl3-generic.tex);
  • 其余.def文件是特定于驱动程序的定义,根据您使用的引擎加载。

答案2

Phelype Oleinik 给出了很好的答案,但我想指出另外几种方法。

我们提供TDS 样式 zip 文件可从 CTAN 获取。这是“预提取”的,并且明确包含一个tex/latex目录,其中包含全部其中包含的运行时文件。该目录内容的副本将始终包含一整套匹配的文件。

相关内容