Die AppleScript Syntax ist ein komplexes Thema. Wenn Sie mehr hierüber erfahren möchten, so lesen Sie eines der zahlreichen Bücher hierzu. If you installed the developer tools which come with Mac OS X, there is an online book about AppleScript in the Developer folder.

Wenn TeXShop ein AppleScript Makro interpretiert, so ersetzt es erst die Strings #FILEPATH#, #PDFPATH#, #LOGPATH#, #AUXPATH#, #DVIPATH# und #PSPATH# durch die kompletten Pfade der tex-Datei, der pdf-Datei, der dvi-Datei oder der ps-Datei. Ebenso werden die Strings #INDPATH#, #BBLPATH# und #HTMLPATH# mit dem kompletten Pfad jeweils der ind-Datei, bbl-Datei oder html-Datei ersetzt.

Darüber hinaus wird jeder String #NAMEPATH# durch den Pfad der TeX-Quelldatei ersetzt. Dabei wird das Dateisuffix abgeschintten. #DOCUMENTNAME# wird durch den Namen des aktuellen Dokuments ersetzt. Diese letzte Ersetzung ist subtil. Normalerweise wird der Dateiname eingesetzt, der in der Titelzeile des Dokuments angezeigt wird. Wurde das Dokument mit der Option „Suffix ausblenden“ gesichert, so wird nur der Dokumentname eingesetzt. Wurd diese Option jedoch nicht gewählt, so wird der Dokumentname mit dem entsprechenden Suffix eingesetzt. Diese Information kann auf folgende Weise ausgenutzt werden um das Dokument zu indentifizieren, dass den AppleScript-Code aufgerufen hat:

  `tell document #DOCUMENTNAME# of application "TeXShop"`
  `latex`
  `end tell`

Es gibt mindestens zwei Arten in AppleScript Befehle einzubnden. AppleScript kann Shell-Befehle ausführen. Damit kann nach einiger „Vorarbeit“ durch das AppleScript die wirkliche Arbeit an einen Shell-Befehl übertragen werden. TeXShop beinhaltet einige Beispiele dieser Technik. Einige von diesen werden in späteren Hilfe Abschnitten erklärt. AppleScript kann jedoch auch direkt TeXShop-Befehle aufrufen. Auch diese Technik wird in einem späteren Abschnitt dokumentiert.

TeXShop versteht die folgenden Befehle:

  `typeset`
  `latex`
  `tex`
  `context`
  `bibtex`
  `makeindex`
  `metapost`
  `typesetinteractive`
  `latexinteractive`
  `texinteractive`
  `contextinteractive`
  `bibtexinteractive`
  `makeindexinteractive`
  `metapostinteractive`
  `taskdone`
  `refreshpdf`
  `refreshtext`
  `goto line`

Die ersten sieben Befehle rufen TeXShop-Satzroutinen auf. Diese Befehle werden durchgängig ausgeführt, es sei denn, dass sie auf einen Fehler stoßen. Die nächsten sieben Befehle rufen auch die Satzroutinen auf, jedoch erhält der Benutzer im Falle eines Fehler die Möglichkeit über die Konsole einzugreifen. Wird ein Satz-Befehl ausgeführt, so können Sie mit „control“ sofort zum AppleScript zurückkehren ohne das der Prozess komplett beendet wurde. „taskdone“ gibt als Wert „NO“ zurück, wenn der Prozess noch am Laufen ist. Wird „YES“ zurück gegeben, ist der Prozess beendet. „refreshpdf“ und „refreshtext“ aktualisieren den Quelltext, bzw. das Vorschau-Fenster respektive. Der Befehl „goto line“ erlaubt es direkt zu einer bestimmten Zeile zu springen. Z.B.:

  `tell document #DOCUMENTNAME# of application "TeXShop"`
  `goto line 37`
  `end tell`

Hilfe zu Makros
AppleScript Makros erstellen