Emacs. Автоформатирование. apheleia

2025-11-15 · 1 мин. для прочтения

Emacs. Автоформатирование. apheleia.

Содержание

1 Общая информация

2 Форматеры

2.1 LaTeX

2.1.1 latexindent

  • Репозиторий: https://github.com/cmhughes/latexindent.pl
  • Написан на Perl.
  • Входит в состав TeXLive (см. Установка TeXlive).
  • Установлен как форматер по умолчанию.
  • Широкие возможности настройки через интерфейс конфигурации на основе YAML, позволяющий точно управлять стилями отступов и другими аспектами форматирования.
  • Медленный, особенно при работе с большими файлами LaTeX, благодаря реализации на Perl и обширным возможностям настройки.

2.2 tex-fmt

  • Форматирование. LaTeX. tex-fmt
  • Ориентирован на скорость и эффективность.
  • Настройки не столь обширны, как у latexindent.
  • Значительно быстрее latexindent на больших файлах.

2.2.1 Замена latexindent

  • Простая конфигурация для замены latexindent на tex-fmt:
    ;;;; Define tex-fmt as an Apheleia formatter
    (add-to-list 'apheleia-formatters '(tex-fmt "tex-fmt" "--stdin"))
    
    ;;;; Associate tex-fmt with LaTeX modes
    (if (executable-find "tex-fmt")
        (progn
          (setf (alist-get 'latex-mode apheleia-mode-alist) 'tex-fmt)
          (setf (alist-get 'LaTeX-mode apheleia-mode-alist) 'tex-fmt)
             (setf (alist-get 'TeX-latex-mode apheleia-mode-alist) 'tex-fmt)
             (setf (alist-get 'TeX-mode apheleia-mode-alist) 'tex-fmt))
      nil)
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.