嵌套文件如何推断其路径?第二部分:从叶子到根的另一个分支

嵌套文件如何推断其路径?第二部分:从叶子到根的另一个分支

以下问题与这个但代表了一种更接近我现实生活中的用例的场景,其中后代引用它们的祖先,而不是反之亦然,并且主文件是文件树的叶子之一,而不是根。


我已经设置了以下文件树。(它与我在另一篇文章中描述的类似,但添加了分支Sibling。)

. [D] (working directory)
Test.tex [F]
   SubFolder [D]
      SubTest.tex [F]
      SubSubFolder [D]
         SubSubTest.tex [F]
   SiblingFolder [D]
      SiblingTest.tex [F]

为这个文件结构提供现实背景:工作目录是我本学年选修的所有课程的容器。每个子文件夹都是不同课程的容器。每个子子文件夹都是相关课程中不同家庭作业或项目的容器。同级文件夹用于字体、图形、参考书目和我希望普遍可用的其他文件。当我编写家庭作业问题时,我会从家庭作业问题的目录中进行,而不是从文件树的根目录进行。

回到当前的问题。我希望能够从以下位置开始将文件树从一个级别导航到另一个级别SubSubTest.tex。要生成的 PDF 文件的理想显示pdflatex SubSubTest应为:

[../../]
[../]
[]
[../../SiblingFolder/]

一次尝试

  • SubSubTest.tex

    \documentclass{article}
    \usepackage{import}
    \import{..}{SubTest}
    \newcommand{\SubSubDir}{\hspace{0pt}}
    \begin{document}
    [\Dir]\par
    [\SubDir]\par
    [\SubSubDir]\par
    [\SiblingDir]
    \end{document}
    
  • SubTest.tex

    \usepackage{import}
    \import{..}{Test}
    \newcommand{\SubDir}{../}
    
  • Test.tex

    \import{SiblingFolder}{SiblingTest}
    \newcommand{\Dir}{../../}
    
  • SiblingTest.tex

    \newcommand{\SiblingDir}{../../SiblingFolder/}
    

执行

> cd ~/子文件夹/子子文件夹
> pdflatex 子子文件夹

导致编译失败,并显示以下错误消息。

! LaTeX Error: File `SiblingFolder/SiblingTest.tex' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: tex)

Enter file name: 
! Emergency stop.
<read *> 
         
l.1 \import{SiblingFolder}{SiblingTest}
                                       ^^M
End of file on the terminal!

该问题如何解决?

答案1

解决方案是替换所有出现的\import\subimport

这个想法是由于用户 202729 对我的原始帖子的评论

相关内容