我有一份用 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
/也无法按预期工作。\subimport
import
答案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 使用了\inputs
rubrics 而不是子导入它们,因此相对路径到绝对路径的转换失败。
笔记:我在这里提供了自己的答案,因为我已经找到了解决方法,但我仍然很好奇如何更正式地解决这个问题。有人要求 Curve 的作者依赖\subimport
而不是修改它\input
,还是自己修补它来处理相对导入(我尝试了后者,但没有成功,当然我还没有完全明白我哪里做错了)?我在使用\input
相对路径之前也遇到过类似的问题,现在几乎只使用相对路径\subimport
,但我很好奇其他人是如何解决这个问题的。