AppleScript の文法はそれ自体でひとつのテーマです。AppleScript についてさらに学ぶには、関連本をどれか１冊読んでみてください。Mac OS X に付属するデベロッパー・ツールズをインストールしているのであれば、AppleScript についてのオンライン本が Developer フォルダの中に入っています。

TeXShop が AppleScript マクロを実行するときには、最初に #FILEPATH# ・ #PDFPATH# ・ #DVIPATH# ・ #PSPATH# ・ #LOGPATH# ・ #AUXPATH# といった文字列をすべて、TeX ソースファイル、pdf ファイル、dvi ファイル、ps ファイル、log ファイル、あるいは aux ファイルそれぞれの完全パス名で置き換えます。同様に文字列 #INDPATH# ・ #BBLPATH# ・ #HTMLPATH# は、ind ファイル、bbl ファイル、html ファイルの完全パス名に置き換えられます。

加えて、文字列 #NAMEPATH# はすべて、TeX ソースファイルの拡張子を省いた完全パス名で置き換えられますし、文字列 #DOCUMENTNAME# はすべて、現在の文書の表示名で置き換えられます。この最後の置き換えは、いくぶん微妙なものです ； ソースウインドウの上部に示されている文書のタイトルが使われるのです。もし「拡張子を隠す」にチェックを入れて文書を保存していた場合には、#DOCUMENTNAME# は文書名のみになります。けれども「拡張子を隠す」にチェックを入れずに文書を保存していれば、#DOCUMENTNAME# には文書名＋拡張子が入ります。このことは、次のように AppleScript コードで呼び出す文書を見つけるのに使えます：

`

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

`

AppleScript コマンドを書く方法は、少なくとも２つあります。AppleScript はシェルコマンドを実行できるので、AppleScript で前処理をした後、シェルコマンドを呼び出して実作業をさせることができます。TeXShop にはこの手法についての例がいくつか付属しています ； こうした例の中には、ヘルプの後節で説明するものもあります。AppleScript コマンドは、TeXShop に組み込まれているコマンドを呼び出して直接作動させることもできます。後節ではこちらの手法の例について触れます。

TeXShop は以下のコマンドを理解します：

`

1. typeset
2. latex
3. tex
4. context
5. bibtex
6. makeindex
7. metapost
8. typesetinteractive
9. latexinteractive
10. texinteractive
11. contextinteractive
12. bibtexinteractive
13. makeindexinteractive
14. metapostinteractive
15. taskdone
16. refreshpdf
17. refreshtext
18. goto line

`

最初の７つのコマンドは TeXShop のタイプセット・ルーチンを呼び出します。これらのコマンドはエラー箇所で止まることなしにタイプセットを継続します。次の７つのコマンドもまた TeXShop のタイプセットコマンドですが、こちらはもしエラーがあれば、コンソールで対話的に作業を行なえます。タイプセットコマンドが呼び出されると、作業が完了するのを待たずに、コントロールはすぐに AppleScript に戻ります。「taskdone」は、タイプセット中は NO を返し、完了すると YES を返します。「refreshpdf」と「refreshtext」は、pdf およびテキスト文書を最新の状態で画面に表示します。「goto line」コマンドは、指定の行を選択するようエディタに命じます ； たとえば：

`

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

`
マクロ・ヘルプ
AppleScript マクロを定義する