kurze Zusammenfassung

kurze Zusammenfassung

Ich möchte die Erstellung meiner Latex-Dokumente beschleunigen und bin neugierig, ob es möglich ist, beim Erstellen von Dokumenten alle vier meiner Prozessorkerne zu nutzen.

Es gibtAnweisungen für Windows-Benutzer, aber ich habe keine für Linux-Benutzer gefunden.

Antwort1

TeX-Engines sind einfädig, sie können die Last also nicht auf mehrere Kerne verteilen. Die TeX-Verarbeitung erfordert oft die Ausführung externer Programme (biber, bibtex, makeindex), aber da diese von TeX erstellte Dateien benötigen und ihre Ergebnisse als Dateien an TeX senden, können Sie hier auch nicht viel tun.

Dennoch hat ein Multicore-Rechner einen Vorteil: Wenn Ihr Editor (oder TeXStudio) auf einem Kern läuft und eine TeX-Engine auf einem anderen, beschleunigt das die Arbeit. Normalerweise wird dies jedoch automatisch von Ihrem Betriebssystem erledigt und ist für Sie unsichtbar.

Eine andere Situation ist die Verarbeitung rnwvon Dokumenten mit knitroder Sweave. Obwohl R ebenfalls ein Thread ist, kann es Berechnungen mithilfe von multicorePaketen parallelisieren. Dies kann R-Teile erheblich beschleunigen.

Antwort2

Derpgf-handbuchbeschreibt eine Möglichkeit, Tikzpictures mit mehreren Kernen parallel zu verarbeiten: /tikz/external/modeWeitere Informationen finden Sie im Eintrag.

kurze Zusammenfassung

Sie müssen zunächst die Erstellung von tikzpictures externalisieren, indem Sie Folgendes in Ihre Präambel aufnehmen:

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

(sehendiese Antwort, und auchdiese Antwortfalls Sie AucTeX verwenden)

Dadurch werden für jedes Tikzpicture mehrere Hilfsdateien in Ihrem Arbeitsverzeichnis erstellt. Sie können diese Hilfsdateien in einem separaten Unterverzeichnis wie diesem aufbewahren:

  \tikzexternalize[prefix=figures/]

Beachten Sie, dass das angegebene Unterverzeichnis vorhanden sein muss.

Nun kann mit folgender Routine kompiliert werden:

%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

verwandte Informationen