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