latex - 如何在 LaTeX 中启用绝对路径

标签 latex

我在 ~/my_files/test.tex 下有一个文档,并希望在 test.tex 中包含一些样式信息,这些信息可以在 ~/latex/styles/info_hypersetup.tex 下找到。

当我将以下语句包含到我的 test.tex 中时:

%% setting the infos for the pdf
\include{home/helex/latex/styles/info_hypersetup.tex}

运行 pdflatex test.test 时出现以下错误:
! I can't write on file `~/latex/styles/info_hypersetup.tex.aux'.

我将权限设置为 777,但这并没有改变任何东西。如果我将 info_hypersetup.tex 放在 test.tex 所在的目录结构中,它就可以工作。但是我想将此样式信息用作我所有文档的全局设置,并且不想将其复制到每个项目中。

谢谢你的帮助。

最佳答案

~不是 Unix 中的路径,而是 Unix shell 扩展为 $HOME 值的路径。

您有几种可能的方法来解决您的问题:

  • 定义宏\homedir其值在您的 Latex 文件中编码为您家的绝对路径(即 $HOME 的内容)。不可移植:如果您将文件移动到另一台机器,它可能无法工作。
  • 使用相对路径:这就是您的解决方案所做的。如果您移动文件的子层次结构,并注意它们是自包含的,则效果很好。
  • 创建您自己的样式文件,例如 thisfilesystem.sty , 具有各种目录的硬编码值。然后,您可以在机器之间更改此值。这也可以从 Makefile 自动创建。
  • 使用\write18运行 echo $HOME并将其绑定(bind)到您\homedir宏。它是便携的,但我不建议这样做:你应该养成避免 \write18 的习惯。 ,因为这是一个可怕的安全漏洞。

  • 我推荐#2。

    关于latex - 如何在 LaTeX 中启用绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885077/

    相关文章:

    linux - sed 将 "_"、 "&"、 "$"分别替换为 "\_"、 "\&"、 "\$"

    r - 针织前导码错误导致 "pandoc document conversion failed with error 43"

    javascript - 通过 JavaScript 渲染 MathJax 效果不佳

    r - 如何在 RMarkdown 中的公式中输入波形符

    yaml - R Markdown 文档中 YAML 列表的处理不一致(与加载 LaTeX 包有关)

    url - 使用 IEEE 引用 url 时如何在 Bibtex 文件中指示 "accessed"属性?

    latex - 自 Xetex 弃用以来,使用 Pandoc 将 Markdown 转换为 PDF

    r - 假人的Makefile? Mac OS X

    windows - Windows 10 32 位 : Could not start the command 上的 Latex 错误

    image - 子图的垂直对齐 LATEX