Eu tenho usado o Markdown para anotações de aula, e é ótimo. Eu até faço algum pré-processamento no Markdown para poder fazer coisas como tabelas. Mas esse termo eu estou dando uma aula com muita matemática e eu adoraria poder colocar fórmulas LaTeX com Markdown, algo como isto:
The refinement relation is written $a \sqsubseteq b$, which can be
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Eu gostaria de poder pegar cada fragmento do LaTeX e pré-processá-lo em um bom arquivo PNG com suavização de borda que eu poderia incluir no meu Markdown por meio da <img>
tag HTML . Mas eu não tenho absolutamente nenhuma idéia de como pegar um fragmento do LaTeX e obter uma boa imagem que
- Tem a caixa delimitadora direita
- É antialias
Tudo o que sei fazer é obter páginas inteiras nos formatos DVI, PostScript ou PDF.
Tenho certeza de que esse problema foi solucionado, mas não consegui adivinhar os termos de pesquisa corretos. Alguma sugestão de como resolvê-lo ou onde procurar uma solução existente?
EDIT : Depois de instalar o mathTeX, posso dizer que o código é inflexível, que viola o padrão Hierarquia do sistema de arquivos do Linux e que é um trabalho amador - nos sentidos bons e ruins dessa palavra. O código é tão complexo que não há falhas óbvias. Vou procurar alternativas.
Além disso, é claro que, no fundo, as soluções são baseadas dvipng
.
UM ANO DEPOIS : Eu nunca tive a integração perfeita que esperava, mas estou mancando em um roteiro que eu mesmo planejei. Acontece que, em vez disso dvipng
, é um pouco mais fácil de usar dvips -E
e o convert
programa do ImageMagick. Os benefícios são um pouco mais de controle de coisas como dimensionamento e facilidade de criar um plano de fundo transparente. Os curiosos podem inspecionar este exemplo .
Não posso recomendar esta solução a ninguém. Mas também não posso recomendar o MathTeX.
fonte
Respostas:
Você já tentou com Pandoc ?
fonte
Talvez mathJAX seja o bilhete. Ele foi construído no jsMath , uma biblioteca JavaScript vintage de 2004.
Em 5 de fevereiro de 2015, eu mudaria para recomendar o KaTeX - a biblioteca Javascript LaTeX de maior desempenho da Khan Academy.
fonte
Adicione o seguinte código ao topo dos seus arquivos Markdown para obter suporte à renderização MathJax
e, em seguida, `$ x ^ 2 $` ou `$$ x ^ 2 $$` serão renderizados conforme o esperado :-)
Você sempre pode instalar uma versão local do MathJax se não quiser usar a distribuição online, mas pode ser necessário hospedá-la através de um servidor da web local.
ATUALIZAÇÃO : hoje em dia eu apenas uso pandoc em vez de remarcação canônica, mas o acima exposto ainda é útil.
fonte
Eu responderei sua pergunta com uma contra-pergunta ...
O que você acha do modo Org? Não é tão puro quanto o Markdown, mas é semelhante ao Markdown, e acho fácil trabalhar com ele, e permite incorporar o Latex. Cf. http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html
Postscript
Caso você não tenha analisado o modo organizacional, ele tem uma grande força como "linguagem de marcação natural" de propósito geral sobre o Markdown, ou seja, o tratamento de tabelas. A fonte:
representa exatamente o que você acha que vai ...
E o Latex é renderizado em pedaços usando o preview-latex do modo tex.
fonte
dvipng
. O problema da tabela é importante, mas eu já escrevi um pré-processador para resolvê-lo :-) +1você deve consultar multimarkdown http://fletcherpenney.net/multimarkdown/
tem suporte para metadados (cabeçalhos, palavras-chave, data, autor, etc), tabelas, asciimath, mathml, inferno, eu tenho certeza que você poderia colocar o código matemático de látex ali. é basicamente uma extensão do markdown para adicionar todos esses outros recursos muito úteis. Ele usa XSLT, para que você possa criar facilmente seus próprios estilos de LaTeX e convertê-lo diretamente. Eu uso o tempo todo e gosto muito.
Eu gostaria que a remarcação incorporasse apenas o multi-contagem decrescente. seria bem legal.
Edit : O Multimarkdown produzirá html, latex e alguns outros formatos. O html pode vir com uma folha de estilos de sua escolha. Ele também será convertido em MathML, que é exibido no Firefox e Safari / Chrome, se bem me lembro.
fonte
O RStudio possui um bom IDE gratuito que permite o Markdown e o LaTeX.
fonte
O kramdown faz exatamente o que você descreve:
https://kramdown.gettalong.org/syntax.html#math-blocks
E é muito mais confiável e bem definido que o Markdown.
fonte
Você pode achar o mimeTeX útil.
fonte
dvipng
é o cavalo de batalha. Obrigado por um ótimo ponteiro! +1Ei, essa pode não ser a solução mais ideal, mas funciona para mim. Acabei criando uma extensão Python-Markdown LaTeX.
https://github.com/justinvh/Markdown-LaTeX
Ele adiciona suporte para expressões matemáticas e de texto embutidas usando a sintaxe $ math $ e% text%. A extensão é um pré-processador que usará latex / dvipng para gerar pngs para as respectivas equações / texto e, em seguida, base64 codificará os dados para alinhar as imagens diretamente, em vez de ter imagens externas.
Os dados são então colocados em um arquivo de cache delimitado simples que codifica a expressão na representação base64. Isso limita o número de vezes que o látex realmente precisa ser executado.
Aqui está um exemplo:
A saída:
Como você pode ver, é uma saída detalhada, mas isso realmente não é um problema, pois você já está usando o Markdown :)
fonte
sim, mas você terá que cortar um pouco você mesmo. Eu escrevi um filtro que substitui as tags de látex
$\some\inline\latex$
ou$$\some\equation$$
por tags de imagem apropriadas em um script mimetex.cgi . Demorou 5 minutos.Aviso: espetacularmente feio ...
Obviamente, você deve definir o CSS apropriado para imagens .block e .inline ...
fonte
Só me deparei com essa discussão agora, então espero que meu comentário ainda seja útil. Estou envolvido com o MathJax e, pelo que entendi da sua situação, acho que seria uma boa maneira de resolver o problema: você deixa o código do LaTeX como está e deixa o MathJax renderizar a matemática ao vê-lo.
Existe alguma razão para você preferir imagens?
fonte
Que linguagem você está usando?
Se você pode usar ruby, o maruku pode ser configurado para processar matemática usando vários conversores de látex-> MathML. Instiki usa isso. Também é possível estender o PHPMarkdown para usar o itex2MML e também converter matemática. Basicamente, você insere etapas extras no mecanismo Markdown nos pontos apropriados.
Então, com ruby e PHP, isso é feito. Eu acho que essas soluções também podem ser adaptadas para outros idiomas - eu obtive a extensão itex2MML para produzir ligações perl também.
fonte
Eu estava procurando exatamente a mesma coisa quando encontrei teqhtml . Ele faz a conversão das equações $ e $$ em imagens com o bom bônus de alinhar a imagem resultante verticalmente com o texto ao redor. Não há muitos documentos, mas é bem direto.
Espero que ajude alguns futuros leitores.
fonte
Desculpe despertar um encadeamento muito antigo, mas uso o jemdoc há alguns anos e é realmente excelente.
fonte
É possível analisar o Markdown em Lua usando o código Lunamark (consulte seu repositório no Github ), o que significa que o Markdown pode ser analisado diretamente por macros no Luatex e suporta a conversão para muitos dos formatos suportados pelo Pandoc (ou seja, a biblioteca é adequada) para usar em
lualatex
,context
, Metafun, Planície luatex etexlua
scripts).O projeto foi iniciado por John MacFarlane , autor de Pandoc, e o desenvolvimento da ferramenta acompanha o Pandoc de perto e é de qualidade semelhante (ou seja, excelente).
Khaled Hosny escreveu um módulo de contexto, fornecendo conveniente suporte a macro. Resposta de Michal ao Existe algum pacote com suporte para Markdown? A pergunta fornece código que fornece suporte semelhante para o látex.
fonte