Formatos de equação matemática

7

Eu preciso armazenar equações em um arquivo de texto, em um formato de origem que possa ser convertido em algo que possa ser renderizado (por exemplo, mathML). Eu gosto do formato usado no OpenOffice. Eu não quero usar o TeX, ou pelo menos não quero pegar toda a bagagem de interpretar o TeX. Que formato utiliza o OpenOffice Equation Editor e existem conversores de linha de comando de terceiros que processarão esse formato? Eu não quero ter que rodar o OpenOffice toda vez que eu precisar renderizar / converter minhas equações.

    
por Jason S 30.07.2009 / 17:48

4 respostas

4

What format does OpenOffice Equation Editor use?

LibreOffice Math (e OpenOffice Math ) usam MathML para representar a marcação matemática.

Salve qualquer equação usando o Math e simplesmente descompacte-o (ele é ZIP embalado). Por exemplo, se você criar um famoso [E = mc²] e salvá-lo, em content.xml dentro do seu arquivo .odt , você encontrará algo assim:

<?xml version="1.0" encoding="UTF-8"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
    <semantics>
        <mfenced open="[" close="]"><mrow>
            <mi>E</mi><mo stretchy="false">=</mo><msup><mi mathvariant="italic">mc</mi><mn>2</mn></msup>
        </mrow></mfenced>
        <annotation encoding="StarMath 5.0">left[ E=mc^2 right]</annotation>
    </semantics>
</math>

Como você pode ver, o Math armazena a equação no formato próprio annotation section, mas você pode usar MathML simples como formato de entrada.

… command-line converters that will process this format

Acredito que você pode usar a API do Python para o Libre (Open) Office.

Você pode colocar sua própria equação em anotações (no formato da StarMath). Parece que o Math constrói a equação com base em como ela é representada na anotação e o restante do arquivo MathML é apenas para representação / compatibilidade.

Se o MathML não parecer feito com o StartMath, ele proporá "reparar"  o arquivo e ele vai funcionar muito bem depois disso.

    
por 17.05.2011 / 22:35
2

Suponho que você queira saber sobre os comandos matemáticos do OpenOffice Math. Os comandos são proprietários e não parece haver conversores de terceiros.

Você pode usar tex sem puxar todo o sistema de compilação tex. Eu uso a biblioteca javascript mathJax para renderizar diretamente. Se você deseja converter para um formato intermediário, como mml e depois processar mais tarde, você pode usar uma biblioteca como SnuggleTeX for Java .

    
por 18.05.2011 / 12:55
2

A sintaxe no OpenOffice Math é baseada em eqn , que é muito mais legível que o LaTeX. Se você armazenar equações como código eqn, poderá renderizá-las rapidamente com troff ou convert para LaTeX e renderizar dessa maneira. O processamento de matemática de Troff não é tão bom quanto o de LaTeX, mas o troff é muito mais leve.

    
por 07.01.2012 / 00:29
0

O formato da StarMath está documentado no Guia de Matemática do LibreOffice 4.4 . O Apêndice A contém a Referência de Comandos.

    
por 15.06.2015 / 09:41