Jupyter Notebook中编辑代码和markdown单元格时的不同字体设置

6
在Jupyter笔记本中,我希望在编辑markdown单元时使用常规的Ubuntu字体,而在代码单元中使用UbuntuMono。我可以通过编辑“.jupyter/custom/custom.css”文件来同时更改这两种单元格类型的字体,如下所示:
.CodeMirror pre {
    font-family: "Ubuntu Mono", monospace;
    font-size: 14pt;
}

我还可以更改markdown代码单元格中标题的格式:

.cm-header {
    font-size: 110%;
    font-family: "Ubuntu";
}

以及在执行Markdown单元格后呈现文本的外观:

div.text_cell_render {
    font-family: "Ubuntu";
    font-size: 12pt;
}

然而,我不知道在编辑模式下的markdown单元格中应该使用哪些CSS类来区分代码单元格和段落/正文文本。我尝试了Firefox中的对象检查器,但是两种单元格类型的输入文本都显示相同的span标签和CSS类。我尝试了此处列出的许多组合,但似乎我找不到正确的组合,有什么想法吗?


我不懂Javascript,所以这个想法可能不太可行,但是:CodeMirror知道区别,你是否需要定制CodeMirror而不是Jupyter? - gboffi
很抱歉,我也不懂JavaScript...你怎么知道CodeMirror可以区分它们,因为它们被执行的方式不同?我也在Jupyter Notebook问题列表上问过这个问题,但还没有回复。 - joelostblom
@gboffi 刚收到 GitHub 上的回复。我在下面发布了解决方案,运行良好! - joelostblom
1个回答

4

我在这里的问题评论中收到了来自Jupyter Notebook问题链接的回复。可以组合使用CSS选择器,因此以下解决了我的问题:

.text_cell .CodeMirror pre {
    font-family: "Ubuntu";
    font-size: 12pt;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接