我遇到了一个问题,使用该xepersian
包会破坏包的功能currfile
。
我有一个主 tex 文件和几个子目录,我将其他文件存储在这些子目录中,并且我有一些辅助宏,它们有助于将这些文件包含在子目录中,这些宏依赖于\currfilebase
和\currfilename
。但出于某种原因,即使在其他文件中,我也总是获得主文件的名称。这仅在xeperian
导入包时才会发生,没有它一切都会正常工作。
我创建了一个小示例来展示我所经历的行为:
主要文件内容[ main.tex
]:
\documentclass[10pt]{book}
\usepackage[parent]{currfile}
\usepackage{xepersian}
\settextfont{Vazirmatn}
\setdigitfont{Vazirmatn}
\begin{document}
\begin{latin}
This is from the main file:
currfilepath: \currfilepath
currfilename: \currfilename
CurrentFile: \CurrentFile
CurrentFilePath: \CurrentFilePath
\input{dir/inside_dir}
\end{latin}
\end{document}
dir
在上述目录中创建一个目录并在其中创建以下inside_dir.tex
文件:
This is from the inside\_dir file:
currfilebase: \currfilebase
currfilepath: \currfilepath
currfilename: \currfilename
CurrentFile: \CurrentFile
CurrentFilePath: \CurrentFilePath
在主目录中使用以下命令进行编译xelatex
:
xelatex main
输出如下:
如果我没有该xepersian
包(也删除了latin
环境),输出如下所示,这是正确的行为:
知道为什么会发生这种情况以及如何解决吗?