2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Преобразование в latex
Сообщение08.02.2017, 22:11 


08/02/17
2
Здравствуйте! Такой вопрос: существует ли какой-то софт для преобразования математических формул в 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 
Заслуженный участник


28/04/09
1933
vasya007 в сообщении #1190902 писал(а):
имеем формулу
В каком формате?

 Профиль  
                  
 
 Re: Преобразование в latex
Сообщение08.02.2017, 22:25 


08/02/17
2
EtCetera в сообщении #1190903 писал(а):
vasya007 в сообщении #1190902 писал(а):
имеем формулу
В каком формате?

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

 Профиль  
                  
 
 Re: Преобразование в latex
Сообщение09.02.2017, 12:30 
Заслуженный участник


28/04/09
1933
Это не ответ.

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

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

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

 Профиль  
                  
 
 Re: Преобразование в latex
Сообщение09.02.2017, 12:58 
Заслуженный участник


25/02/11
1803
Вопрос слишком общий. Но вот ваш пример и подобные математика поймет правильно. У нее есть команда 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 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group