使用 Curve 包时在 Rubric 中使用 \input

使用 Curve 包时在 Rubric 中使用 \input

我有一份用 ModernCV 编写的简历,想将其打包到 Curve 中,主要是为了看看这两种格式有何不同。在阅读了 Curve 手册后,将\input我现有的内容放入 Curve 的评分标准中似乎是最简单的方法。但我一直Enter a filename :

这是我的结构

resume.tex          This calls a rubric in a subfolder
rubrics/rubric.tex  This calls a TeX file in the root folder
text.tex            This is the content I wish to include within the rubric

每个文件都有以下内容

  • Resume.tex

    \documentclass{curve}
    
    \leftheader{Left}
    \rightheader{right}
    
    \begin{document}
    \makeheaders
    \makerubric{rubrics/rubric}
    \end{document}
    
  • rubrics/rubric.tex

    \begin{rubric}{RUBRIC}
    \text{\input{../text}}
    \end{rubric
    
  • text.tex

    This is some text
    

看来 LaTeX 无法找到该text.tex文件。我看到类中重新定义了输入Curve.cls,我认为这会干扰其\input工作方式。尝试从包中使用\import/也无法按预期工作。\subimportimport

答案1

在这种情况下,我忘记了\input相对于主文件根目录的工作resume.tex。因此,我必须相对于此路径执行所有包含。

root/
  resume.tex        
  rubrics/
    rubric.tex   
  text.tex       Accessed by `text.tex` and file does exist
text.tex         Accessed by `../text.tex` but the file does not exist      

这是上面给出的文件结构。相对路径../text.tex不会转换为相对于root/rubric文件夹的绝对路径,而是从文件夹开始。实际上,访问的是与root根文件夹处于同一级别的文件。应该使用参数,这样示例就可以编译了。text.tex\input\input{../text.tex}\input{text.tex}

请注意,使用\subimport也会失败,因为 Curve 使用了\inputsrubrics 而不是子导入它们,因此相对路径到绝对路径的转换失败。

笔记:我在这里提供了自己的答案,因为我已经找到了解决方法,但我仍然很好奇如何更正式地解决这个问题。有人要求 Curve 的作者依赖\subimport而不是修改它\input,还是自己修补它来处理相对导入(我尝试了后者,但没有成功,当然我还没有完全明白我哪里做错了)?我在使用\input相对路径之前也遇到过类似的问题,现在几乎只使用相对路径\subimport,但我很好奇其他人是如何解决这个问题的。

相关内容