Редактор Mac Latexian имеет встроенные методы компиляции с использованием latex+dvips
, pdflatex
и xelatex
. Кроме того, он предполагает bibtex
и makeindex
для работы с библиографиями и индексами соответственно.
Как настроить Latexian для использования, например, LuaTeX для компиляции или Biber для библиографий?
решение1
Latexian написан так, что встроенные методы не могут быть изменены в соответствии с предпочтениями пользователя. По моему мнению, это серьезный недостаток дизайна, но не так уж и сложно обойти это ограничение.
Обходной путь состоит из двух компонентов: скрипт, который помещается в локальную папку и заменяет (с точки зрения Latexian) один или несколько из трех движков TeX, о которых знает Latexian. Скрипт обходит эти движки и вместо этого использует инструмент автоматизации arara
для управления всей компиляцией. Используя arara
вы можете затем указать с очень точным контролем точную цепочку компиляции, которая вам нужна для каждого документа.
Введение в арара
Чтобы понять, как это работает, вам сначала нужно понять, что arara
. arara
позволяет добавлять комментарии к документу, которые сообщают ему, как компилировать этот документ. Простое использование будет следующим:
% arara: pdflatex
что скажет arara
обработать документ с помощью pdflatex
. Немного более сложный пример (но концептуально такой же простой) будет:
% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
Это приведет к компиляции документа, его запуску bibtex
и повторной компиляции еще дважды для разрешения ссылок.
Из этих небольших примеров должно быть ясно, чтовсеиз двоичных файлов, доступных в MacTeX, будут доступны для arara
, что означает, что если мы можем заставить Latexian использовать, arara
мы можем заставить Latexian использовать любой двоичный файл TeX. Мы переходим к этой задаче далее.
Заставить Latexian использовать arara
Сначала мы создадим локальную папку, на которую укажем Latexian. Вы можете сделать это с помощью Finder или Terminal. В этом примере мы назовем папку latexian-bin
.
mkdir ~/latexian-bin
В текстовом редакторе создайте следующий файл:
#!/bin/bash
export PATH=/Library/TeX/texbin:/usr/local/bin:${PATH}
arara -v "${@:$#}"
Сохраните это как arara
в latexian-bin
папке. Вы должны сделать файл исполняемым, поэтому в окне Терминала введите:
cd ~/latexian-bin
chmod +x arara
Наконец, создайте символические ссылки на этот скрипт для бинарных файлов xelatex
и , pdflatex
о которых знает Latexian. Затем создайте символические ссылки на реальные latex
и dvips
(иначе Latexian всегда будет возвращать ошибку при использовании этого latex+dvips
.)
ln -s arara pdflatex
ln -s arara xelatex
ln -s /Library/TeX/texbin/latex latex
ln -s /Library/TeX/texbin/dvips dvips
ln -s /Library/TeX/texbin/synctex synctex
Теперь в Latexian перейдите в Preferences и выберите Preview. В этом параметре вы можете выбрать Folder for TeX Distribution. По умолчанию это /Library/TeX/texbin
( /usr/texbin/
в старых дистрибутивах MacTeX), но теперь мы хотим, чтобы Latexian использовал созданную нами локальную папку. Используйте кнопку Browse, чтобы выбрать папку latexian-bin
. Если вы все сделали правильно, вы должны увидеть следующее:
Ваш фактический путь будет отличаться, /Users/alan/latexian-bin
но должен выглядеть похоже. Не беспокойтесь, что некоторые другие двоичные файлы будут вычеркнуты и будут иметь статус "Не найдено". Это на самом деле не имеет значения.
Теперь у вас есть LaTeXian, указанный в его собственной локальной папке с бинарными файлами, и теперь вместо компиляции с помощью pdflatex
вы будете компилировать с помощью arara
. Теперь для каждого документа вам нужно предоставить правильные arara
строки в верхней части файла, чтобы указать, какие двоичные файлы использовать для этого файла.
Для базового pdflatex
файла следует использовать:
% arara: pdflatex: { synctex: yes }
Дляxelatex
% arara: xelatex: { synctex: yes }
Дляlualatex
% arara: lualatex: { synctex: yes }
Чтобы также скомпилировать ваш файл, bibtex
добавьте:
% arara: bibtex
Для компиляции вместо этого biber
добавьте:
% arara: biber
Это все, что вам нужно сделать.
Заметки по реализации
Используя этот метод, вам не нужно будет использовать настройки Latexian для указания количества компиляций или вспомогательных программ bibtex
и makeglossaries
/или makeindex
; все это можно сделать через arara
.
Если вы не хотите использовать arara
для всех компиляций, вы можете просто связать команду pdflatex
или xelatex
со arara
скриптом, а другую команду с его обычным двоичным файлом в /Library/TeX/texbin
. Затем вы можете использовать пункт меню GetInfo в Latexian, чтобы выбрать один или другой для каждого файла. Это может быть наиболее практичным решением, если вы в основном используете один движок большую часть времени, поскольку использование arara
будет немного медленнее, чем использование движка напрямую.