尝试调试(从 1.7 更新至 sphinx 1.8.5 之后)由 sphinx 生成的文档构建,我们在生成的 LaTeX 文件中看到对 的\cite
调用,其中带有一个涉及文件路径的参数,例如
\cite{../foo/bar:baz}
,其中baz
是实际的引用标签。
这是什么意思?在我使用 LaTeX 的 25 年多时间里,我从未见过这样的引用。事实上,我们thebibliography
在文件中有../foo/bar.tex
,但它应该可以工作吗?或者这是 sphinx LaTeX 支持中的一个错误?
答案1
对于 latex 来说.
,:
它们/
只是普通的 catcode 12 个非字母字符,因此
\cite{../foo/bar:baz}
是一个很好的呼吁,\cite
没有比
\cite{zzzzzz}
据推测 tex 生成器正在使用文件名作为某种设备来生成唯一的引用键,但 latex 不需要知道这一点。