Ich verwende Mac OS X 10.9.3, TeXLive-2013 und Scrivener , um meine Arbeiten zu schreiben.
Ich möchte den Automator von Apple verwenden, um einen Dienst (verfügbar über das Rechtsklickmenü des Finders über einer Datei) mit dem Namen "TeX-Datei kompilieren" zu erstellen, der einen einfachen Befehl mit der ausgewählten Datei als Eingabe ausführt .
Beispiel:
latexmk -pdf -bibtex exemple.tex
und kompiliert so die .tex-Datei im selben Ordner, wodurch eine .pdf-Datei erstellt wird (dieser Terminal-Befehl funktioniert derzeit perfekt, daher muss diese Aktion automatisiert werden!)Yes
oder- No
Option löschen möchte. Wenn Yes
ausgewählt wird, werden alle temporären TeX-Dateien (.aux,.bbl,.bcf,.fdb_latexmk,.fls,.log,.out,.run.xml) gelöscht und nur die ursprüngliche exemple.tex und die neue exemple.tex behalten. PDF Datei. Sonst tut es nichts mehr und ich habe am Ende alle Dateien!Dies ist nicht die optimale Lösung, aber es funktioniert vorerst. Hier ist das Automator-Fenster:
Das erste Shell-Skript kompiliert die .tex
Datei anhand der Sequenz pdflatex - biber - pdflatex
und enthält den folgenden Code:
for f in "$@"
do
file_ext=${f##*.}
if [ "$file_ext" = "tex" ]
then
foldername=$(dirname "$f")
export foldername
filename=$(basename "$f")
filesimple=${filename%.tex*}
cd $foldername
/usr/local/texlive/2013/bin/x86_64-darwin/pdflatex "$filename"
/usr/local/texlive/2013/bin/x86_64-darwin/biber "$filesimple"
/usr/local/texlive/2013/bin/x86_64-darwin/pdflatex "$filename"
else
echo $f n\'est pas un fichier TeX
fi
done
Das zweite Shell-Skript löscht alle temporären Dateien und öffnet die .pdf
Datei. Es enthält den folgenden Code:
for f in "$@"
do
file_ext=${f##*.}
if [ "$file_ext" = "tex" ]
then
foldername=$(dirname "$f")
filename=$(basename "$f")
filesimple=${filename%.tex*}
cd $foldername
rm $filesimple.aux
rm $filesimple.bbl
rm $filesimple.bcf
rm $filesimple.blg
rm $filesimple.log
rm $filesimple.run.xml
open $filesimple.pdf
else
echo $f n\'est pas un fichier TeX
fi
done
Ich warte immer noch auf eine bessere Lösung mit dem latexmk
Befehl!
Dies nimmt die Datei als Eingabe und führt Ihren latexmk-Befehl aus und fragt dann nach einer Bestätigung, bevor alle Dateien mit übereinstimmenden Erweiterungen gelöscht werden.
for f in "$@"
do
/path/to/latexmk -pdf -bibtex "$f"
done
find ${@%/*} -name "*.aux" -o -name "*.bbl" -o -name "*.bcf" -o -name "*.fdb_latexmk" -o -name "*.fls" -o -name "*.log" -o -name "*.out" -o -name "*.run.xml" -delete
LuCouto
/usr/local/texlive/2013/bin/x86_64-darwin/latexmk —cp -pdf -bibtex -silent "$f"
. Die Fehlermeldung ist nurRun Shell Script failed - 1 error
. Wenn ich diesen Befehl im Terminal ausführe, funktioniert er perfekt!mmmmmm
LuCouto
/Applications/B1FreeArchiver.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin