我需要做什么来为Sphinx“注册”'latexpdf'?

时间:2014-01-29 19:12:45

标签: latex python-sphinx pdflatex

当我使用'latexpdf'运行Sphinx时,即使我在我的机器上安装了完整的TeX,我也会收到错误:

  

Sphinx错误:未注册构建器名称latexpdf

“注册”latexpdf需要做些什么?

4 个答案:

答案 0 :(得分:4)

latexpdf 不是Sphinx构建器;它是sphinx-quickstart创建的Makefile中目标的名称。此目标使用 latex 构建器。

执行sphinx-build -b latexpdf . _build会在问题中产生错误(如预期的那样)。

如果您运行make latexpdf,则可以正常运行。


在评论中提到了PyCharm,问题似乎源于该计划。当latexpdf配置为“命令”(Sphinx task):

时,将运行以下命令
sphinx_runner.py -b latexpdf <indir> <outdir> 

sphinx_runner.py脚本与sphinx_buildsphinx.cmdline.main()的包装器)非常相似。由于-b选项应该提供实际构建器的名称,因此存在错误。

答案 1 :(得分:3)

现在让Pycharm 2016.3根据以下信息生成pdf表格:https://www.quora.com/How-to-create-a-PDF-out-of-Sphinx-documentation-tool

安装rst2pdf:

pip install rst2pdf

编辑新的Python Docs sphinx配置并选择pdf作为命令。设置输入目录和目录以保存.pdf作为输出。

编辑conf.py文件并添加提及pdf的两行:

 extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.todo',
    'sphinx.ext.coverage',
    'sphinx.ext.viewcode',
    'rst2pdf.pdfbuilder'
]

pdf_documents = [('index', u'documentation', My Docs', u'Me'), ]

现在运行配置,你应该在输出目录中得到一个名为documentation.pdf的文件。

答案 2 :(得分:0)

使用-M代替-b。这与sphinx-build类似地调用make latexpdf,例如:

sphinx-build -M latexpdf . _build

有关详细信息,请参阅@ mzjn的答案。

答案 3 :(得分:0)

如果您对纯Python解决方案感兴趣,以下对我有用:

> df %>%
    group_by(id) %>%
    summarize_all(a = nrow(. %>% filter(. == "a"),
                  b = nrow(. %>% filter(. == "b"),
                  x = nrow(!is.na(.))
Error: Can't create call to non-callable object
Call `rlang::last_error()` to see a backtrace

事实上,我做了一个complete Python3 script,给出了一些方便的参数,并以RTD主题从头开始将整个软件包文档生成为HTML和PDF。如果您希望它在不同的OS或Python解释器上运行(在我的情况下,我想在Blender中运行它)或使其适应您的需求,它可能非常方便。由于某些变量被硬编码到var a b x ------------- col1 1 1 2 col2 0 2 2 col3 1 0 1 中,因此它仍有一些脏点。让我知道是否有任何问题!

它是这样的:

干杯,
安德烈斯