shell escape in Texstudio aktivieren

Editoren wie TexWorks, TeXmaker, TeXstudio, TeXnicCenter, Kile, LyX, vi, Emacs und Co.


Tizian
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 8. Feb 2017, 12:23
Wohnort: Kassel

shell escape in Texstudio aktivieren

Beitrag von Tizian »

Hallo liebe Latex Anhänger :)

Gerade ärgere ich mich mit einem gewissen Problem rum. Ich schreibe an meiner Bachelorarbeit. Viele Daten habe ich mit tikz und pgfplots geplottet. Ich habe die library "external" von tikz genutzt, da die Datenmengen sehr groß waren. Es hat auch super funtioniert. Ich benutze die neuste Version von Texstudio, Version nr. 2.12.2 und Tex Live, compiliert wird mit Lualatex.

Vor ein paar Tagen habe ich erst auf die neue Texstudioversion geupdated. Seitdem Funktioniert shell escape nicht mehr. Als erstes habe ich Tex Live aktuallisiert, leider ohne erfolg.

Allerdings liegt das Einrichten des -shell-escape Befehls bei mir schon sehr lange zurück und ich weis, dass es mir beim lezten mal auch schwer viel. Vielleicht habe ich ja irgendwo einen Fehler gemacht der so offensichtlich ist, dass ich ihn einfach nicht sehen kann.

wie ich shell escape aktivieren möchte ist hoffentlich aus dem hochgeladenen Bild erkennbar. Ich habe aber schon viele im internet vorgestellte Varianten ausprobiert.

folgendes Minimalbeispiel sollte meiner Meinung nach eigentlich funktionieren.
\documentclass{scrreprt}

\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=tikz/]

\begin{document}

\tikzsetnextfilename{1}
\begin{tikzpicture}
\draw (1,1)--(2,2);
\end{tikzpicture}
	
\end{document}

Da dieses Minimalbeispiel keine lange Logdatei erzeugt, habe ich mir erlaubt die gesamte Logdatei anzuhängen. Ich gehe davon aus, dass der in der Logdatei beschriebene Fehler zu -shell-escape vielen, die tikzexternalize benutzen, schon untergekommen ist.

Mich würde interessierren, ob das Minimalbeispiel bei euch funktioniert oder nicht. Und wo genau mein Fehler liegt.
Ist der Befehl zur Aktivierung von shell escape falsch? Oder habe ich in meinem Dokument irgendwas wichtiges vergessen?

Ich bin super dankbar für jede Hilfe :)
Dateianhänge
shell escape.PNG
shell escape.PNG (4.56 KiB) 4791 mal betrachtet
minimalbeispiel.log
(26.64 KiB) 502-mal heruntergeladen

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Du brauchst das shellesc-Paket und luatex85 kann wahrscheinlich auch nicht schade:_

\usepackage{luatex85,shellesc}

Tizian
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 8. Feb 2017, 12:23
Wohnort: Kassel

Beitrag von Tizian »

Vielen Dank für die super schnelle Hilfe. Habe es gleich ausprobiert und es funktioniert einwandfrei :)

Ich frage mich warum es vorher ohne diese Pakete funktioniert hatte.

Gast

Beitrag von Gast »

Weil luaTeX früher noch anders funktioniert hat. Zumindest bis luaTeX 1.0 musste man sich klar sein, dass sich daran noch jederzeit Dinge gravierend und inkompatibel ändern können.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »


Tizian
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 8. Feb 2017, 12:23
Wohnort: Kassel

Beitrag von Tizian »

Hi ich bin es noch mal. Die Einstellungen \usepackage{luatex85,shellesc} hat mir bei dem hier erstellten Minimalbeispiel gut geholfen. In dem Dokument meiner Bachelorarbeit funktioniert diese Variante leider nicht.

Ich benutzte für tikz folgende librarys
\usepackage{pgfplots}
\usepgfplotslibrary{units}
\usepackage{tikz}
\usetikzlibrary{intersections,
				calc,
				arrows,
				arrows.spaced,
				external}
\tikzexternalize[prefix=tikz/]
Im Log steht zu dem Fehler folgende Erklärung

! Package tikz Error: Sorry, the system call 'lualatex -shell-escape -halt-on-e
rror -interaction=batchmode -jobname "tikz/hallo.pdf" "\def\tikzexternalrealjob
{Formatierung}\input{Formatierung}"' did NOT result in a usable output file 'ti
kz/hallo.pdf' (expected one of .pdf:.jpg:.jpeg:.png:). Please verify that you h
ave enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Somet
imes it is also named 'write 18' or something like that. Or maybe the command s
imply failed? Error messages can be found in 'tikz/hallo.pdf.log'. If you conti
nue now, I'll try to typeset the picture.
\pgfutil@packageerror ...ge {Package #1 Error: #2}

l.50 \end{tikzpicture}

Allerdings verstehe ich nicht, warum mir der Befehl \end{tikzpicture} im Log angezeigt wird. Erkennt Latex nicht das Ende meines Bildes. Ich habe darüber gelesen, dass soetwas passieren kann, wenn man seine eigene Tikzumgebung erstellt. Ich benutze in meinem Quellcode allerdings \begin{tikzpicture} und \end{tikzpicture}. Wisst ihr woran das liegen kann?
\tikzsetnextfilename{hallo.pdf}
\begin{tikzpicture}
\draw [<->, >=latex, line width=1.5pt](0,6.5)--node[rotate=90,above,anchor=south]{freie Gibbs'sche Energie $G$}(0,0)--(10,0) node[below left, anchor=north east]{Temperatur $T$};

%Nullpunkt setzen
\coordinate (O) at (0,0);

%Zeichnen der Geraden
\coordinate (A) at (1,5);
\coordinate (B) at (8,1);
\draw [name path=austenit] (A)--(B) node[right, anchor=west]{$G^\text{A}$};
\coordinate (C) at (1,3.5);
\coordinate (D) at (8,2.5);
\draw [name path=martensit] (C) node[left, anchor=east]{$G^\text{M}$}--(D);
%Schnittpunkt der geraden ermitteln
\path [name intersections={of=austenit and martensit,by=M}];
%Gerade von Schnittpunkt auf x-achse mit node
\draw [name path=mittellinie, dashed, line width=0.5pt] (M)--(M|-O)node[below, anchor=north]{$T_0$};
%Hilfsgerade -->
\path[name path=h1] (M)--+(2,0)--+(2,-3);

%Hilfsgerade<--
\path[name path=h2] (M)--+(-2,0)--+(-2,3);

%Schnittpunkte Hilfslinie rechts mit Austenit und Martensit
\path[name intersections={of=martensit and h1,by=TS_1}];
\path[name intersections={of=austenit and h1,by=TS_2}];

%Gerade der rechten gestrichelten Linie mit node
\draw[name path=gestricheltrechts, dashed] (TS_2)--(TS_2|-O)node[below,anchor=north]{$\text{A}_s$};
%rechter Pfeil mit node
\draw [->,>=latex] (TS_1)-- node[below right,anchor=west]{$\Delta G^{\text{M} \to \text{A}}$} (TS_2);

%Schnittpunkte Hilfslinie links mit Austenit und Martensit gestrichtelte Linie und Pfeil
\path [name path=gestricheltlinks, draw, dashed, name intersections={of=martensit and h2,by={TU_0,TU_1}}](TU_1)--(TU_1|-O)node[below, anchor=north]{$\text{M}_s$};

\path [->,>=latex, draw, name intersections={of=austenit and h2,by={TU_0,TU_2}}](TU_2)--node[above left,anchor=east]{$\Delta G^{\text{A} \to \text{M}}$} (TU_1);

%path für die Pfeile unten

\path[name path=horizontale-hilfslinie](0,1)--(8,1);

%zeichnen der horizontalen Hilfslinie
\draw [<->,>=latex, name intersections={of=horizontale-hilfslinie and gestricheltlinks, by=pf1}];
\path [<->,>=latex, name intersections={of=horizontale-hilfslinie and mittellinie, by=pf2}];
\path[<->,>=latex, name intersections={of=horizontale-hilfslinie and gestricheltrechts, by=pf3}];

\draw [<->,>=latex](pf1)--node[above,anchor=south]{$\Delta T_K$}(pf2);
\draw [<->,>=latex](pf2)--node[above,anchor=south]{$\Delta T_H$}(pf3);
\end{tikzpicture}
Die Tikz-Texdatei wird den Befehl \input{} in mein Dokument integriert.
Ich verstehe leider wirklich nicht woran es liegen könnte. Kann es sein, das s es Inkompatibilitäten gibt zwischen den einzelnen tikzlibrarys, die ich nicht kenne?

Vielen lieben Dank schonmal für eure Hilfe. :)

Tizian
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 8. Feb 2017, 12:23
Wohnort: Kassel

Beitrag von Tizian »

Okay ich weis jetzt, dass es an Inkompatibiliäten liegt. Die ersten Seiten meiner Bachelorarbeit füge ich über den Befehl

\includepdf[pages={1-4},noautoscale]{Kapitel/Titel/Titel.pdf}

und dem package

\usepackage{pdfpages}

ein.

Wenn ich Befehl und Package auskommentiere, kann Tikz die Bilder wieder exportieren. Woran genau kann das Liegen? Gibt es eine andere Möglichkeit schon bestehende PDF-Dateien in mein Dokument einzubinden?

Das mir der Fehler erst so spät aufgefallen ist, kann ich mir nur damit erklären, da ich lange an den Tikz-Bildern nichts verändert habe und die checksum somit unverändert blieb.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Mach ein vollständiges Beispiel. Ich habe weder Zeit noch Lust aus deinen Schnipsel ein Testdokument zu erzeugen.

Tizian
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 8. Feb 2017, 12:23
Wohnort: Kassel

Beitrag von Tizian »

Habe alle Probleme lösen können. Ich möchte es hier noch mal Zusammenfassen, damit spätere Besucher dieses Beitrags gezielter die richtige Lösung finden können.

Die Kombination der tikzlibrary external und dem package pdfpages ist ohne zusätzliche Einstellung nicht möglich, da keine PDFs angelegt werden können.

Werden die Pakete und Befehle allerdings in der richtigen Reihenfolge aufgerufe und gibt man dem Befehl \tikzexternalize neben dem Ausagabeordner folgende Option mit "optimize command away=\includepdf", funktioniert das ganze wieder.

Die Pakete und Befehle sollten in folgender Reihenfolge aufgerufen werden. (ist direkt aus meiner BA entnommen, daher sind mehr Pakete gelistet als notwendig)
\usepackage{pdfpages}
\usepackage{pgfplots}
\usepgfplotslibrary{units}
\usepackage{tikz}
\usetikzlibrary{intersections,
				calc,
				arrows,
				arrows.spaced,
				external}
\tikzexternalize[prefix=figures/,optimize command away=\includepdf]
Wie es sich heraus stellte, lag der Fehler weder an Texstudio noch an -shell-escpae, sondern an der Anwendung von Tikz und pdfpages, daher schlage ich vor den Beitrag in das Unterforum Tabellen und Grafiken zu verschieben ;)

Antworten