Есть ли калькулятор с LaTeX-синтаксисом? - PullRequest
40 голосов
/ 02 августа 2009

Когда я пишу математику в LaTeX, мне часто приходится выполнять простую арифметику с числами в моем источнике LaTeX, например 515.1544 + 454 = ???.

Я обычно копирую и вставляю код LaTeX в Google, чтобы получить результат, но мне все равно приходится вручную менять синтаксис, например,

\ frac {154,7} {25} - (289 - \ frac {1337} {42})

должно быть изменено на

154,7 / 25 - (289 - 1337/42)

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

EDIT: Я знаю, что сделать это совершенно невозможно (из-за проблемы остановки). Делать это для простых случаев, которые мне нужны, тривиально. \ frac, \ cdot, \ sqrt и несколько других тегов помогут. Программа может просто вернуть ошибку для случаев, которые она не понимает.

Ответы [ 17 ]

2 голосов
/ 16 августа 2009

Для расчетов с LaTeX вы можете использовать пакет CalcTeX. Этот пакет понимает элементы языка LaTeX и производит вычисления, например, ваша проблема доступна на http://sg.bzip.pl/CalcTeX/examples/frac.tgz или просто напишите пожалуйста

\ noindent Для расчета, пожалуйста, используйте следующие среды $ 515,1544 + 454 или же \ [\ frac {154.7} {25} - (289- \ frac {1337} {42.}) \] или же \ {Начинают уравнение} 154,7 / 25- (289-1337 / 42.) \ Конец {} уравнение

Для получения дополнительной информации посетите веб-сайт проекта или свяжитесь с автором этого проекта.

2 голосов
/ 02 августа 2009

Нет, потому что это вообще невозможно.

Разметка математического режима LaTeX является презентационной разметкой, и в некоторых случаях она не предоставляет достаточно информации для вычисления выражения.

Это было одной из причин, по которой была создана разметка содержимого MathML, а также почему MathML используется в Mathematica. MathML - это два языка в одном:

  • презентационная разметка
  • разметка контента

Чтобы выполнить то, что вам нужно, у вас должен быть MathML с комбинированной презентацией и разметкой содержимого (см. Спецификация MathML ).

По моему мнению, вам лучше всего использовать MathML (даже если он многословен) и при необходимости конвертировать в LaTeX. Тем не менее, мне также больше всего нравится синтаксис LaTeX, и, возможно, нам нужен компактный синтаксис для MathML (что-то похожее по духу на компактный синтаксис RelaxNG ).

1 голос
/ 13 мая 2011

Для выполнения математических операций внутри самого вашего LaTeX вы также можете взглянуть на пакет pgfmath, который является более мощным и удобным, чем пакет calc. Вы можете узнать, как использовать это из Части VI Руководства по пакетам TikZ и PGF, которое вы можете найти здесь (версия 2.10 в настоящее время): http://mirror.unl.edu/ctan/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf

1 голос
/ 02 августа 2009

IIRC Mathematica может это сделать.

1 голос
/ 18 июля 2015

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

Вы правы. LaTeX как таковой не предоставляет достаточно информации для выполнения каких-либо вычислений. Более того, он не представляет никакой информации для этого. Но никто не мешает записать в формате LaTeX текст, содержащий такую ​​информацию. Это трудный путь, потому что вам нужно построить систему правил, наложенную на то, что должно содержаться в тексте в формате латекса, чтобы он был распознаваем вашим переводчиком. А потом убедить пользователя, что надо учиться и т. Д. И т. Д. ... Самый простой способ создать логичный и интуитивно понятный калькулятор математических выражений. И выражение уже можно преобразовать латекс. Это почти как то, что вы сказали. Это реализовано в программе, на которую я указал. AnEasyCalc позволяет вводить выражение при вводе плоского текста в любом текстовом редакторе. Затем он проверяет, вычисляет и генерирует строку LateX самостоятельно. Это очень простая и быстрая работа. Просто попробуйте, и вы увидите это.

0 голосов
/ 02 ноября 2015

Это не совсем то, что вы просите, но это хороший пакет которые вы можете включить в документ LaTeX для выполнения всех видов операций, включая арифметику, исчисление и даже векторы и матрицы:

Название пакета "калькулятор"

http://mirror.unl.edu/ctan/macros/latex/contrib/calculator/calculator.pdf

0 голосов
/ 02 мая 2015

<> попробуйте программу AnEasyCalc. Это позволяет легко получить формулу латекса: http://steamandwater.od.ua/AnEasyCalc/ :)

...