Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结

文章目录

跳到末尾

Jupyter Notebook Markdown格式下生成目录

最近在学习《Python编程从入门到实践》这本书的时候,把书里的动手试一试部分都做了,发现文件越来越长,来回翻阅很不方便,想着要是能像word里那样做一个指引的目录就好啦,可是Jupyter的Markdown不支持[@TOC]自动生成目录的语法。

于是找了一下Jupyter Notebook的markdown该怎么生成目录,也遇到了一些问题,亲测有效,分享给大家(也相当于做个备忘,万一以后换电脑呐,哈哈)

本人的操作系统是windows10 64位,Jupyter是安装Anaconda 3后自动安装的版本。

1 安装Jupyter notebook

(还没有安装好的小伙伴可以先安装一下Jupyter notebook,如果安装好了的话就跳过这一步~)
可以参照我写的博文:【软件安装】Windows10配置Anaconda环境

2 安装Nbextensions扩展程序

Jupyter Notebook Nbextensions有很多好用的扩展功能,比如补全提示(Hinterland)、格式美化(Code prettify)、自动保存(AutoSaveTime)、目录生成(Table of Contents(2))等,安装也比较简单。
Steps:
【1】打开Jupyter Notebook的Anaconda Prompt窗口或者直接在Notebook的代码行里加执行。
Anaconda Prompt窗口按照以下路径找到。(!!!同时最好以管理员身份运行:右键点击Anaconda Prompt –更多–以管理员身份运行。如果出现问题,可以试着通过这个方式解决。)
《Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结》
【2】安装Nbextensions

pip install jupyter_contrib_nbextensions
# python -m pip install jupyter_contrib_nbextensions (这个也可以)
jupyter contrib nbextension install --user --skip-running-check  

安装完,打开Jupyter后,就能看到Nbextensions的标签。
《Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结》
可根据自己需要勾选相应的功能,比如补全提示(Hinterland)。
《Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结》
点击1处可以控制显不显示目录栏,2处图标可以对目录栏进行设置。
《Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结》
1处是将目录加到文件最开始的位置,2处可以对目录标题进行修改,3处可以对侧边栏的目录标题进行修改,4可以设置侧边栏显示的方式。上边两个就是自动添加标题号以及添加进目录的显示范围。

3 可能遇到的问题

以上是安装过程中比较理想的状态,一步到位,哈哈。但是今天折腾的时候,遇到了不少问题,常见的就以下这几个吧。
【1】遇到The environment is inconsistent, please check the package plan carefully的问题,然后就一直在查询导致这个问题的包,速度炒鸡炒鸡慢。
我是在使用以下安装命令的时候,会出现这个问题。

conda install -c conda-forge jupyter_contrib_nbextensions

《Anaconda/Jupyter Notebook Markdown格式下生成目录方法和可能遇到的问题解决办法总结》
我遇到这个问题后,更换成安装步骤中的【2】中的就行:

pip install jupyter_contrib_nbextensions

然后也可能是因为镜像的问题,可参照博文Anaconda:The environment is inconsistent, please check the package plan carefully的解决办法。关于其中channel操作的疑问可参考Anaconda查看、删除、增加channel

【2】安装成功也不报错,但是常用扩展及标签不显示
方法一:
同样在Jupyter Notebook的Anaconda Prompt窗口或者直接在Notebook的代码行里加执行。

# 1、先卸载扩展包
pip uninstall jupyter_contrib_nbextensions
pip uninstall jupyter_nbextensions_configurator
# 2、再安装Nbextensions
pip install jupyter_contrib_nbextensions
# 3、安装 javascript and css files
jupyter contrib nbextension install --user
# 4、安装configurator
pip install jupyter_nbextensions_configurator

再重新启动Jupyter Notebook,就可以看到标签啦

方法二:
打开Jupyter Notebook:
可以在编辑ipynb文件界面中的Edit找到Nbextension config,进入即可配置。
或者直接打开http://localhost:8888/nbextensions?nbextension=toc2/main进行配置。

方法三:
可以尝试更换命令:

conda install -c conda-forge jupyter_contrib_nbextensions

根据提示执行相应的操作(可能更新几个包,也可能把几个包的版本回滚,反正yes就行了)。

PS:Jupter Notebook Markdown语句编辑空行

看了markdown的参考文档,对于添加空行的说明木有,顺便搬过来总结在这里。
(1)在一行内容末尾处再用两个空格符
(2)多加一行
(3)使用标记符:<br/> 要换行的内容</br>

PS:Markdown 页面内跳转

之前直接搜markdown目录生成和页面跳转,也了解了一下一般的markdown语句
两种方式:
一、自动目录生成:
[@TOC]
二、手动设锚点跳转:
1、先在要跳转到的地方先设置锚点:
比如:<h5 id="biaoqian(这个标签的名称可以任取,也可以是数字,非中文)">跳到开头(也可以为空)</h5>
2、再在要跳转的地方设置跳转链接
比如:[跳到开头(这是要显示的内容)](#biaoqian)
eg:在markdown文档的开头输入<h5 id="biaoqian"></h5>,在末尾输入[跳到开头](#biaoqian),效果如下:
跳到开头

如果是标题: [跳到Jupyter Notebook Markdown格式下生成目录](#1)

想要参考更详细的资料的小伙伴可戳:
MarkDown中实现目录页面内跳转
MarkDown技巧:两种方式实现页内跳转

    原文作者:bubblesumm
    原文地址: https://blog.csdn.net/bubblesumm/article/details/103114359
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞