我在 ~/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/