Inkrementelles Kompilieren mit Multi-Core-CPU auf Sharelatex: Dateien im Cache werden beim nächsten Durchlauf von pdflatex nicht gefunden

Inkrementelles Kompilieren mit Multi-Core-CPU auf Sharelatex: Dateien im Cache werden beim nächsten Durchlauf von pdflatex nicht gefunden

Ich habe viele komplexe Plots mit erstellt tikz. Es gibt eine großartige Methode zur inkrementellen Kompilierung mit Multi-Core-CPU, die in beschrieben wirdIntegrieren von Latexmk und TikZ External Mode=List und Make

Automatisierter Arbeitsablauf:

  1. automatisch individuelle Tasks für jedes Tikz-Bild in einem Makefile generieren ( \tikzexternalize[mode=list and make])
  2. Tikz-Bilder gleichzeitig mit 8-Kern-CPU kompilieren!!! ( make -j8 -f %B.makefile)
  3. tikz-Bilder im zweiten Durchlauf von pdflatex ( \usetikzlibrary{external}) automatisch als pdf-Dateien einfügen

Hier ist ein vereinfachtes MWE, das auf unserem lokalen Computer funktionieren sollte.

Ausführen mitlatexmk -pdf main.tex

%%% file named main.tex %%%
\documentclass{article}
\usepackage{tikz,pgfplots}
%\pgfplotsset{compat=1.14}
\usetikzlibrary{external}
\tikzexternalize[mode=list and make]

%%%  please create file latexmkrc manually %%%
% \begin{filecontents}{latexmkrc} 
% $pdflatex='pdflatex --shell-escape -synctex=1 -interaction=batchmode %O %S;  make -f %B.makefile; pdflatex --shell-escape -synctex=1 -interaction=batchmode %O %S';
% \end{filecontents}

\begin{document}
    \tikzsetnextfilename{myPlot}
    \begin{tikzpicture}
        \begin{axis}
            \addplot coordinates {(1,1) (2,2) (3,3)};
        \end{axis}
    \end{tikzpicture} 
\end{document} 

Beobachtung inTeilenlatex

Ich möchte das Beispiel auf Sharelatex auf meinem eigenen Server zum Laufen bringen. Zum Testen können Sie einen kostenlosen Account erstellen unterTeilenlatex.

  1. Das Makefile wird tikz-externalwie erwartet generiert.
  2. Dermake -Befehl funktioniert wie erwartet. Die DateimyPlot.pdf wird generiertund ist im Cache neben den Protokolldateien zu finden.
  3. Im zweiten Durchlauf von pdflatexmyPlot.pdf wird NICHT eingefügtin der Hauptdatei.

Problem

Im zweiten Durchlauf von pdflatex sieht es so aus:myPlot.pdf existiert nichtDie Warnung lautet:

Package `tikz` Warning: Some images are not up-to-date and need to be generated.

Und tatsächlich: wenn ich myPlot.pdf herunterlade und wieder hochlade, so dass es ein regulärer Teil des Projekts ist und nicht nur eine zwischengespeicherte Datei,alles funktioniert einwandfrei!

Frage

Wie kann ich Sharelatex anweisen, die zwischengespeicherten Dateien beim zweiten Durchlauf von PDFlatex anzuzeigen?

Ich betreibe dieCommunity-Edition von Sharelatexim Docker auf meinem eigenen Server, also habe ich Zugriff auf alles, was Sie vorschlagen.

Vorfreude auf Sonntag - hat der Osterhase sich verstecktalle Optionen, Flags, ... in allen Konfigurationsdateientief im Sharelatex-Code, der mir helfen könnte? Vielleicht muss ich allen Prozessen Zugriffsrechte erteilen?

Ich würde mich sehr freuen, wenn ihr mir helfen könntet. Außerdem könnte die Lösung für andere Benutzer ein tolles Feature darstellen, um auf einem schnellen Multi-Core-Server relativ schnell kompilieren zu können?!

verwandte Informationen