7

Мне нужно хранить уравнения в текстовом файле, в исходном формате, который можно преобразовать во что-то, что может быть визуализировано (например, mathML). Мне нравится формат, используемый в OpenOffice. Я не хочу использовать TeX, или, по крайней мере, я не хочу брать на себя весь багаж интерпретации TeX. Какой формат использует OpenOffice Equation Editor, и существуют ли сторонние конвертеры командной строки, которые будут обрабатывать этот формат? Я не хочу запускать OpenOffice каждый раз, когда мне нужно визуализировать / преобразовать мои уравнения.

4 ответа4

4

Какой формат использует OpenOffice Equation Editor?

LibreOffice MathOpenOffice Math) оба используют MathML для представления математической разметки.

Просто сохраните любое уравнение, используя Math, и просто распакуйте его (оно упаковано в ZIP). Например, если вы создаете знаменитый [E = mc²] и сохраняете его, то в content.xml внутри вашего файла .odt вы найдете что-то вроде этого:

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

Как видите, Math сохраняет уравнение в разделе annotation собственного формата, но вы можете использовать обычный MathML в качестве входного формата.

... конвертеры командной строки, которые будут обрабатывать этот формат

Я полагаю, вы можете использовать Python API для Libre (Open) Office.

Вы можете поместить свое собственное уравнение в аннотацию (в формате StarMath). Похоже, Math строит уравнение на основе того, как оно представлено в аннотации, а остальная часть файла MathML предназначена только для представления / совместимости.

Если MathML не выглядит как созданный из StartMath, он предложит "восстановить" файл, и после этого он будет работать нормально.

2

Синтаксис в OpenOffice Math основан на eqn, который гораздо более читабелен, чем LaTeX. Если вы сохраняете уравнения в виде eqn-кода, вы можете очень быстро их визуализировать с помощью troff или конвертировать в LaTeX и обрабатывать таким образом. Математическая отрисовка Troff не так хороша, как у LaTeX, но troff гораздо более легковесен.

2

Я предполагаю, что вы хотите знать о математических командах для OpenOffice Math. Команды являются частными, и, похоже, сторонних конвертеров не существует.

Вы можете использовать текс без использования всей системы компиляции текс. Я использую библиотеку javascript mathJax для визуализации напрямую. Если вы хотите преобразовать в промежуточный формат, такой как mml, а затем выполнить рендеринг позже, вы можете использовать библиотеку, такую как SnuggleTeX для Java.

0

Формат для StarMath задокументирован в руководстве по математике LibreOffice 4.4. Приложение A содержит справочник команд.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .