使用 Sphinx 文档,如何为 HTML 构建指定 png 图像格式,为 Latex/PDF 构建指定 pdf 图像格式?
使用 sphinx 文档生成器,我尝试使用 .png 图像来构建文档的 HTML,然后我希望将 .svg 图像用于 PDF/LATEX 构建。
有人知道如何将部分“标记”为“仅 HTML 构建”和“仅 Latex 构建”吗?
干杯
Using sphinx doc generator, I am trying to use .png images for the HTML builds of the documentation, and then I want to have the .svg images used for the PDF/LATEx builds.
Anyone know how to "tag" sections as "HTML build"-only and "Latex build"-only?
Cheers
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看一下这些选项:
图像文件名通配符:
<前><代码>.. 图像:: gnu.*
摘自文档:“对于 ,则 LaTeX 构建器将选择前者,而 HTML 构建器更喜欢后者。”
仅限
指令:Take a look at these options:
Image filename wildcard:
From the documentation: "For instance, if the file name gnu.* was given and two files gnu.pdf and gnu.png existed in the source tree, the LaTeX builder would choose the former, while the HTML builder would prefer the latter."
The
only
directive:可以使用 makefile 自动构建适当的输出格式。
演示将 Sphinx 与 SVG 结合使用的类似过程的教程还可以使用 LaTeX PDF 输出。
在 .rst 源中使用图像文件名通配符选项。
<前><代码>.. image:: my_image.*
使用 Inkscape 在构建时将源图像转换为 PDF 和 PNG。您可以通过将以下代码添加到 Makefile 中,在构建时自动执行此操作:
最后,更新
clean
、latex
和latexpdf
规则以依赖于各自的图像目标:<前><代码>...
干净:干净的图像
...
html: 图像-png
...
乳胶:图像-pdf
...
Latexpdf:图像-pdf
...
现在,您可以通过输入
make images
来构建图像,并使用make clean-images
清理它们。 和make Latexpdf
将自动确保您的图像是最新的。一个问题是 Sphinx 默认在 HTML 输出中更喜欢 SVG 而不是 PNG。您可以通过覆盖
conf.py
文件中的首选项来解决此问题。导入后,在
conf.py
文件顶部附近添加以下行。It is possible to use the makefile to automatically build the appropriate output formats.
A tutorial demonstrating a similar process for using Sphinx with SVG and LaTeX PDF output is also available.
Use the image filename wildcard option in your .rst source.
Use Inkscape to convert your source images into PDFs and PNGs at build-time. You can do this automatically at build-time by adding the following code to your Makefile:
Finally, update the
clean
,latex
andlatexpdf
rules to have a dependency on the respective image targets:Now you can build your images by typing
make images
and clean them withmake clean-images
. Usingmake html
,make latex
andmake latexpdf
will automatically make sure your images are up-to-date.One problem is that Sphinx defaults to preferring SVG over PNG in HTML output. You can fix this by overriding preferece in your
conf.py
file.Add the following lines near the top of your
conf.py
file, after imports.