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
1786
Вопрос слишком общий. Но вот ваш пример и подобные математика поймет правильно. У нее есть команда 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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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