![由于 tex 文件具有 UNC 路径而导致的编译错误](https://linux22.com/image/298507/%E7%94%B1%E4%BA%8E%20tex%20%E6%96%87%E4%BB%B6%E5%85%B7%E6%9C%89%20UNC%20%E8%B7%AF%E5%BE%84%E8%80%8C%E5%AF%BC%E8%87%B4%E7%9A%84%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF.png)
我正在尝试使用 ST3 中的 LaTeXing 包编译 LaTex 文档。如果文件位于我的本地磁盘“C:*”上,则可以正常编译,但我必须将其保存在网络驱动器“\[company_site]*”上,我认为这是 UNC 路径。尝试从网络位置编译文档时出现以下错误(个人信息已删除):
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Undefined control sequence
E: \\[company_address]\[path]\report.tex:0 Emergency stop
我猜想开头的反斜杠会导致路径被解释为命令。我该如何编辑构建命令来修复此错误?
答案1
嗯,Windows 反斜杠文件路径分隔符\
在 (La)TeX 中用于指示控制序列(又名宏)。这就是您收到错误的原因Undefined control sequence
。在这种情况下,它被\report
视为宏。
通常你需要用 Unix 文件路径分隔符来替换它/
,在 (La)Tex 下它也可以在 Windows 下使用。不确定网络路径是否有效,我从未尝试过。
您还可以尝试将文件名包装在语句中\unexpanded{ .. }
(不适用于非常旧或非标准的 LaTeX 版本),这可能会起作用或不会依赖于您用于处理文件路径的宏的底层实现。
答案2
因此我通过传递文件名作为参数而不是整个路径来修复它。