LINUX.ORG.RU

расчеты в LaTeX

 


0

2

Как правильнее и лаконичнее всего проводить расчеты а LaTeX?

Хочу что-то вроде матпакета, но чтобы результаты сразу выводились в документ.

Deleted

Смотри в сторону R и пакета Sweave

Совсем немножко есть тут в конце главы «R — данные и графики».

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 3)

Да, в самом LaTeX можно вычисления, но IMHO не стоит.

Evgueni ★★★★★
()

Jupyter тебе в руки. Поработал, а результат сохранил как HTML-документ.

В LaTeX не стоит это делать. Он не для этого создан.

Если не для публикации, то отчёты с математическими формулами, картинками и исходным кодом очень классно генерирует Pandoc, только добавь стили (пример результата)

AlexVR ★★★★★
()

Расскажите, зачем все хотят проводить вычисления в LaTeX? Я не критикую, я хочу понять юзкейс.

По делу - Maxima умеет экспорт в LaTeX. Да и вообще я думаю, что экспортировать в него умеет куча софта для расчетов.

Если бы мне нужно было генерировать много документов с расчетами по часто меняющимся данным, я бы написал небольшой скрипт, который проводит рассветы, по шаблону генерирует tex файл и запускает latexmk.

aquadon ★★★★★
()
Ответ на: комментарий от AlexVR

Не рассказывая для чего создан LaTeX, этот юпитер жалкая замена отсутствующего в питоне репла. А в LaTeX полноценное литературное программирование в виде назнанного Sweave() и не названного knitr.

psv1967 ★★★★★
()
Ответ на: комментарий от aquadon

Расскажите, зачем все хотят

Это называет «Литературное программирование». А в LaTeX этот вариант получил распространения из-за упора на часть автогенерации документации, что обеспечивает устойчивый и вомпроизводимый процесс работы над чем то (данными или вычислениями).

psv1967 ★★★★★
()
Ответ на: комментарий от aquadon

Скажем, надо тебе сложное ТЗ составить, где используются какие-то цифры, от которых что-то в последствии зависит. Если их «жестко» привязать, то правка будет сложной. А если определить макросом и считать при компиляции, дело облегчится.

anonymous
()
Ответ на: комментарий от psv1967

Для начала, каждый пользуется теми инструментами к которым он привык и которые он знает. Мне проще набрать ipython notebook и помучить картинку используя OpenCV, а кто-то на это покрутит пальцем у виска.

Ну а термин «полноценное литературное программирование» мне вообще не понятен. И какие бы пакеты для LaTeX, Markdown или прочего не придумали, всё это инструменты для единичных личностей.

Ну а тот же Jupyter позволяет мешать в одну кучу текст и код. Ну и чем это не литературное программирование?

AlexVR ★★★★★
()
Ответ на: комментарий от AlexVR

Ну есть люди не понимающие что такое структурированный текст, но зачем им выражать публично мнение о системах его поддерживающих?

Хотел еще указать на babel в org-mode.

psv1967 ★★★★★
()

взять org-mode babel из Emacs и считать там. а в latex уже из него генерировать.

anonymous
()
Ответ на: комментарий от anonymous

Хочу что-то вроде матпакета, но чтобы результаты сразу выводились в документ.

см. примеры про org-mode:

архив с исходниками, и саму статью E.Schulte — см. статьи в PDF и сорцы на тему «активные документы в org-mode», Reproducible research примеры

anonymous
()
3 декабря 2016 г.
Ответ на: комментарий от anonymous

Sweave  — очень интересная вещь, но для учебных целей (нормально написать формулу, а затем подставить в неё значения) не совсем подходит.

Метод Eddy_Em в его ЖЖ мне подходит больше, но столкнулся с такой проблемой: fp, почему-то, считает, что у меня числа с плавающей запятой. Думал, что проблема в использовании пакета icomma и запятых, но, даже если его не использовать, а в качестве десятичного разделителя использовать точку, ошибка

FP error: Illegal character \Dotn found in float number![\pre] остаётся.

Deleted
()
Последнее исправление: frigate_freedom (всего исправлений: 2)
Ответ на: комментарий от Deleted

Только теперь другая проблема.

Выражения заключены в окружение equation.

Внутри этого окружения \Ins{smt}{number} не работает, т.е. надо дублировать его где-то в тексте. В итоге получается, что число number «висит» в тексте. То есть надо как-то скрыть строку с \Ins{smt}{number} из печатаемого текста.

Deleted
()
Ответ на: комментарий от Deleted

В общем, нашёл компромиссное решение - все формулы оформляю через $...$. Но почему-то считает с погрешностями.

\Ins{M}{1.65} 

\FPeval{lambda_H}{M*root(2,(1.2/(1+0.2*M^2)))}

\FPeval{pilambda_H}{(1-0.1666666667*(lambda_H)^2)^(3.5)}

\FPeval{taulambda_H}{1-0.166667*(lambda_H)^2}

Должны выдавать соответственно 1.45, 0.2209, 0.6496.

Если lambda_H ещё выдаёт правильный результат, то последние два выдают 0.2184 и 0.6475 соответственно.

Deleted
()
Ответ на: комментарий от Deleted

Не забывай, что в техе де-факто нет плавающих чисел. Все считается в целых. И точность от силы 5 знаков после запятой! Естественно, чем больше будет вычислений, тем больше погрешность. Мне хватает, т.к. редко когда нужно больше двух знаков после запятой.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.