Como mudar de cor em células de markdown ipython / jupyter notebook?


107

Estou apenas procurando formatar uma string específica dentro de uma célula. Eu mudo o formato dessa célula para "Markdown", mas não tenho certeza de como mudar a cor do texto de uma única palavra.

Não quero mudar a aparência de todo o notebook (por meio de um arquivo CSS).

Respostas:


147

Você pode simplesmente usar tags HTML brutas como

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

Esteja ciente de que isso não sobreviverá à conversão do notebook em látex.

Como existem algumas reclamações sobre a reprovação da solução proposta. Eles são totalmente válidos e Scott já respondeu à pergunta com uma abordagem mais recente, ou seja, baseada em CSS. No entanto, esta resposta mostra alguma abordagem geral para usar tags html no IPython para estilizar o conteúdo da célula de marcação além dos recursos de marcação pura disponíveis.


1
@jayarjo No IPython 2.1 isso ainda funciona perfeitamente! Você pode dar mais informações sobre o que você tentou?
Jakob

Funciona para mim com Jupyter NB versão 4.3.1
Austin

65

Da mesma forma que a resposta de Jakob, você pode usar tags HTML. Apenas uma observação de que o coloratributo de font( <font color=...>) está obsoleto no HTML5 . A seguinte sintaxe seria compatível com HTML5:

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

O mesmo cuidado que Jakob fez provavelmente ainda se aplica:

Esteja ciente de que isso não sobreviverá à conversão do notebook em látex.


@jayarjo Acabei de tentar minha solução no IPython 1.1.0 e funcionou bem para mim. Você pode fornecer mais informações sobre o que experimentou e como seu ambiente está configurado? Lembre-se de alterar o tipo de célula para Markdown, o que pode ser feito no menu Célula> Tipo de célula.
Scott H

Estou tentando fazer isso no github.
Jayarjo

@jayarjo, essa questão era especificamente sobre colorir texto em notebooks IPython, que permitem marcação de texto. Para saber o comportamento das cores nos arquivos markdown do GitHub, consulte a pergunta a seguir especificamente sobre esse problema. A resposta curta é que no momento não parece haver uma maneira de especificar a cor do texto em documentos markdown do GitHub. stackoverflow.com/questions/11509830/…
Scott H

@ScottH: Não entendo o que você quer dizer com 'conversão do notebook em látex'. Consigo converter parte do texto em extensão para látex e o Jupyter torna o látex em vermelho.
Shishir Pandey

@ShishirPandey: O que eu estava me referindo com a "conversão do bloco de notas em látex" é que normalmente você pode converter um bloco de notas em LaTex (uma linguagem de composição) usando ipython nbconvert --to latex mynotebook.ipynb. Como alternativa, em um bloco de notas aberto, você pode ir para Arquivo> Baixar como ...> PDF via LaTex. Mas acredito que a especificação de cores por meio do estilo html / css pode não ser traduzida corretamente para o LaTex. Não tenho LaTex instalado no momento, então não posso verificar novamente, mas acho que é o caso.
Scott H

15

Por exemplo, se você deseja tornar a cor do "texto" verde, basta digitar:

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

11

Uma forma alternativa de fazer isso é entrar em um ambiente LaTeX dentro do notebook e alterar a cor a partir dele (o que é ótimo se você for mais fluente em LaTeX do que em HTML). Exemplo:

$\color{red}{\text{ciao}}$

seria exibido ciaoem vermelho.


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

ou

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

1

Se nenhuma das sugestões acima funcionar para você, tente usar o styleatributo.

**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>

Isso me dá o seguinte resultado

insira a descrição da imagem aqui


0

A cor do texto pode ser alterada usando,

<span style='color:green'> message/text </span>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.