我使用 nbconvert 从 Jupyter Notebook 生成了 latex 文件。我需要在所有 Verbatim (fancyvrb) 环境中更改字体大小。我试过了,但不知道有什么效果。
以下是 tex 文件中的所有设置http://pastebin.com/ThaeQEgc。我不知道把 放哪儿fontsize=\scriptsize
。
谢谢。
答案1
如果你使用 nbconvert,最容易配置 tex 输出的方法是将.ipynb
文件转换为文件.tex
,然后在转换为 pdf 之前直接对其进行编辑。
然而,这需要大量的手工工作,而且不容易复制。没有人喜欢这样。
稍微复杂的解决方案是使用自定义模板文件并将其用于导出(通过使用标志--template=my_template_file.tplx
)。
编辑:我能想到的最快方法有 6 个步骤:
- 复制
document_contents.tplx
到新文件并更改调用\begin{Verbatim}
以包含您想要的任何选项。另存为单独的文件(例如my_document_contents.tplx
)。 - 复制
base.tplx
到新文件并扩展它my_document_contents.tplx
而不是document_contents.tplx
。另存为单独的文件(例如my_base.tplx
) - 复制
style_ipython.tplx
到新文件。将其扩展的文件更改为my_base.tplx
,更改调用\begin{Verbatim}
以包含您想要的任何选项。另存为单独的文件(例如my_style_ipython.tplx
)。 - 复制
article.tplx
到一个新文件并将其扩展my_style_ipython.tplx
。保存为单独的文件(例如my_article.tplx
)。 - 确保所有这些模板都在您的模板路径上...(这是一个更复杂的话题......最简单的解决方案是将它们放在您用于调用命令的同一目录中
jupyter nbconvert
)。 - 使用 调用 nbconvert
--template my_article.tplx
。
关于当前模板依赖/扩展结构的注释:
nbconvert 依赖于基于 Jinja 的模板和模板继承。当涉及到 LaTeX 模板时,这会产生一些缺点(这在很大程度上是它无法更直接地进行配置的原因……正在努力解决这个问题 :))。
首先,看一下base.tplx
查看当前前导码的创建位置。
您可能需要添加类似document_contents.tplx
为了确保您的输出正确显示。base.tplx
扩展这一点,所以您可能不需要改变任何东西……只是要注意,对于您的特定用例来说,这可能是必要的。
单元格将根据所选的单元格样式进行格式化(默认为style_ipython.tplx
),它直接扩展了base.tplx
模板。
最后,它并没有发生太多事情,但是如果你使用LatexExporter
(如果你使用直接到 pdf 转换,我猜你是这样的)你正在通过article.tplx
。关于这一点最有用的部分是它给出了一个示例,说明如何动态确定从哪些其他模板继承。
答案2
如果你想编辑单个生成的.tex
文件,你可以在前言中添加
\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\footnotesize}
全局更改所有 Verbatim 环境的字体大小。