В предыдущей статье было рассмотрено, как показать формулу LaTeX в документе TechEditor. В данном материале мы рассмотрим, как управлять такими формулами.
Как изменить текст формулы
Для набора формул в TechEditor используется язык формульной разметки LaTeX. Это значит, что скрипт самой формулы набирается простым текстом и пользователь может управлять им непосредственно из приложения.
Чтобы отредактировать текст формулы, выполните следующие действия:
- Откройте модуль, где определена формула
- Внесите изменения в формулу
- Запустите приложение
Чтобы изменения отразились в текущем отчете, не забудьте указать в скрипте команду UpdateReport (см. далее).
Как вывести вещественное число в формуле (функция FloatToStr)
Функция FloatToStr преобразует вещественное число в строку текста. Пример использования данной функции:
uses Classes, Dialogs;
var
N, A: Double;
Stress: string;
begin
N := 150.0;
A := 5.0;
Stress := '\sigma=\frac{N}{A}=\frac{' + FloatToStr(N) + '}{' + FloatToStr(A) + '}=' + FloatToStr(N/A) + '.';
UpdateReport;
end;
В данном примере используются две числовые переменные N, A и одна текстовая переменная Stress.
Сначала, в переменную Stress помещается исходный текст формулы. После этого, числовые значения преобразуются с помощью функции FloatToStr в текст и подставляются на соответствующие места в выражение LaTeX. Если теперь вывести формулу в отчете, то получим такое выражение:
Как это выглядит в TechEditor (слева — приложение, справа — отчет):
Пользователь вашего приложения может не заботиться о виде самой формулы. Достаточно изменять числовые значения и в отчет попадет корректный результат.
Как вывести целое число в формуле (функция IntToStr)
Функция IntToStr работает аналогично FloatToStr, но ее аргументом должно быть целое число.
Как вывести число в формуле (функция Format)
Функция Format имеет богатый функционал по форматированию различных данных — от целых и вещественных чисел до даты и времени. Подробнее об этой функции вы узнаете из Справочного руководства к TechEditor.
Чтобы вывести ту же самую формулу со значениями в отчете, используйте следующую запись:
begin
N := 150.0;
A := 5.0;
Stress := Format('\sigma=\frac{N}{A}=\frac{%g}{%g}={%g}.', [N, A, N/A]);
UpdateReport;
end;
Первым аргументом функции Format выступает текст формулы, вторым — набор чисел. В тех местах формулы, где вы планируете выводить числа, укажите параметр "%g" (g — General, общий числовой тип), а вторым аргументом в квадратных скобках через запятую укажите сами числа.
Обратите внимание, что порядок перечисления параметров в функции Format имеет значение. Числа будут выведены в последовательности, в которой они указаны в наборе (в квадратных скобках).
В общем случае, функцией Format можно выводить:
- %d — десятичное (целое) число
- %f — число фиксированной ширины
- %g — общий тип числа
- %m — денежный тип
- %s — строка текста
Пример добавления единиц измерения в формулу:
begin
N := 150.0;
A := 5.0;
Stress := Format('\sigma=\frac{N}{A}=\frac{%g %s}{%g %s}={%g %s}.', [N, '\text{ N}', A, '\text{ mm²}', N/A, '\text{ MPa}']);
UpdateReport;
end;
Результат:
Способ представления LaTeX-выражений в документах TechEditor с помощью функции Format является рекомендованным.