Конвертер LaTeX в произвольную форму - PullRequest
2 голосов
/ 31 января 2011

Я хотел бы разработать конвертер, который будет принимать математику, написанную в произвольной форме, или что-то вроде Wolfram Alpha . Например: 2*x+(7+y)/(z^2) будет преобразовано в 2\cdot x+\frac{7+y}{z^{2}} (пожалуйста, игнорируйте любые синтаксические ошибки, которые я мог здесь сделать), и наоборот. Мне было интересно, существует ли библиотека LaTeX для C ++ / Java, которая анализирует и / или содержит выражение LaTeX в памяти. Если это так, пожалуйста, поделитесь.

Если нет, то как бы ты написал что-нибудь подобное? Можно ли использовать для этого обычный код Java / C ++ или использовать что-то вроде lex?

1 Ответ

0 голосов
/ 29 апреля 2011

Да, абсолютно нормально писать синтаксический анализатор для 'freeform' во Flex / Bison, на самом деле я бы рекомендовал не использовать TeX, так как этот язык не был написан для синтаксического анализа.Я даже помню, что делал именно это ('freeform' для LaTeX) в качестве упражнения с Flex и Bison и Kimwitu ++ , которые позволяли выполнять произвольные преобразования перед выводом.Обратите внимание, что вы отбросили скобки оригинальной формулы.Это может быть не то, что вы хотите в общем случае.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...