LaTeX3:\file_if_exist:nTF & 找到的文件的完整路径

LaTeX3:\file_if_exist:nTF & 找到的文件的完整路径

\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>

这将导致(存储宏)包含以下内容:

  1. 如果文件位于 LaTeX 路径上,则为完全限定文件名,或者
  2. 什么也没有(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:如果这很紧急,请告诉我(我会“不时”发布)。

相关内容