Enthält ein TeX Projekt eine Bibliographie muss eine Reihe von Befehlen ausgeführt werden um die Literaturliste zu aktualisieren. Zuerst wird LaTeX ausgeführt, damit eine .aux-Datei erstellt wird. Danach wird BiBTeX ausgeführt um aus dieser Datei .bbl- und .blg-Dateien zu erstellen. Schließlich muss wieder LaTeX ausgeführt werden, um die Bibliographie in das Dokument zu übernehmen.

Ähnliche Befehlsfolgen können auch an anderen Stellen auftauchen. Sie können diese Befehlsfolgen mit Hilfe von AppleScript automatisieren.

Um klar zu machen, wie das funktioniert, werden wir uns als Besipiel das Skript des „OherScripts->Bibliography“ Befehls ansehen, das mit TeXShop ausgeliefert wird.

--Applescript

set fileName to #FILEPATH#
if fileName is equal to ""
activate
display dialog "Please save the file first" buttons {"OK"} default button "OK"
return
end if

set frontName to #DOCUMENTNAME#
tell application "TeXShop"
save document frontName
end tell

tell document frontName of application "TeXShop"

latexinteractive

repeat
delay 2
if taskdone
exit repeat
end if
end repeat

bibtex

repeat
delay 2
if taskdone
exit repeat
end if
end repeat

latex

repeat
delay 2
if taskdone
exit repeat
end if
end repeat

latex

end tell

Die erste Zeile identifiziert das Skript als ein AppleScript Makro. In Zeile zwei wird die Variable #FILEPATH# ausgelesen, die den vollen Pfad zum TeX-Quelltext ausgibt. Wurde ein neues Dokument erstellt aber noch nicht gesichert ist die Variable noch leer. Ist dies der Fall, so wird der Benutzer aufgefordert das Dokument erst zu sichern.

In der nächsten Zeile wird TeXShop aufgefordert das Dokument zu sichern. Auf den Dokumentennamen kann mit der Variable #DOCUMENTNAME# zurück gegriffen werden.

Die letzten Kommandos führen latexinteractive, bibtex, latex und latex aus. Merken Sie sich, dass sie mit der „ctrl“ Taste sofort zum Quelltext zurückkehren können, auch wenn der Satzvorgang noch nicht abgeschlossen ist. Die Schleife „repeat“ erlaubt es zu überprüfen, ob der Satzvorgang schon abgeschlossen ist, bevor der nächste gestartet wird. Die Zeile „delay 2“ zwingt das AppleScript dazu eine Pause einzulegen anstatt ständig das Ende des Satzvorganges abzufragen. Das ständige Abfragen kann den Computer nämlich verlangsamen.

Hilfe zu Makros
Skripte mit TeXShop-Satzkommandos erstellen