Org-mode. Предпросмотр TeX
2024-01-06
·
2 мин. для прочтения
Предпросмотр TeX в org-mode.
Содержание
1 Общая информация
- Входит в состав пакета org.
2 Использование
- Визуализация запускается командой
C-c C-x C-l
(org-preview-latex-fragment
). - Визуализация поддерева:
C-u C-c C-x C-l
. - Визуализация всего буфера:
C-u C-u C-c C-x C-l
. - Команда обрабатывает код Latex и создаёт изображение png или svg, которое накладывается на код LaTeX.
- Просмотр других элементов LaTeX (например, листинг для кода) также работает.
3 Реализация
- Список процедур обработки находятся переменной
org-preview-latex-process-alist
. - Используются методы:
dvipng
,imagemagick
,dvisvgm
. - Фрагмент кода встраивается в полный файл LaTeX, который затем обрабатывается программой LaTeX для создания файла dvi или pdf.
- Затем результирующий файл преобразуется в формат png или svg.
4 Настройка
4.1 Метод конвертации
- Необходимо выбрать метод конвертации (
dvipng
,imagemagick
,dvisvgm
):;;; Use svg for rendering (setq org-latex-create-formula-image-program 'dvisvgm)
- Параметры создаваемых изображений:
(setq org-format-latex-options (plist-put org-format-latex-options :scale 0.8)) (setq org-format-latex-options (plist-put org-format-latex-options :density 600)) (setq org-format-latex-options (plist-put org-format-latex-options :background "Transparent"))
4.2 Список методов конвертации
- Стандартный список методов конвертации задан в файле
org.el
:(defcustom org-preview-latex-process-alist '((dvipng :programs ("latex" "dvipng") :description "dvi > png" :message "you need to install the programs: latex and dvipng." :image-input-type "dvi" :image-output-type "png" :image-size-adjust (1.0 . 1.0) :latex-compiler ("latex -interaction nonstopmode -output-directory %o %f") :image-converter ("dvipng -D %D -T tight -o %O %f") :transparent-image-converter ("dvipng -D %D -T tight -bg Transparent -o %O %f")) (dvisvgm :programs ("latex" "dvisvgm") :description "dvi > svg" :message "you need to install the programs: latex and dvisvgm." :image-input-type "dvi" :image-output-type "svg" :image-size-adjust (1.7 . 1.5) :latex-compiler ("latex -interaction nonstopmode -output-directory %o %f") :image-converter ("dvisvgm %f --no-fonts --exact-bbox --scale=%S --output=%O")) (imagemagick :programs ("latex" "convert") :description "pdf > png" :message "you need to install the programs: latex and imagemagick." :image-input-type "pdf" :image-output-type "png" :image-size-adjust (1.0 . 1.0) :latex-compiler ("pdflatex -interaction nonstopmode -output-directory %o %f") :image-converter ("convert -density %D -trim -antialias %f -quality 100 %O"))))
- При необходимости эту запись можно заменить полностью, либо отредактировать по частям.
- Например, будем запускать компилятор дважды:
(plist-put (cdr (assoc 'dvipng org-preview-latex-process-alist)) :latex-compiler '("latex -interaction nonstopmode -output-directory %o %f" "latex -interaction nonstopmode -output-directory %o %f"))
4.3 Пакеты
- Набор используемых пакетов LaTeX заносятся в переменные:
org-latex-default-packages-alist
: список пакетов по умолчанию, лучше не изменять;org-latex-packages-alist
: пустая по умолчанию переменная, заносите информацию сюда.
4.4 Разное
- Созданные изображения лучше поместить в отдельный кэш:
(setq org-preview-latex-image-directory (concat home-cache-path "org-latex/"))
5 Опции в org-файле
- Вы можете включить предварительный просмотр всех фрагментов LaTeX в файле с помощью опции:
#+STARTUP: latexpreview
- Чтобы отключить предпросмотр:
#+STARTUP: nolatexpreview