\file_if_exist:nTF
在 TeX/LaTeX 输入路径中搜索作为参数给出的文件名。现在我正在寻找一种方法来获取文件的完整路径,以防找到它。从 LaTeX2e 命令中,\IfFileExists
我知道它将文件的路径存储在宏中\@filef@und
。我想知道是否有 LaTeX3 的对应项\@filef@und
。如果没有,我恳请 LaTeX3 开发人员提供这样的对应项,因为它可能会在某些编程任务中派上用场。
答案1
我刚刚在开发版本中添加了expl3
一个功能\file_add_path:nN
:
\file_add_path:nN { <file name> } <tl var>
这将导致(存储宏)包含以下内容:
- 如果文件位于 LaTeX 路径上,则为完全限定文件名,或者
- 什么也没有(IE如果找不到文件则为空宏
我还调整了其他文件代码以利用这一点。这个想法是,如果你知道你需要使用路径,你可以省去执行文件测试,方法是
\file_add_path:nN { filename } \l_my_tl
\tl_if_empty:NTF \l_my_tl
{ No-file-found-code }
{ File-found-code }
但与 LaTeX2e 不同的是,它有记录并且因此得到官方支持。
这将在下次更新时发送到 CTAN:如果这很紧急,请告诉我(我会“不时”发布)。