虽然这可以解决的最终问题是TeX(为PDF输出安装新字体),但我正在寻找的这个特殊解决方案是Sphinx问题。 Sphinx在制作PDF时使用标准的LaTeX,到目前为止还不错,但是我需要安装一个新的字体并尝试过失败。 我知道使用XeLateX这是一个更容易的过程,所以想知道是否有扩展或某种方式来配置Sphinx以使其使用XeLaTeX构建器。
答案 0 :(得分:2)
我认为这可以归结为在sphinx开始工作之前接受一些LaTeX指令。
在index.rst
开始时,您可以添加一个“原始”条目,该条目已逐字传递给latex:
.. raw:: latex
\setyournicefontorwhatever(beautiful.ttf)
这有助于获取正确的字体吗?我自己使用原始乳胶条目来删除部分文档中的部分编号(\setcounter{secnumdepth}{-1}
在类似的“原始”条目中)。
此外,Sphinx documentation on build options有一些你可以试试的东西。最有希望看起来是documentclass
设置中的latex_documents
项。
答案 1 :(得分:0)
可以通过修改make文件以使用xelatex来允许sphinx使用xelatex构建器,或者只需在两个命令中构建doc .... make latex,然后xelatex yourdoc.tex。然而,重要的是禁用许多软件包,包括:fontenc,inputenc和babel,因为这些eithier根本不起作用或者可能在将来引起问题。我想如果你愿意,可能会有leiu of babel的替代套餐。另外xelatex已经允许inputenc [utf8]通常会考虑的一些(但不是全部)字符。
禁用这些功能可以在conf.py文件中完成,此文档显示了如何在" Latex"选项中执行此操作的一个很好的示例:
答案 2 :(得分:0)
使用xelatex时,我将以下内容添加到conf.py中:
latex_elements = {
# Additional stuff for the LaTeX preamble.
'preamble': ''' \usepackage{fontspec} \setmainfont{Times New Roman}
''',
'inputenc': '',
'fncychap': '',
'utf8extra': '',
'times': '',
'babel': '\usepackage{polyglossia}',
'cmap': '',
'fontenc': '',
'releasename': '', }
您必须关闭许多默认的乳胶软件包,因为xelatex使用其他软件包或内置了该功能。