Skip to content

xeCJK/DEPENDS.txt似乎未正常更新到CTAN #1078

Description

@YDX-2147483647

#1024 向xeCJK/DEPENDS.txt添加了 l3experimental,以使用 l3draw。
不过似乎忘记发邮件告知CTAN更新了?根据以下输出,目前安装 xecjk 并不会自动安装 l3experimental。

$ tlmgr info ctex --data depends
adobemapping:atbegshi:beamer:chinese-jfm:cjk:cjkpunct:ec:epstopdf-pkg:etoolbox:everyhook:fandol:fontspec:iftex:infwarerr:kvoptions:kvsetkeys:latex-bin:ltxcmds:luatexja:mptopdf:pdftexcmds:platex-tools:svn-prov:tipa:tools:ttfutils:ulem:uplatex:xcjk2uni:xecjk:xetex:xkeyval:xpinyin:xunicode:zhmetrics:zhmetrics-uptex:zhnumber

$ tlmgr info xecjk --data depends
ctex:fontspec:l3kernel:l3packages
日期及版本
$ date --iso-8601 minute
2026-08-13T18:21+08:00
$ tlmgr info xecjk
package:     xecjk
category:    Package
shortdesc:   Typeset CJK in XeLaTeX
longdesc:    xeCJK is a package for typesetting documents in Chinese, Japanese or Korean with XeLaTeX. It provides CJK-specific automatic glue between CJK and non-CJK characters, full control over CJK punctuation compression, separate font families for CJK and Latin scripts, and a number of fine-grained typographic refinements for the CJK script.
installed:   Yes
revision:    79910
sizes:       run: 857k
relocatable: No
cat-version: 3.10.5
cat-license: lppl1.3c
cat-topics:  chinese japanese korean tagged-pdf-unsupported xetex
cat-contact-development: https://github.com/CTeX-org
cat-contact-support: https://github.com/CTeX-org/ctex-kit/issues
cat-contact-repository: https://github.com/CTeX-org/ctex-kit
collection:  collection-xetex

后果

只装scheme-minimal、collection-xetex、ctex等少量内容时,以下文档能用TeX Live 2021至2026-07-02的TeX Live 2026正常编译,但用当前最新TeX Live 2026会报错 ! LaTeX Error: File l3draw.sty not found。

\documentclass{ctexart}
\usepackage{xeCJKfntef}
\begin{document}
任意内容
\end{document}

详情:https://github.com/BITNP/BIThesis/actions/runs/31688308437?pr=758

Activity

  1. github-actions commented on Aug 13, 2026

    @github-actions
    Contributor

    🐛 Bug 分析 #1078

    项目 结果
    根因 xeCJKfntef 无条件加载 l3draw,但 DEPENDS.txt 将其所属的 l3experimental 标成了 TeX Live 不处理的 soft 依赖。
    严重程度 🟡 medium
    适合后续自动实现 ✅ 是

    📋 详细分析

    复现路径:

    1. 使用未安装 l3experimental 的精简 TeX Live 环境。
    2. 安装 xecjk 后编译 Issue 中加载 xeCJKfntef 的文档。
    3. xeCJKfntef 执行 \RequirePackage { l3draw },因缺少 l3draw.sty 而终止编译。

    代码定位:

    问题原因:DEPENDS.txt 已随 xeCJK v3.10.5 包含 l3experimental,因此并非单纯遗漏提交或遗漏打包;真正的问题是该依赖被写成了 soft。TeX Live 目前忽略 soft 依赖,只把 hard 依赖转换成 tlmgr 的自动安装关系,所以 tlmgr info xecjk --data depends 中不会出现 l3experimental。

    后续修复可以把这一行改为 hard l3experimental。仓库改动只有一行且含义明确;但修复还需重新投递 CTAN 并等待 TeX Live 更新元数据后才会对用户生效。在此之前,用户可以运行 tlmgr install l3experimental 规避问题。


    由 codex / gpt-5.6-sol 生成;本流程只分析,不自动修改代码。

  2. YDX-2147483647 commented on Aug 13, 2026

    @YDX-2147483647
    Author

    TeX Live 目前忽略 soft 依赖

    确实可能是 soft/hard 的问题。

    Package dependencies - TeX Live - TeX Users Group

    The soft directive means the following package(s) may be needed, but are not required. As in the example above, perhaps they are only needed when running XeTeX (or some other specific engine). These must be listed as soft because not every installation wants or needs (for example) XeTeX. Similarly with packages that are only conditionally required, e.g., if some option to your package is specified. As far as tlmgr goes, soft dependencies are currently ignored, but they may serve as useful documentation. Your choice.

  3. changed the title [-]`xeCJK/DEPENDS.txt`似乎未更新到CTAN[/-] [+]`xeCJK/DEPENDS.txt`似乎未正常更新到CTAN[/+] on Aug 13, 2026
  4. Liam0205 commented on Aug 13, 2026

    @Liam0205
    Contributor

    @YDX-2147483647 已知问题。
    更早的 xeCJKfntef 的依赖,也写作 soft。本次更新沿用。不打算改。

  5. YDX-2147483647 commented on Aug 13, 2026

    @YDX-2147483647
    Author

    可是之前能编译,现在不能了啊——现在把\RequirePackage{l3draw}写死了。

  6. Liam0205 commented on Aug 13, 2026

    @Liam0205
    Contributor

    @YDX-2147483647 大概因为除了 l3draw 之外的其它 soft 依赖,都恰好被你已安装/其他包的依赖所覆盖了。

  7. YDX-2147483647 commented on Aug 13, 2026

    @YDX-2147483647
    Author

    唔,那我再测试测试……感谢回复。

  8. muzimuzhi commented on Aug 13, 2026

    @muzimuzhi
    Member
  9. YDX-2147483647 commented on Aug 15, 2026

    @YDX-2147483647
    Author

    我查了下。

    之前xeCJKfntef.sty只有三个\RequirePackage,分别是expl3、xeCJK、ulem。expl3、xeCJK自不必说,而ulem被列为ctex的hard依赖,因此xeCJKfntef没问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions