краткое содержание

краткое содержание

Я хотел бы ускорить создание документов Latex и мне интересно, возможно ли использовать все четыре ядра моего процессора при создании документов.

Естьинструкции для пользователей windows, но я не нашел ни одного для пользователей Linux.

решение1

Движки TeX однопоточные, поэтому они не могут распределять нагрузку на несколько ядер. Обработка TeX часто требует запуска внешних программ (biber, bibtex, makeindex), но поскольку им нужны файлы, созданные TeX, и они отправляют свои результаты в TeX в виде файлов, здесь вы также не сможете сделать многого.

Тем не менее, есть преимущество наличия многоядерной машины: если ваш редактор (или TeXStudio) работает на одном ядре, а движок TeX на другом, это ускорит работу. Однако это обычно автоматически делается вашей ОС и незаметно для вас.

Другая ситуация — обработка rnwдокументов с помощью knitrили Sweave. Хотя R также однопоточный, он может распараллеливать вычисления с помощью multicoreпакета. Это может значительно ускорить части R.

решение2

Thepgf-руководствоописывает способ обработки tikzpictures с использованием нескольких ядер параллельно: /tikz/external/modeподробности см. в записи.

краткое содержание

Сначала вам необходимо экстернализовать создание tikzpictures, включив в преамбулу следующее:

\usetikzlibrary{external}
\tikzset{external/mode=list and make}

(видетьэтот ответ, а такжеэтот ответ(если вы используете AucTeX)

Это создаст несколько вспомогательных файлов в вашем рабочем каталоге для каждого tikzpicture. Вы можете захотеть сохранить эти вспомогательные файлы в отдельном подкаталоге, например так:

  \tikzexternalize[prefix=figures/]

Обратите внимание, что указанный подкаталог должен существовать.

Теперь вы можете выполнить компиляцию с помощью следующей процедуры:

%step 1: generate main.makefile:
pdflatex main
% step 2: generate ALL graphics on 2 processors:
make -j 2 -f main.makefile
% step 3: include the graphics:
pdflatex main

Связанный контент