Компромисс между LaTex, MathML и XHTMLMathML в приложении для iOS?

Я планирую использовать Xcode для создания приложения для iPhone, которое отображает математические уравнения, которые часто используют ученики старших классов и колледжей. Я делаю всю свою математику с Mathematica, и это позволяет мне сохранять такие уравнения в трех соответствующих форматах. (1) LaTex (.tex); (2) MathML (.mml); (3) XHTMLMathML.

В документации Mathemactica говорится, что третий формат - XHTML со встроенным MathML. Я нашел несколько примеров наэтот тест браузера дон»на моем айфоне так хорошо выглядит. Поэтому я, вероятно, не буду полностью полагаться на MathML.

Я абсолютный новичок в Xcode и трех форматах файлов, о которых я упоминал выше, но у меня есть некоторый опыт работы с ООП в C ++. Предполагая, что Mathematica может сделать хорошую работу, написав требуемые LaTeX, MathML, XHHTMLMathML, необходимые для любого уравнения, каковы компромиссы между тремя форматами файлов? Могу ли я смешивать форматы в одном приложении?

 Ted Ersek07 нояб. 2012 г., 00:09
@Brad Larson, это продолжение кэтот вопрос, Я не ищу приложение, которое позволяет пользователю печатать или редактировать математические уравнения. Мое приложение позволит пользователю искать полезные уравнения, которые они незапомнил. Это будет включать в себя квадратное уравнение, объем сферы и т. Д. Я ищу руководство о том, какой подход я должен использовать для обеспечения отображения уравнений, как они есть в учебнике.
 Brad Larson06 нояб. 2012 г., 04:21
Я написал приложение для iOS, которое выполняет набор формул и вывод LaTeX, и позвольте мне сказать вам, что это было нелегкое дело. Я немного больше расскажу о наборе текста вмой ответ здесь, но я должен сказать, что разбор LaTeX является довольно сложной задачей. С моим опытом работы с MathML было проще, но я неЯ провел с ним столько же времени, сколько и LaTeX. Написание парсера для любого из перечисленных вами форматов, а тем более механизма визуального макета, займет некоторое время.
 Greg Combs05 сент. 2013 г., 02:09
Может быть, другой вариант, так как это звучит какконечный список уравнений ... выкладывайте их в svg "изображений" и рендер с SGVKit.
 Brad Larson07 нояб. 2012 г., 00:49
Да, самой большой проблемой для меня было расположение элементов уравнения, поэтому люди в вашем предыдущем вопросе указали на мой более старый ответ. Вы могли бы немного легче провести время без необходимости их редактировать, но выНам все еще нужно будет сделать пользовательский рисунок кварца и расположение этих элементов. Иерархическая структура это то, что ябуду рекомендовать даже для статического макета уравнения. Ваш синтаксический анализатор сгенерирует эту иерархию элементов, которую вы затем сможете отобразить на экране, используя некоторую комбинацию Quartz, UIKit и CALayers.

Ответы на вопрос(1)

Я бы предложил использовать HTML. "право" Одним из способов включения математического контента является MathML, который является частью HTML5 (но об использовании TeX см. ниже).

IOS»s UIwebview основан на webkit и поэтому имеет ту же частичную поддержку MathML (хотя на iOS5 это 'значительно хуже из-за ошибки шрифта), поэтому я бы также предложил использоватьMathJax (отказ от ответственности: ячасть MathJax).

MathJax - это библиотека javascript с открытым исходным кодом, которая понимает ввод TeX и Asciimath, конвертирует один из них в MathML и отображает MathML как HTML-CSS или SVG (в любом современном браузере).

MathJax без проблем смешивает эти форматы ввода. Кроме того, он имеет лучшую поддержку MathML, чем webkit (и вы всегда можете настроить MathJax для использования встроенной поддержки MathML, если хотите - например, когда вы знаете, что ваш контент должен хорошо отображаться в нативной поддержке webkits).

Чтобы начать, вы можете взглянуть наэто приложение с открытым исходным кодом чтобы увидеть, как MathJax может быть интегрирован в приложение для iOS.

Ваш ответ на вопрос