currfile 和 XePersian 包的问题

currfile 和 XePersian 包的问题

我遇到了一个问题,使用该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环境),输出如下所示,这是正确的行为:

在此处输入图片描述

知道为什么会发生这种情况以及如何解决吗?

相关内容