如何在 Markdown 单元格 ipython/jupyter 笔记本中更改颜色?

Posted

技术标签:

【中文标题】如何在 Markdown 单元格 ipython/jupyter 笔记本中更改颜色?【英文标题】:How to change color in markdown cells ipython/jupyter notebook? 【发布时间】:2013-11-13 19:26:33 【问题描述】:

我只是想在一个单元格中格式化一个特定的字符串。我将该单元格的格式更改为“Markdown”,但我不确定如何更改单个单词的文本颜色。

我不想改变整个笔记本的外观(通过 CSS 文件)。

【问题讨论】:

【参考方案1】:

我已经在 google colabs 中测试了我在这些答案中找到的想法。

<span style='color:red'>green</span> 
$\colorgreen\textblue$ 
<font color='red'>orange</font>

其中第二个(LaTeX $…$html 字体)版本有效。样式版本不起作用。

注意:html font 元素已弃用。因此我使用的是 LaTeX 版本。

【讨论】:

【参考方案2】:
<span style='color:blue '> your message/text </span>

因此,这是一个完美的 html css 样式条目,位于 notebook ipynb 文件中。

当然你可以在这里选择你喜欢的颜色,然后选择你的文字。

【讨论】:

【参考方案3】:

文本颜色可以使用,

<span style='color:green'> message/text </span>

【讨论】:

【参考方案4】:

如果以上建议都不适合您,请尝试使用style 属性。

**Notes**
<p style="color:red;">ERROR: Setting focus didn't work for me when I tried from jupyter. However it worked well when I ran it from the terminal</p>

这给了我以下结果

【讨论】:

【参考方案5】:
<p style="font-family: Arial; font-size:1.4em;color:gold;"> Golden </p>

Text <span style="font-family: Arial; font-size:1.4em;color:gold;"> Golden </p> Text

【讨论】:

【参考方案6】:

另一种方法是在笔记本中进入 LaTeX 环境并从那里更改颜色(如果您在 LaTeX 方面比在 HTML 方面更流利,那就太好了)。示例:

$\colorred\textciao$

将以红色显示ciao

【讨论】:

值得注意的是,如果您打算将笔记本导出为 Latex 或 PDF 或使用 pandoc 等处理它,该解决方案将成功通过乳胶,而原始 HTML 解决方案更有可能要么转换为乳胶时被 pandoc 剥离或导致乳胶错误。【参考方案7】:

例如,如果要将“文本”的颜色设为绿色,只需键入:

<font color='green'>text</font>

【讨论】:

【参考方案8】:

您可以简单地使用原始 html 标签,例如

foo <font color='red'>bar</font> foo

请注意,这将无法在笔记本转换为乳胶后继续存在。

由于有人抱怨建议的解决方案被弃用。它们是完全有效的,Scott 已经用更新的方法回答了这个问题,即基于 CSS 的方法。 尽管如此,这个答案显示了一些在 IPython 中使用 html 标记来设置 markdown 单元格内容样式的通用方法,而不是可用的纯 markdown 功能。

【讨论】:

@jayarjo 在 IPython 2.1 中这仍然可以完美运行!你能提供更多关于你尝试过的信息吗? 适用于 Jupyter NB 4.3.1 版 现在不推荐使用“font”标签。您可以使用带有 style 属性的“span”标签。 此答案在执行 File > Export Notebook as... > PDF 时不起作用,因为生成的 PDF 文档以黑色显示彩色单词。有没有其他选择?【参考方案9】:

与 Jakob 的回答类似,您可以使用 HTML 标签。请注意font (&lt;font color=...&gt;) 的color 属性是deprecated in HTML5。以下语法符合 HTML5:

This <span style="color:red">word</span> is not black.

雅各布提出的同样警告可能仍然适用:

请注意,这不会在笔记本转换为 乳胶。

【讨论】:

@jayarjo 我刚刚在 IPython 1.1.0 中尝试了我的解决方案,它对我来说效果很好。您能否提供有关您尝试过的内容以及如何设置环境的更多信息?请记住将单元格类型更改为 Markdown,可以通过 Cell > Cell Type 菜单完成。 我在 github 上试试这个。 @jayarjo,这个问题专门关于 IPython 笔记本中的着色文本,它允许降价文本。有关 GitHub 降价文件中颜色的行为,请参阅以下关于该问题的问题。简短的回答是,目前似乎没有一种方法可以为 GitHub 降价文档中的文本指定颜色。 ***.com/questions/11509830/… @ScottH:我不明白您所说的“将笔记本转换为乳胶”是什么意思。我能够将 span 中的部分文本转换为乳胶,jupyter 将乳胶呈现为红色。 @ShishirPandey:我所说的“将笔记本转换为乳胶”是指您通常可以使用ipython nbconvert --to latex mynotebook.ipynb 将笔记本转换为 LaTex(一种排版语言)。或者,在打开的笔记本中,您可以通过 LaTex 转到文件 > 下载为... > PDF。但我相信通过 html/css 样式的颜色规范可能无法正确转换为 LaTex。我目前没有安装 LaTex,所以无法重新验证,但我认为是这样。

以上是关于如何在 Markdown 单元格 ipython/jupyter 笔记本中更改颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本文件 (.py) 加载/编辑/运行/保存到 IPython 笔记本单元格中?

单元格的 ipython 笔记本背景颜色

代码中的ipython笔记本清除单元格输出

如何将 iPython 分析器 %%prun -r 的结果分配给变量?

使用 ipdb 在一个单元格中调试 python 代码(jupyter 或 Ipython)

Jupyter (IPython) Notebook 单元格中有多个 Audio 对象