将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 Selenium Web驱动程序。负载策略不稳定   JAVAsql。SQLException:没有合适的驱动程序无法创建“oracle”类的JDBC驱动程序。jdbc。驾驶员用于连接URL的OracleDriver   java谷歌地图“优化路径点”如何解决旅行推销员的问题?   java这段代码可能会造成潜在的内存泄漏吗?   java更改JCombobox的高度   java如何清除jtable中的数据   JavaHadoop:错误安全性。UserGroupInformation:MapReduce程序中的PriviledgedActionException   java如何将sonarlint添加到gradle任务中?   性能为什么Java排序优于原语计数排序   java Spring属性PlaceHolderConfigure从数据库加载   java从泛型获取类不起作用   java Spring@Transactional传播属性   java试图拥有主菜单和子菜单类   XSL的java后处理步骤   java第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心   switch语句在Java中的下一个出发点   java 安卓如何在OnBackpress()时设置viewpager的特定项目位置?