- Узнать о формате LaTeX можно набрав в поисковике math latex, latex formula и пр. Набирать просто latex тоже интересно, но там не про математику будет.

В двух словах это можно бы объяснить так: есть сайты и издательские пакеты в которых если набрать, что-то похожее на:
[LATEX]f_p =4\cdot \pi \cdot (\frac{1}{2\cdot \pi \cdot m _{1}\cdot k _{0}\cdot T})^{\frac{3}{2}}\cdot p^{2}\cdot e^{-\frac{p^{2}}{2\cdot m _{1}\cdot k _{0}\cdot T}}[/LATEX]
то сайт или программа нарисует:

Набирать такую формулу вручную для новичка труд непростой. Да и опытному Latex-пользователю, это не пустяк) Но иначе продуктивно общаться на нашем форуме нельзя.
Кроме того, получив изображение формулы в естественном виде её можно заскриншотить, вырезать и использовать в другом документе.
Дополнительную информацию ищите в сети.
- Как уже сказано, набор формул в формате Latex достаточно сложная штука. Несмотря на то, что написано немало программ, которые так или иначе облегчают этот труд, все они сводятся к работе с обширным меню, где каждому пункту назначены целые строки, соответствующие той или иной математической конструкции.
- Я хочу предложить программу, которая позволяет писать формулы в формате RTF, а программа сама генерирует по строке RTF строку Latex.
На первый взгляд кажется сложно. Однако повертье, это решение является плодом длительных размышлений, проб и ошибок.
- Итак, почему сначала RTF? Этот формат позволяет получать вполне удовлетворительное визуальное представление формулы. Его возможности позволяют поддерживать многоуровневость записи и нижние индексы. Поэтому всё кроме настоящих, многоуровневых дробей можно отобразить без особых ухищрений. Дроби отображаются знаком наклонной черты - деления и дополнительными скобками если числитель и/или знаменатель сложные выражения: (и+или)/(и-или).
Но главным фактором является конечно то обстоятельство, что набор RTF текста можно осуществлять очень просто. Вы вводите его как обычный текст в специальном поле, а преобразование в RTF делает сама программа. При этом вы на каждом шагу видите результат в том виде который вполне приемлем для математического выражения. Это делает набор формулы очень простым занятием в сравнении с другими способами. Далее, как уже сказано, программа сама сгенерирует Латекс строку по RTF строке, а последняя останется как самостоятельный и дополнительный результат, который можно использовать везде где можно использовать RTF. Например, можно вставить её в какой-то текст.
- Но почему же, всё-таки Латекс? Да, у нас уже есть вполне читабельная RTF-формула, однако хочется же естественного отображения дробей и избавления от лишних скобок, которые так затрудняют восприятие. Вот тут и нужен Latex. Почему? Потому, что это уже существующая и проверенная технология кодирования для отображения формул в их естественном виде.
- Программа получилась неплохой даже для начала. Она легко осваивается (проверно на детях 7+ класса) и достаточно удобна. В программе всё, что заслуживает внимания снабжено окнами подсказки, которые открываются по правому щелчку мыши + LShift. Есть приличный хелп. Несложные правила работы с интерфейсом и RTF в частности (RTF - язык интерфейса в данном случае)), поясняется примерами ввода двух формул, где пошагово и покликово расказано, что делать и каков результат.
http://steamandwater.od.ua/AnE... ex_ru.html
 - Ознакомиться с принципами работы программы можно почитав содержимое Меню Помошь. Самый быстрый путь - сразу выполнить два примера расположенных : Меню Помощь->Помощь->Набирая формулу в формате RTF. За несколько минут вы увидите всё, что нужно, чтобы начать работать самостоятельно.
Посмотрите тут:
http://steamandwater.od.ua/AnE... syCalc.wmv
- Я хочу показать некоторые маленькие хитрости в отображении дробей. Это реализовано начиная с версии 1.0.0.3
- Давайте наберем простое выражение : a/b·d/c
Следуя правилам приоритета операций это эквивалентно: a·d/(b·c) или a·d/b/c. Операции равного приоритета выполняются строго справа налево. Итак наша запись a/b·d/c сгенерирует такую Latex строку:
\frac{a\cdot d}{b\cdot c}
и она породит рисунок дроби, где a·d это числитель, а b·c - знаменатель:

- Теперь давайте наберём : (a/b)·d/c. Дополнительные скобки не изменяют порядок операций и результат вычислений не изменится. Но данная строка сгенерирует другую Latex строку:
\frac{\frac{a}{b}\cdot d}{c}
и она породит рисунок дроби, где a/b·d это числитель, а c - знаменатель:

- Давайте наберём : (a/b)·(d/c) и такая расстановка скобок не изменит результат вычислений. Но запись сгенерирует Latex строку:
\frac{a}{b}\cdot \frac{d}{c}
и она породит рисунок произведения двух дробей: a/b и d/с :

- Такие варианты как a/(b·d/c) или a/(b·d)/c не рассматриваем так как они не эквивалентен изначальному выражению : a/b·d/c
- А выражение : a/b·(d/c)
заслуживает внимания. Оно сгенерирует:
\frac{a\cdot \frac{d}{c}}{b}
что при отображении даёт дробь с числителем a умножить на дробь d/c и знаменателем b :

- Таким образом расстановка дополнительных скобок не меняющих результат выражения изменяет способ отображения
формулы.
- Теперь о таких вещах как точность, надёжность и сочетательность (ассоциативность).
В школьном курсе математики мы учили, что операции равного приоритета можно выполнять слева-направо так как их результат не зависит от порядка выполнения. Такой алгоритм выполнения называется наивным. В программе AnEasyCalc реализована возможность включения интеллектуального алгоритма, который перед исполнением выбирает наиболее безопасные операции из операций равного приоритета, с точки зрения потери значимости (точности) и возможности аварийного результата (бесконечность, не число). Описание того, что из себя представляет интеллектуальный алгоритм можно увидеть кликнув правой кнопкой по меню:
Настройки->Настройки режима вычисления->Приоритет операций -> Интеллектуальный алгоритм.
Вот что там можно прочесть:
Наивный алгоритм предполагает последовательность выполнения операций равного приоритета: слева-направо для всех кроме возведения в степень. Это приводит к тому, что выражение вроде: 1 + 1е-20 - 1 равно 0.
Это происходит потому, что наивный алгоритм выполняет операции сложения слева-направо и:
1 + 1е-20 = 1, так как, как правило, число значащих цифр не превышает 15.
Поэтому следующая операция: 1-1=0.
То есть, налицо потеря точности. Однако могут быть и более тяжелые последствия. Например: 1е308 * 1е308 / 1е308 в соответствии с наивным алгоритмом равно бесконечности, так как современные настольные системы, как правило , не могут работать с числами большего порядка чем +308.
Интеллектуальный алгоритм даст верные результаты:
1 + 1e-20 - 1 = 1e-20 без потери точности
и
1e308 * 1e308 / 1e308 = 1e308 без аварии типа "переполнение".
Это возможно благодаря тому, что интеллектуальный алгоритм сначала анализирует выражение, а за тем выбирает наиболее подходящую операцию из текущей последовательности операций равного приоритета.
Логично, что интеллектуальный алгоритм надёжнее и точнее, но медленнее чем наивный алгоритм.
Вы можете выбрать тот или иной алгоритм. Более того, можно выбрать сначала один, а за тем другой, чтобы убедиться, что наивный алгоритм в предложенном выражении не врёт (важно: - с учётом заданных, конкретных числовых значений). В этом случае, сравнение результатов просмотра деревьев выражений покажет, в каком именно вычислительном узле возникает ошибка или авария в заданном выражении.
- Новость которая понравится как новичкам, так и опытным пользователям под OS Windows. Сейчас можно загрузить не только программу AnEasyCalc, но и абсолютно бесплатный LaTeX просмотрщик (viewer ) AnEasyLaTeXViewLT на той же html страничке, что указана выше. Он поможет отрендерить LaTeX строку на локальном компьютере.
|