我有以前使用的代码\file_path_include:n
,但现在尝试进行\l_file_search_path_seq
如下调整。使用 Texlive 2018,这有效,但使用 Texlive 2019,则无效。我遗漏了什么?
工作目录包含一个子目录abc
。目录包含一个以内容abc
命名的文件a.tex
hylo
工作目录中的主文件包含:
\documentclass{article}
\usepackage{xparse}
\begin{document}
\ExplSyntaxOn
\seq_put_right:Nn \l_file_search_path_seq {abc}
\seq_show:N \l_file_search_path_seq
\file_input:n {a}
\ExplSyntaxOff
\end{document}
这会产生错误。
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./prawf.tex
LaTeX2e <2018-12-01>
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3-code.tex)
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def))
) (./prawf.aux)
The sequence \l_file_search_path_seq contains the items (without outer
braces):
> {abc}.
<recently read> }
l.14 \seq_show:N \l_file_search_path_seq
?
! LaTeX3 Error: File 'a' not found.
For immediate help type H <return>.
...
l.15 \file_input:n {a}
?
a.tex
如果我使用代替,结果也是一样的a
,但是 的文档\file_input:n
说它使用与 相同的搜索\file_if_exist:n
,即搜索标准输入路径加上 中的附加内容\l_file_search_path_seq
。
如果我在指定目录时包含尾部正斜杠
\seq_put_right:Nn \l_file_search_path_seq {abc/}
正如 AlexWatson 在评论中所建议的那样,我遇到了错误,但最终找到了文件。
! Argument of \__file_file_name_cleanup:w has an extra }.
<inserted text>
\par
l.17 \file_input:n {a.tex}
?
Runaway argument?
\cs_if_exist:NT \input@path {\tl_map_tokens:Nn \input@path {\__file_full_name_a
ux:nn \ETC.
! Paragraph ended before \__file_file_name_cleanup:w was complete.
<to be read again>
\par
l.17 \file_input:n {a.tex}
?
(./abc/a.tex)
我该如何\l_file_search_path_seq
正确设置才能让它\file_input:n
按照我想要的方式运行?或者,如果这不可能,有什么解决方法?
答案1
这是一些新代码中的一个错误:我们正在开发一个可扩展的\file_input:n
,第一步是文件搜索。事情已经按照描述进行了修复https://github.com/latex3/latex3/issues/634:大概明天就会向 CTAN 进行更新。