Como mostrar equações matemáticas na marcação geral do github (não no blog do github)


150

Depois de investigar, descobri que o mathjax pode fazer isso. Mas quando escrevo algum exemplo no meu arquivo de remarcação, ele não mostra as equações corretas:

Eu adicionei isso no cabeçalho do arquivo de remarcação:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

E digite a instrução mathjax:

(E = mc ^ 2) , $$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b}. $$

Mas o github não mostra nada para os símbolos matemáticos! Por favor me ajude, obrigado! Diga-me como mostrar símbolos matemáticos nas páginas de marcação do github.


2
Não resolve o problema para usuários em geral, mas esta resposta sugere um roteiro navegador que pode, pelo menos, deixá-lo ver equações: stackoverflow.com/q/11255900/180892
Jeromy Anglim

O gitlab usa o KaTeX
Foad 18/08/19

Respostas:


143

Mas o github não mostra nada para os símbolos matemáticos! por favor me ajude, obrigado!

GitHub análise remarcação é realizada pela Sundown biblioteca (ex libUpSkirt).

O lema da biblioteca é "compatível com as normas, rápido, seguro biblioteca de processamento de remarcação em C" . A palavra importante é "segura", considerando sua pergunta :).

De fato, permitir que o javascript seja executado estaria um pouco fora do contrato padrão de texto para HTML do MarkDown.

Além disso, tudo o que parece uma tag HTML é escapado ou removido.

Diga-me como mostrar símbolos matemáticos na marcação geral do github.

Sua melhor aposta seria encontrar um site semelhante ao yuml.me que possa gerar imagens dinâmicas analisando a cadeia de consulta do URL fornecida.

Atualizar

Encontrei alguns sites que fornecem esse serviço aos usuários: codedogs.com ( parece não mais suportar incorporação ) ou iTex2Img . Você pode experimentá-los. Obviamente, outros podem existir e algum Google-fu o ajudará a encontrá-los.

dada a seguinte sintaxe de remarcação

![equation](http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

exibirá a seguinte imagem

equação http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

Nota : Para que a imagem seja exibida corretamente, você deve garantir que a parte da string de consulta do URL seja codificada em porcentagem . Você pode encontrar facilmente ferramentas on-line para ajudá-lo nessa tarefa, como www.url-encode-decode.com


6
@nultoken, obrigado pela sua resposta útil. Usei o site iTex2Img que você mencionou acima e adicionei duas fórmulas à minha documentação. Eu tenho um problema que, quando abro a página de documentação no GitHub, ambas as fórmulas são mostradas da mesma forma, enquanto na verdade são diferentes. Você saberia por que isso acontece?
Sam

3
mathurl.com também é um site digno de nota se você precisar gerar a imagem.
Martin Thoma

2
Porém, isso não parece funcionar no github. A imagem não é renderizada. Alguém sabe o porquê?
OganM 23/09/2015

1
@OganM A sintaxe foi alterada. O link também foi corrigido e testado no GitHub
nulltoken

1
O site iTex2Img não parece funcionar consistentemente para mim. A imagem não parece renderizada no Github.
timbram

91

O Markdown suporta HTML embutido. O HTML embutido pode ser usado para equações embutidas rápidas e simples e, com uma ferramenta externa, renderização mais complexa.

Inline rápido e simples

Para itens em linha simples e rápidos, use códigos de entidade e comercial em HTML . Um exemplo que combina essa idéia com o texto subscrito na redução é: h θ (x) = θ o x + θ 1 x, cujo código segue.

    h<sub>&theta;</sub>(x) = &theta;<sub>o</sub> x + &theta;<sub>1</sub>x

Os códigos de entidade e comercial HTML para símbolos matemáticos comuns podem ser encontrados aqui . Códigos para letras gregas aqui .

Embora essa abordagem tenha limitações, ela funciona em praticamente todas as remarcações e não requer bibliotecas externas.

Renderização em linha escalável e complexa com LaTeX e Codecogs

Se suas necessidades forem maiores, use um renderizador externo do LaTeX como o CodeCogs. Crie uma equação com o editor CodeCogs . Escolha svg para renderização e HTML para o código de incorporação. O Svg é bem redimensionado. O HTML permite que o LaTeX seja facilmente lido quando você está olhando a fonte. Copie o código de incorporação da parte inferior da página e cole-o na sua marcação.

<img src="https://latex.codecogs.com/svg.latex?\Large&space;x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" title="\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" />

Isto combina esta resposta e esta resposta .

O suporte ao GitHub funciona apenas algumas vezes usando a sintaxe html bruta acima para o LaTeX legível para mim. Se o procedimento acima não funcionar, outra opção é escolher a renderização codificada por URL e usar essa saída para criar manualmente um link como:

\ Large x = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2a}

![\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}](https://latex.codecogs.com/svg.latex?x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D)

Isso incorpora manualmente o LaTex no texto da imagem alt e usa um URL codificado para renderização no GitHub.

Renderização em várias linhas

Se você precisar de renderização em várias linhas, confira esta resposta .


1
isso funcionou muito bem. Eu tive que converter um notebook jupyter (.ipynb) para .mde as equações eram essencialmente código látex multilinha.
Marc Maxmeister


10

Uma outra solução alternativa é usar blocos de anotações jupyter e usar o modo de remarcação nas células para renderizar equações.

Coisas básicas parecem funcionar perfeitamente, como equações centralizadas

\begin{equation}
...
\end{equation}

ou equações em linha

$ \sum_{\forall i}{x_i^{2}} $

Embora uma das funções que eu realmente queria não fosse executada no github \mbox{}, era uma chatice. Mas, apesar de tudo, essa foi a maneira mais bem-sucedida de renderizar equações no github.


3
Obrigado por esta resposta, mas existe um problema: Consegui usar o notebook jupyter no modo de remarcação e a equação parece OK. No entanto, agora como você pode fazer para transferir essa remarcação jupyter para o readme.mdGitHub?
DavidC.

1
As equações não são renderizadas diretamente nos arquivos Markdown. As equações precisariam ser imagens para aparecer no readme.md. No entanto, você sempre pode colocar o file.ipynbgithub e o github o renderiza bem.
hexicle

8

Agora é 2020, deixe-me resumir o progresso do suporte à renderização de fórmulas matemáticas dos hosts do repositório de código-fonte.

GitHub e Bitbucket

O GitHub e o Bitbucket ainda não suportam a renderização de fórmulas matemáticas, sejam os delimitadores padrão ou outros.

Bitbucket Cloud / BCLOUD-11192 - Adicione suporte ao LaTeX em documentos MarkDown (BB-12552)

GitHub / markup - Renderização de equações matemáticas

GitHub / markup - Suporte ao látex

Fórum da Comunidade GitHub - [PEDIDO DE RECURSO] LaTeX Math in Markdown

talk.commonmark.org - Fórmula matemática pode ser adicionada à remarcação

O GitHub quase não fez nenhum progresso substancial nos últimos anos.

GitLab

O GitLab já é suportado, mas não da maneira mais comum. Ele usa seu próprio delimitador.

This math is inline $`a^2+b^2=c^2`$.

This is on a separate line

```math
a^2+b^2=c^2
```

Markdown com sabor do GitLab - Math

Quem apoia os delimitadores universais?

Um analisador Markdown usado por Hugo

Outras maneiras de renderizar


6

Embora o GitHub não interprete as fórmulas MathJax, você pode gerar automaticamente um novo documento Markdown com as fórmulas substituídas por imagens.

Eu sugiro que você olhe para o aplicativo GitHub TeXify :

Aplicativo GitHub que procura em seus arquivos arquivos com extensão * .tex.md e renderiza suas expressões TeX como imagens SVG

Como funciona (do repositório de origem ):

Sempre que você pressionar o TeXify, será executado e pesquisado os arquivos * .tex.md no seu último commit. Para cada um deles, ele executará o readme2tex, que utilizará expressões LaTeX entre cifrões, as converterá em imagens SVG simples e salvará a saída em um arquivo de extensão .md (isso significa que um arquivo chamado README.tex.md será processado e a saída será salva como README.md). Depois disso, o arquivo de saída e as novas imagens SVG são confirmadas e enviadas de volta ao seu repositório.


2

Existe uma boa solução para o seu problema - use o plug-in do Github TeXify (mencionado pela resposta de Tom Hale - mas desenvolvi a resposta no link abaixo) - mais detalhes sobre esse plug-in do github e explique por que essa é uma boa abordagem que você pode encontrar nessa resposta .


2

Eu uso o processo abaixo mencionado para converter equações em remarcações. Isso funciona muito bem para mim. É muito simples!!

Digamos, eu quero representar a equação da multiplicação da matriz

Passo 1:

Obtenha o script para suas fórmulas aqui - https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/

Meu exemplo: eu queria representar Z(i,j)=X(i,k) * Y(k, j); k=1 to nem uma fórmula de soma. Fazendo referência ao site, o script necessário era =>

insira a descrição da imagem aqui

Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

Passo 2:

Use o codificador de URL - https://www.urlencoder.org/ para converter o script em um URL válido.

Meu exemplo:

insira a descrição da imagem aqui

Etapa 3:

Use este site para gerar a imagem copiando e colando a saída da Etapa 2 no parâmetro de solicitação "eq" - http://www.sciweavers.org/tex2img.php?eq=<b><i>paste-output-here</i></b>&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

- Meu exemplo:
http://www.sciweavers.org/tex2img.php?eq=Z_i_j=\sum_{k = 1} ^ {10}% 20X_i_k% 20 *% 20Y_k_j & bc = Branco & fc = Preto & im = jpg & fs = 12 & ff = arev & edit =

insira a descrição da imagem aqui

Passo 4:

Imagem de referência usando a sintaxe de remarcação - ![alt text](enter url here)

- Copie isso na remarcação e você estará pronto:

![Z(i,j)=X(i,k) * Y(k, j); k=1 to n](http://www.sciweavers.org/tex2img.php?eq=Z_i_j%3D%5Csum_%7Bi%3D1%7D%5E%7B10%7D%20X_i_k%20%2A%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

A imagem abaixo é o resultado da redução. Hurrah !!


insira a descrição da imagem aqui


quem está lendo isso, "Typora" é o meu novo aplicativo de remarcação favorito .. apenas dizendo
Dexter

0

Em relação à conversão de imagem tex →, a ferramenta LaTeXiT produz resultados de qualidade muito superior. Acredito que seja padrão na maioria das distribuições TeX, mas você certamente poderá encontrá-lo on-line se ainda não o tiver. Tudo o que você precisa fazer é colocá-lo no TeX, arrastar a imagem para a área de trabalho e depois arrastar da área de trabalho para um site de hospedagem de imagens (eu uso o imgur).


Deve-se notar que o LaTeXiT parece funcionar apenas no MacOS (embora isso não seja explicitamente declarado no site).
ƒacu.-

0

Eu usei o seguinte no cabeçalho do arquivo de marcação para baixo

<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js? 
config=TeX-MML-AM_CHTML"
</script>

Em seguida, digite a seguinte instrução mathjax
$$ x_ {1,2} = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2b}. $$
Funcionou para mim

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.