我试图使用Sphinx生成乳胶和HTML手册,但我对胶乳中的图形位置有疑问。在Sphinx中,我的数据如下:
.. figure:: _images/somepicture.png
:figwidth: 100 %
:width: 100 %
:align: center
some caption
因此,当它写入HTML时,数字会跨越页面的整个宽度。这很好。
麻烦来自乳胶,乳胶中的典型人物写道:
\begin{figure}[htbp]
\centering
\includegraphics[width=1.000\linewidth]{reset.png}
\end{figure}
问题是[htbp]放置选项。由于图像的长度为\ linewidth,因此它们非常大并最终浮动到下一页,并且文档中的文本和图形的顺序通常不会保留在pdf输出中。我想将[htbp]更改为[H]。
我找到了一个选项,可以放入名为' figure_align'的乳胶元素部分下的conf.py文件中,但是当我使用它时,它不起作用。链接位于http://sphinx.readthedocs.org/en/latest/config.html#options-for-latex-output
在我的conf.py文件中,我有以下内容:
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble':'',
#Figure placement within LaTeX paper NOT WORKING
'figure_align': 'H'
}
我的问题是,为什么这个选项不起作用,我该怎么做才能使它有效?
答案 0 :(得分:1)
修改conf.py时,您可能忘记了' H'
之后的逗号。 'figure_align': 'H',
在sphinx-doc版本1.4.6上为我工作。
'figure_align'
乳胶图浮动对齐,默认'htbp'(此处,顶部,底部,页面)。每当图像不适合当前页面时,它将“浮动”到下一页,但可能在任何其他文本之前。如果您不喜欢这种行为,请使用“H”,它将严格按照它们在源中出现的顺序禁用浮动和位置数字。 Reference Sphinx-doc latex_element
答案 1 :(得分:0)
我在这里找到了添加此功能的Pull Request:https://bitbucket.org/birkenfeld/sphinx/pull-request/227/latex-allow-alternative-float-options-for/diff
我查看了我的源代码,发现我的sphinx版本中没有包含乳胶元素' figure_align'在作家文件中。我从pull请求中添加了代码,现在可以正常工作了。
"构建配置文件中所述的版本" sphinx(找到here)的文档声明所有的latex元素选项在0.5或更高版本中都可用,看起来有些元素只在sphinx的更高版本中添加。我使用的是版本1.2.2和' figure_align"不是一个有效的乳胶元素。
简而言之,我本可以升级到sphinx的最新版本,但是我只是添加了pull请求中的代码,它现在按预期工作。