2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Преобразование в latex
Сообщение08.02.2017, 22:11 
Здравствуйте! Такой вопрос: существует ли какой-то софт для преобразования математических формул в LATEX. Например, имеем формулу: (x^2+x^4)/x^3+(x^3+x^7/x^4), а нужно, чтобы она автоматически преобразовывалась в
Используется синтаксис LaTeX
\frac{x^2+x^4}{x^3}+(x^3+\frac{x^7}{x^4})
. И чтобы любая формула таким образом преобразовывалась. Если нет такого софта, то может кто знает, как самому написать подобное.

 
 
 
 Re: Преобразование в latex
Сообщение08.02.2017, 22:16 
vasya007 в сообщении #1190902 писал(а):
имеем формулу
В каком формате?

 
 
 
 Re: Преобразование в latex
Сообщение08.02.2017, 22:25 
EtCetera в сообщении #1190903 писал(а):
vasya007 в сообщении #1190902 писал(а):
имеем формулу
В каком формате?

Обычный текст, если точнее, строка PHP.

 
 
 
 Re: Преобразование в latex
Сообщение09.02.2017, 12:30 
Это не ответ.

Необходим четко описанный формат формул (например, в форме Бэкуса-Наура).

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

Если транслятор планируется написать на PHP, можно воспользоваться ANTLR v3 (он в каком-то виде поддерживает PHP в качестве целевого языка).

 
 
 
 Re: Преобразование в latex
Сообщение09.02.2017, 12:58 
Вопрос слишком общий. Но вот ваш пример и подобные математика поймет правильно. У нее есть команда TeXForm которая корректные выражения (на языке Wolfram) преобразует в $\TeX$ формат. Конкретно для примера, чтобы дробь не сократилась, пришлось поставить команду HoldForm:
Код:
string = "(x^2+x^4)/x^3+(x^3+x^7/x^4)";
TeXForm[ToExpression["HoldForm[" <> string <> "]"]]

результат:

Используется синтаксис LaTeX
\frac{x^2+x^4}{x^3}+\left(x^3+\frac{x^7}{x^4}\right)

Если допускать сокращения и упрощения, которые математика делает автоматически, можно было бы обойтись командой TeXForm[ToExpression[string]]. Получится

Используется синтаксис LaTeX
2 x^3+\frac{x^4+x^2}{x^3}

Также у математики есть какие-то интерфейсы работы с другими программами, так что ее можно вызывать из них. Что-то подобное есть и у Maple.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group