我遇到了与字体路径有关的情况。有些东西没有使用指定的路径,这导致 pdf 构建步骤出现严重故障。奇怪的是,字体似乎已被正确选择,如日志中所示。我要强调我的字体路径,../font/
因为这些standalone
文件存在于子目录中。我在包文件中使用了一个切换选项。当我从主程序运行编译时,一切都正常工作。
包路径选项开关
\def\mypath{..}
\DeclareOption{main}{%
\def\mypath{.}%
}%
文件结构
main.tex
|font/
|EurostileLTStd-condenced.otf
|EurostileLTStd-demioblique.otf
|chapters/
|standalonefile.tex
|images/
|background.png
|mypackage.sty
第 236 行,说明正确指定了字体路径
(fontspec) 'EurostileLTStd' with options [Path =
(fontspec) ../font/,Extension = {.otf},UprightFont =
(fontspec) {*-condenced},BoldFont = {*-demioblique}].
这是错误,位于日志的最后部分。
1457 行
78 fonts using 6816975 bytes
128i,15n,123p,627b,1102s stack positions out of 5000i,500n,10000p,200000b,80000s
! error: (file ) (type 0): cannot find file ''
! ==> Fatal error occurred, no output PDF file produced!
我知道发生了什么,但不知道如何解决。字体的路径没有被保留或尊重。如果我将目录的副本添加font/
到章节目录(它是standalone
文件的子目录),则编译成功,您可以在日志中看到路径已从我指定的路径更改。请记住,我没有更改两次构建之间的路径规范,并且第 236 行记录的字体加载路径没有改变。
第 236 行,请注意这些内容仍然正确读取../font/
(fontspec) 'EurostileLTStd' with options [Path =
(fontspec) ../font/,Extension = {.otf},UprightFont =
(fontspec) {*-condenced},BoldFont = {*-demioblique}].
第 1457 行,显示路径现在./font/
78 fonts using 6816975 bytes
128i,15n,123p,627b,1102s stack positions out of 5000i,500n,10000p,200000b,80000s
<./font/EurostileLTStd-demioblique.otf><./font/EurostileLTStd-condenced.otf>
Output written on main.pdf (1 page, 27356 bytes).
最后要注意的是,我使用相同的路径开关从图像目录加载图像,并且这些工作正常。
这些是用 lualatex 编译的。