LaTeXStrings
Это небольшой пакет для упрощения ввода уравнений LaTeX в строковых литералах на языке Julia, написанный Стивеном Г. Джонсоном (Steven G. Johnson).
Чтобы при работе с обычными строками в Julia ввести строковый литерал со встроенными уравнениями LaTeX, нужно вручную экранировать все символы обратного слэша и доллара: например, $\alpha^2$
записывается как \$\\alpha^2\$
. Кроме того, несмотря на то, что в IJulia можно отображать отформатированные уравнения LaTeX (с помощью MathJax), в обычной строке использовать это невозможно. Поэтому пакет LaTeXStrings определяет следующие компоненты.
-
Класс
LaTeXString
(подтипString
), который работает как строка (для индексирования, преобразования и т. д.), но автоматически отображает какtext/latex
в IJulia. -
Строковые макросы
L"..."
иL"""..."""
позволяют вводить уравнения LaTeX без экранирования символов обратных слэшей и доллара (и добавляют символы доллара, если вы их опустили).
Ответы на вопросы: не является средством визуализации LaTeX
LaTeXStrings не выполняет визуализацию — его единственная цель заключается в упрощении ввода визуализированных строк LaTeX без ввода большого количества escape-символов обратных слэшей, а также для предоставления типа, указывающего бэкендам отображения при возможности использовать визуализацию LaTeX.
За визуализацию LaTeX (если таковая имеется) отвечают другие пакеты, такие как программы для построения графиков, записные книжки Jupyter, Pluto и т. д. Например, они могут использовать MathJax, MathTeXEngine.jl или другие средства визуализации. LaTeXStrings только предоставляет текст LaTeX для этих бэкендов и не влияет на то, какие функции LaTeX (если таковые имеются) поддерживаются.
Использование
После установки LaTeXStrings с Pkg.add("LaTeXStrings")
в Julia выполните команду
using LaTeXStrings
чтобы загрузить пакет. На этом этапе вы можете создать литералы LaTeXString
с помощью конструктора L"..."
(и L"""..."""
для многострочного текста); например L"1 + \alpha^2"
или L"an equation: "
. (Обратите внимание, что $
автоматически добавляется вокруг строки, то есть строка интерпретируется как уравнение, если вы сами не включили $
.)
Если нужно выполнить строковую интерполяцию (вставить в строку значения других переменных), используйте %$
вместо обычного $
, который используется для интерполяции в обычных строках Julia. Например, если x=3
является переменной Julia, L"y = %$x"
создаст L"y = 3"
.
Вы также можете использовать конструктор более низкого уровня latexstring(args...)
, который работает так же, как string(args...)
, за исключением того, что он выдает результат LaTeXString
и автоматически помещает $
в начало и конец строки, если в ней еще нет неэкранированного $
. Обратите внимание, что при использовании latexstring(...)
следует экранировать $
и \
: например, latexstring("an equation: \$1 + \\alpha^2\$")
. Имейте в виду, что можно передать несколько аргументов (любых типов) в latexstring
, которые преобразуются в строки и конкатенируются, как в функции string(...)
.
Наконец, вы можете использовать конструктор самого низкого уровня LaTeXString(s)
. Его единственное преимущество заключается в том, что он не автоматически помещает $
в начало и конец строки. Поэтому, если по какой-то причине вы хотите использовать отображение text/latex
обычного текста (без уравнений и форматирования), вы можете применить этот конструктор. (Обратите внимание, что IJulia только форматирует уравнения LaTeX. Другие команды форматирования текста LaTeX, например \emph
, игнорируются.)
Автор
Данный пакет был создан Стивеном Г. Джонсоном (Steven G. Johnson) и распространяется по лицензии MIT/Expat (см. файл LICENSE.md).