50 TL2025下为何无法直接调用`lshort-zh-cn-style`宏包?

发布于 2025-07-24 21:10:29

问题描述

如题,在我的TL2025中,lshort-zh-cn的子宏包位于windows11上的如下位置:

C:\texlive\2025\texmf-dist\doc\latex\lshort-chinese\src

image.png

但却无法直接被调用

\documentclass{book}
\usepackage{lshort-zh-cn-style}
\begin{document}
haha 你好
\end{document}
! LaTeX Error: File `lshort-zh-cn-style.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 

而类似的,exam-zh提供的子宏包位于如下的路径:

C:\texlive\2025\texmf-dist\tex\latex\exam-zh

image.png

可以直接被调用

\documentclass{ctexbook}
\usepackage{exam-zh-question}
\begin{document}
\begin{question}
    是个问题
\end{question}
\end{document}

问题

  • kpathsea默认会在texmf的哪些路径下搜寻.sty.cls
  • 是否\texlive\2025\texmf-dist\doc\latex不在而\texlive\2025\texmf-dist\tex\latex在?
  • 是否有办法将前者加入kpathsea可识别的路径?

查看更多

关注者
0
被浏览
99
雾月
雾月 20小时前
这家伙很懒,什么也没写!

设置 TEXINPUTS 环境变量,.tex .sty 这类文件都在 $TEXMF/tex// 目录里查找,而 TeX 文档的位置在 $TEXDOCS$TEXMF/doc//) 这个变量里(texmf.cnf 的变量,不是环境变量)。

cmd:
set TEXINPUTS=;$TEXDOCS

powershell:
$env:TEXINPUTS=';$TEXDOCS'

不过最好不要设置 $TEXDOCS 来编译文档,因为这里的目录包含许多配置文件(比如 hyperref.cfg,你设置上面的环境变量再用 xelatex 编译就会发现报错),会出现什么完全不能预测。
可以先修改 TEXINPUTS 然后用 kpsewhich 找到所需的文件,只用特定目录一般问题不大:

set TEXINPUTS=;$TEXDOCS
kpsewhich lshort-zh-cn-style.sty
% 注意要先清除
set TEXINPUTS=
set TEXINPUTS=;$TEXMFDIST/doc/latex/lshort-chinese//
xelatex main.tex

可以查看 texdoc kpathsea 文档了解更多内容。

2 个回答
-XM-
-XM- 1天前
这家伙很懒,什么也没写!

doc 里的不是宏包文档么,是用 texdoc 来调用的吧(在doc路径下)

exam-zh以 cls 结尾,说明是文档类,是用 \documentclass{exam-zh}的吧(在tex路径下)

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览