Я использую Mac OS X 10.9.3, TeXLive-2013 и Scrivener для написания статей.
Я хотел бы использовать Apple Automator для создания службы (доступной из контекстного меню Finder над файлом) под названием «Скомпилировать файл TeX», которая запускает простую команду, используя выбранный файл в качестве входных данных .
Пример:
latexmk -pdf -bibtex exemple.tex
и, таким образом, скомпилирует файл .tex в той же папке, создав файл .pdf (эта команда терминала сейчас работает отлично, поэтому необходимо автоматизировать это действие!)Yes
или No
. Если Yes
выбрано, он удаляет все временные файлы TeX (.aux, .bbl, .bcf, .fdb_latexmk, .fls, .log, .out, .run.xml) и сохраняет только исходный пример.tex и новый пример. pdf файл. В противном случае он больше ничего не делает, и у меня есть все файлы в конце!Это не оптимальное решение, но пока оно работает. Вот окно автомата:
Первый сценарий оболочки компилирует .tex
файл, используя последовательность pdflatex - biber - pdflatex
, и содержит следующий код:
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
Второй сценарий оболочки удаляет все временные файлы и открывает .pdf
файл. Он содержит следующий код:
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
Я все еще жду лучшего решения с помощью latexmk
команды!
Это берет файл в качестве входных данных и запускает вашу команду latexmk, а затем запрашивает подтверждение перед удалением всех файлов с соответствующими расширениями.
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
ЛюКоуто
/usr/local/texlive/2013/bin/x86_64-darwin/latexmk —cp -pdf -bibtex -silent "$f"
. Сообщение об ошибке простоRun Shell Script failed - 1 error
. Когда я запускаю эту команду в Терминале, она работает отлично!мммммм
ЛюКоуто
/Applications/B1FreeArchiver.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin