AppleScript の文法はそれ自体でひとつのテーマです。AppleScript についてさらに学ぶには、関連本をどれか1冊読んでみてください。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 コマンドを書く方法は、少なくとも2つあります。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

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

tell document #DOCUMENTNAME# of application "TeXShop"
goto line 37
end tell
マクロ・ヘルプ
AppleScript マクロを定義する