当我将笔记本转换为latex (然后是PDF)时,图像将移动到页面底部。我认为在latex中,可以使用'h‘位置说明符将其保持在当前位置:
\begin{figure}[placement specifier]
... figure contents ...
\end{figure}是否可以将nbconvert配置为使用该值作为默认值,这样之后我就不需要手动处理了?
参考:https://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions
发布于 2018-12-11 02:41:38
我认为您可以通过在模板中重新定义适当的块来获得您想要的内容。
在document_contents.tplx中,注意块data_png、data_jpg等都调用相同的宏draw_figure。
我做了一些类似的事情,通过在我的自定义模板中重新定义图块来调用不同的宏draw_figure_2,这也是我在自定义模板中定义的。
添加像这样的东西
((*- block data_png -*))((( draw_figure_2(output.metadata.filenames['image/png']) )))((*- endblock -*))
((*- block data_jpg -*))((( draw_figure_2(output.metadata.filenames['image/jpeg']) )))((*- endblock -*))
((*- block data_svg -*))((( draw_figure_2(output.metadata.filenames['image/svg+xml']) )))((*- endblock -*))
((*- block data_pdf -*))((( draw_figure_2(output.metadata.filenames['application/pdf']) )))((*- endblock -*))
% copied macro draw_figure and made some naive changes; modify as needed
((* macro draw_figure_2(filename) -*))
((* set filename = filename | posix_path *))
((*- block figure scoped -*))
\begin{figure}[h] % or whatever you want
\begin{center}
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{((( filename )))}
\end{center}
\end{figure}
{ \hspace*{\fill} \\}
((*- endblock figure -*))
((*- endmacro *))https://stackoverflow.com/questions/53644067
复制相似问题