我有一些个人类和样式文件,它们经常更改,因此我将它们保存在 Git 存储库中。在基于 UNIX 的系统上,我只需在树中插入texmf
指向这些文件的符号链接即可:
ln -sf /path/to/GitRepository/someClass.cls /path/to/texmf-local/tex/latex/
这样,LaTeX 总是使用最新版本的类文件。但是,我尝试在 Windows 上使用 MiKTeX 创建类似的设置,但失败了。
使用 Windows 快捷方式在 LaTeX 编译期间会产生“找不到文件”错误:
! LaTeX Error: File `homework.cls' not found.
此外,pdflatex
完全无法理解 Cygwin 符号链接:
! LaTeX Error: Missing
\begin{document}.
See the LaTeX manual or LaTeX
Companion for explanation. Type H
<return> for immediate help. ...
l.1 ! '<'symlink'>'��.
texmf
有没有什么办法可以使用 MiKTeX实现在 Windows 上将文件符号链接到树中的效果?
Windows XP 是我最常遇到的版本。
答案1
你可以做点什么NTFS 连接点,它们似乎执行的功能与目录的符号链接基本相同。不幸的是,这对于您上面提到的精确文件路径不起作用,但您可以将整个包的连接点放在— 说到这个,您难道不应该按原样放置这些符号链接吗?(是的,我最近在看 TDS 规范……)$TEXMFROOT/tex/latex/<packagename>/
$TEXMFROOT/tex/latex/misc/
我唯一的其他建议是研究 MiKTeX 的 Cygwin 版本(嘿,如果可以在 *nix 上构建,为什么不可以在 Cygwin 上构建?),但我怀疑这可能不太方便,因为与非 Cygwin GUI 工具集成存在问题和/或 GUI 工具不支持 win32 ui 但支持 *nix 所有其他功能。当然,如果您没有使用任何 GUI 工具来运行 TeX,那么可能就不是什么大问题 ;-)。
答案2
通常,您有一个 Makefile 或类似的安装程序,用于将文件复制到正确的位置。我不知道 Windows XP 是否有任何可能的符号链接替代品;从 Vista 开始,Windows 本身就支持符号链接。