将ipython笔记本转换为html或pdf章节

bookbook2的Python项目详细描述


书本2

lifecycleBuild Status

bookbook2将ipython笔记本转换为html或pdf章节,从bookbook包初始化, 保存笔记本内部和笔记本之间的交叉引用。

此代码处于早期开发阶段,因此请自行承担使用风险。

安装

bookbook2需要python 3。

使用pip从pypi(https://pypi.org/project/bookbook2/)安装:

pip install bookbook2

从github安装,使用:

git clone https://github.com/ShixiangWang/bookbook2
cd bookbook2
pip install .
# or
pip install -r requirements.txt

运行账簿

Bookbook需要一个笔记本的目录,其中的名字表示它们的顺序。明确地, 文件名的格式必须为x-y.ipynb,其中通常x是一个数字 指示顺序和y是章节标题;例如: 01-introduction.ipynb

运行bookbook

python3 -m bookbook2.html           # HTML output under html/
python3 -m bookbook2.latex [--pdf]  # Latex/PDF output as combined.(tex|pdf)

--help添加到任一命令以获取更多选项。

章节

每个顶层标题(# xyz在markdown中)都将转换为顶层 乳胶部分(如果使用book或report document类,则为一章)。下层 头(#####等)被转换为子节、子节等。 还将为每个设备插入乳胶标签。每个笔记本的第一个单元格 必须以顶级标题开头

交叉引用

标记引用将自动转换为乳胶引用。例如, 如果标记包含超链接[02-foo](02-foo.ipynb),则02-foo.ipynb 同一目录下的笔记本,链接将显示为Chapter \ref{sec:02-foo}。 标签\label{sec:02-foo}将插入到笔记本的开头, 所以当乳胶被编译成pdf时,它将显示为Chapter 2

对笔记本中各部分的引用与此类似。如果笔记本包含 (在标记中)笔记本中从顶层开始的节标题## bar 标题# foo,则标记超链接[foo](foo.ipynb#bar)将为 转换为乳胶引用Section \ref{bar},编译为pdf时 呈现为类似Section 2.1的内容。

乳胶格式化

Bookbook使用了nbconvert。乳胶输出的自定义格式 可以通过使用模板来完成,方法与 自己使用nbconvert。有关详细信息,请参见the nbconvert documentation

使用Bookbook的项目示例

  • Book on Riemann solvers(正在开发中),作者是david ketcheson、mauricio del razo和randall levequee。此示例使用自定义nbconvert模板,并演示如何在运行Bookbook之前自动执行笔记本时存储没有输出(用于版本控制)的笔记本,以便PDF和HTML版本包含输出。

相关工具

如果您正在用Jupyter笔记本编写一本书,您可能还会发现这些笔记本非常有用:

  • nbopen:从命令行打开笔记本,而不启动新的笔记本服务器。我们发现在主目录中启动一个服务器很有用;然后nbopen将使用它打开每个笔记本。
  • nbdime:笔记本电脑的diff/merge;包括终端或图形输出。
  • nbstripout:在提交笔记本之前从笔记本中删除输出。

许可证

麻省理工学院石翔望,Thomas Kluyver

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?