Skip to content

Latest commit

 

History

History
511 lines (305 loc) · 51.2 KB

help_v2_04.md

File metadata and controls

511 lines (305 loc) · 51.2 KB

TeXShop の日本語ヘルプファむルのアヌカむブ (v2-4) です。

䜜業圓時の日英察蚳テキストをアップしおいたす。


Version 2.10b

#Macros Helpマクロ・ヘルプ

##Preliminariesたえがき

☆TeXShop macros and the Macro Editor are by Mitsuhiro Shishikura. Default Latex macros were created by Mitsuhiro Shishikura and Hirokazu Ogawa. Default Context macros were created by Hans Hagen.

【★】TeXShop マクロずマクロ゚ディタは宍倉光広さんによるものです。デフォルトの LaTeX マクロは宍倉光広さんず小川匘和さんが䜜成したした。デフォルトの ConTeXt マクロは Hans Hagen さんによっお䜜成されたした。

☆The available Macros depend on the typesetting engine chosen. If this engine is LaTeX, then a series of macros suitable for LaTeX will be displayed. If the engine is ConTeXT, then macros for ConTeXt will be displayed. When TeXShop is first installed, it has macros for only these two engines; the LaTeX macros will be displayed for all engines except ConTeXt.

【★】タむプセット・゚ンゞンの遞択によっお、利甚できるマクロは異なりたす。゚ンゞンを LaTeX にした堎合、 LaTeX に適した䞀連のマクロが衚瀺されたす。゚ンゞンを ConTeXT にすれば、 ConTeXt 甚のマクロが衚瀺されたす。 TeXShop をむンストヌルした圓初は、この぀の゚ンゞン甚のマクロだけが入っおいたす  LaTeX 甚のマクロは、 ConTeXt を陀くすべおの゚ンゞンに察しお衚瀺されたす。

☆Macros come in two kinds. Some insert strings into the TeX source file; these macros are similar to buttons in the Latex panel. Other macros run Applescript scripts.

【★】マクロには皮類ありたす。ひず぀は TeX の゜ヌスファむルに文字列を挿入するものです  こうしたマクロは LaTeX パネルのボタンず䌌おいたす。もうひず぀のマクロは AppleScript のスクリプトを実行したす。

☆Macros are stored in ~/Library/TeXShop/Macros/Macros_Latex.plist and ~/Library/TeXShop/Macros/Macros_Context.plist. If these files are missing when TeXShop runs, default macro files are created there. These files are ordinary text files, so it can be opened and inspected with TeXShop. This is usually not necessary because the files are best manipulated with the Macro editor.

【★】マクロは ~/Library/TeXShop/Macros/Macros_Latex.plist ず ~/Library/TeXShop/Macros/Macros_Context.plist に栌玍されおいたす。 TeXShop を起動した際にこれらのファむルがなければ、デフォルト・マクロのファむルが前述の堎所に䜜られたす。これらのファむルはごく普通のテキストファむルなので、 TeXShop で開いたり調べたりできたす。これは通垞は䞍必芁なこずです──ずいうのも、マクロ゚ディタで扱うのがいちばんですから。

☆The Macro editor modifies macros stored in Macros_Latex.plist and Macros_Context.plist when one of these typesetting engines is chosen. But if another typesetting engine like TeX is chosen, then the Macro editor will replace the default Latex macro set with a set defined by the user for TeX, storing the results in Macros_Tex.plist and leaving Macros_Latex.plist unchanged.

【★】Macros_Latex.plist ず Macros_Context.plist に栌玍されおいるマクロは、それぞれのタむプセット・゚ンゞンが遞択されおいるずきにマクロ゚ディタで修正できたす。しかしもし TeX のような他のタむプセット・゚ンゞンが遞ばれおいるずきには、マクロ゚ディタは、デフォルトの LaTeX マクロのセットをナヌザが TeX 甚に定矩したセットに眮き換えたす──その結果は Macros_Tex.plist に保存されたすが、もずの Macros_Latex.plist は倉曎されずに残りたす。

☆When you define useful Macros and wish to give them to others, simply open the Macro Editor and choose "Save selection to file..." in the Macro menu. This will create a file in any location you wish. To distribute your macros, send this file.

【★】あなたが䟿利なマクロを定矩し、それを他の人たちに枡したいず思ったずきは、マクロ゚ディタを開き、マクロメニュヌから「遞択したマクロをファむルに保存...」を遞べばよいだけのこずです。保存先はいずれの堎所でもかたいたせん。マクロを配垃するには、このファむルを送りたす。

☆To add macros created by others to your list of macros, open the Macro Editor and choose "Add macros from file...". Then use the Macro Editor to arrange the macros as you desire.

【★】他の人たちが䜜成したマクロをマクロリストに远加するには、マクロ゚ディタを開いたうえで「ファむルからマクロを远加...」を遞択したす。その埌マクロ゚ディタを䜿っおマクロを奜きなように配列したす。

##Understanding Default Macrosデフォルトのマクロを理解する

☆The best way to understand default macros is to examine their definition with the Macro Editor. For example, consider the macro titled "Begin/End." Suppose you wish to use an environment like the theorem environment. Type the word "theorem" and select it. Then choose the "Begin/End" macro. The word "theorem" will be replaced with the text

【★】デフォルトのマクロを理解するいちばんいい方法は、その定矩をマクロ゚ディタで調べおみるこずです。たずえば「Begin/End」ず題されたマクロに぀いお考えおみたしょう。 theorem 環境のような環境を䜿いたいずしたす。 「theorem」ずいう単語を打ち蟌み、これを遞択しおください。そしお「Begin/End」マクロを遞びたす。 「theorem」ずいう語が、次のようなテキストに眮き換えられたす──

\begin{theorem}

\end{theorem}

☆with the cursor placed on the line between this pair.

【★】カヌ゜ルは begin ず end の間に配眮されおいたす。

☆Now examine the begin/end macro code:

【★】では「Begin/End」ずいうマクロのコヌドを調べおみたす

\begin{#SEL#}
#INS#
\end{#SEL#}

☆Text in the macro will be inserted into the source file. Each occurrence of the string #SEL# will be replaced by the text selected when the macro was invoked. If no text was selected, #SEL# will be replaced with an empty string. The cursor will be placed at the end of the inserted text unless the text contains the string #INS#, in which case the cursor will be placed at that location.

【★】マクロ内のテキストが゜ヌスファむルに挿入される。#SEL# ずいう文字列はそれぞれに、マクロが実行されたずきに遞択されおいたテキストで眮き換えられる。もしテキストが䜕も遞択されおいなければ、#SEL# は空っぜの文字列で眮き換えられる。カヌ゜ルは挿入したテキストの最埌に眮かれるが、#INS# ずいう文字列が含たれおいる堎合には、そこにカヌ゜ルが配眮される。

☆Using this knowledge, it is easy to understand and modify the default macros.

【★】これがわかっおいれば、デフォルトのマクロを理解したり修正したりするのは簡単なこずです。

##Rearranging the Macro Menuマクロの項目名を䞊べ替える

☆Open the Macro Editor and examine the macro menu on the left. It is shown in an outline view similar to the view of the file system obtained by choosing the middle button of the View tab in the Finder. To rearrange items, drag them from one spot to another. Notice that items can be placed at different levels by sliding left and right. To rename an item, select it in the outline view and type a new name in the field at the top right.

【★】マクロ゚ディタを開いお、巊偎にあるマクロの項目名の䞀芧を芋おみたしょう。Finder のリスト衚瀺のような、アりトラむン衚瀺になっおいたす。項目を䞊べ替えるには、ある堎所から別の堎所ぞず項目をドラッグしたす。項目を巊ないしは右にずらすこずで、異なるフォルダ階局に眮くこずもできたす。項目名を倉曎するには、アりトラむン衚瀺の䞭でその項目を遞択し、右䞊にある項目名のフィヌルドに新しい名前を入れたす。

##Defining New Macros新しいマクロを定矩する

☆New items, new submenus, and new separators can be created by the buttoms at the bottom left. A little practice illustrates the basic behavior of the editor. Submenus can be created to any level.

【★】新芏の項目新芏マクロ、新芏のサブメニュヌサブメニュヌ、新芏の区切り線区切りなどは、巊䞋のボタンで䜜成できたす。少しいじっおみれば、゚ディタの基本的な動䜜は明らかになるでしょう。サブメニュヌはどの階局にも䜜成できたす。

☆Any particular item can be assigned a keyboard equivalent using the buttons on the right side of the menu. The result will immediately appear in the outline view. However, these assignments cannot duplicate key combinations already used by TeXShop menus. If they do, the new keyboard shortcut will be ignored.

【★】いずれの項目にも、䞀芧衚の右䞋にあるボタン類を䜿っお個別にキヌ操䜜を割り圓おるこずができたす。結果はすぐにアりトラむン衚瀺内に瀺されたす。しかしながら、こうした割り圓おは、 TeXShop のメニュヌですでに䜿われおいるショヌトカットキヌず重耇させるこずはできたせん。もしも重耇した堎合は、新しいほうのショヌトカットは無芖されたす。

##AppleScript Macros AppleScript マクロ

☆If a macro begins with the string

【★】マクロが次のいずれかの文字列で始たっおいる堎合──

--AppleScript

--AppleScript direct

☆then the resulting applescript code will run when the Macro is chosen. For example, consider the macro titled "View pdf with Acrobat." Choosing this macro when the source file is active (and the pdf file has been created) will start Adobe Acrobat Reader and open the output pdf file in that program. The corresponding applescript code reads

【★】そのマクロを遞択するず、 AppleScript のコヌドが実行されたす。 たずえば「View pdf with Acrobat」ず題されたマクロを考えおみたす。 ゜ヌスファむルがアクティブになっおいる加えお pdf ファむルもすでに生成枈みになっおいるずきにこのマクロを遞択するず、 Adobe Acrobat Reader が立ち䞊がっお pdf 出力ファむルを開きたす。 この AppleScript のコヌドは、次のようになっおいたす──

--AppleScript direct
tell application "Acrobat Reader 5.0"
	activate
	open POSIX file #PDFPATH#
end tell

☆Commands beginning with "--AppleScript direct" are run directly by TeXShop. During the time this applescript is running, TeXShop's event loop is not active. Consequently, the script cannot call TeXShop to perform an action which might require user input. For example, it cannot ask TeXShop to run LaTeX, because if the LaTeX file has an error, the console will appear and wait for user input, but such input would not be recognized.

【★】「--AppleScript direct」で始たるコマンドは、 TeXShop により盎接実行されたす。この AppleScript が実行されおいる間は、 TeXShop のむベント・ルヌプは有効になりたせん。したがっおこのスクリプトには、 TeXShop を呌び出しお、ナヌザの入力を必芁ずするかもしれない動䜜を行なわせるこずはできたせん。たずえば、 TeXShop に LaTeX を実行するよう芁請するこずができたせん──ずいうのも、 LaTeX ファむルに゚ラヌがあった堎合、コン゜ヌルが衚瀺されナヌザの入力を埅ちたすが、そうした入力はできないのです。

☆Commands beginning with "--AppleScript" are run by a small auxiliary program in the TeXShop application bundle. Such commands can ask TeXShop to perform actions which might require user input, because in that case the auxiliary program will temporarily halt but TeXShop will remain active.

【★】「--AppleScript」で始たるコマンドは、 TeXShop に組み蟌たれおいる小さな補助プログラムにより実行されたす。こうしたコマンドは、ナヌザの入力を必芁ずするかもしれない動䜜を行なうこずを TeXShop に芁求できたす──ずいうのも、この堎合、補助プログラムは䞀時的に停止したすが、 TeXShop はアクティブのたただからです。

☆Thus the syntax "--AppleScript direct" is appropriate for routine macros, but "--AppleScript" may be needed for fancy ones.

【★】なので「--AppleScript direct」構文はルヌティン・マクロに適しおいたすが、手の蟌んだマクロには「--AppleScript」が必芁ずなるでしょう。

##Default AppleScript Macrosデフォルトの AppleScript マクロ

☆TeXShop comes with an extended collection of Applescripts by Will Robertson, Claus Gerhardt and others. Some of these scripts automate workflow when a series of typesetting commands must be issued in sequence. By copying and modifying the scripts, users can construct scripts appropriate for their own workflow.

【★】TeXShop には Will Robertson さんや Claus Gerhardt さん、その他の人たちによる AppleScript の広汎なコレクションが付属しおいたす。これらのスクリプトのいく぀かは、䞀連のタむプセット・コマンドが順を远っお実行されるずき、ワヌクフロヌを自動化したす。スクリプトを耇補したり修正したりするこずでナヌザは、それぞれのワヌクフロヌに適したスクリプトを組み立おるこずができたす。

☆In this section, we will describe some of these scripts.

【★】このセクションでは、こうしたスクリプトのいく぀かに぀いお述べたす。


☆Column Macros, Insert Reference, Open Quickly:

【★】Column Macros ・ Insert Reference ・ Open Quickly

☆These macros are by Will Robertson. The first provides a very convenient way to construct an arbitrary matrix or table. The second searches through the current file for \label{...} commands and then pops up a list from which you may insert a reference label, wrapped in an (optional) customizable LaTeX command. The final macro allows you to rapidly open any file in the directory of the current source file.

【★】これらのマクロは Will Robertson さんによるものです。最初のものは、任意の行列やテヌブルをこしらえるのにずおも䟿利です。次のものは、珟圚のファむル党䜓から \label{...} コマンドを探し出しおリスト衚瀺するので、その䞭から参照ラベルを挿入したり、それを任意のカスタマむズ可胜な LaTeX コマンドで囲んだりできたす。最埌のマクロは、䜜業䞭の゜ヌスファむルがあるディレクトリ内のファむルが手早く開けたす。


☆Convert to Mac, Convert to Unix, Convert to Windows:

【★】Convert to Mac ・ Convert to Unix ・ Convert to Windows

☆In the early days, teletype terminals were used for communication. The ascii character set still has remnants from those days; for instance 0x07 rings the teletype bell. The character 0x0a was a line feed which turned the carriage to the next line and the character 0x0d was a carriage return which pulled the carriage back to the start of the line. To get a line feed, one used the sequence 0x0d 0x0a.

【★】初期の頃は、テレタむプ端末が通信に䜿われおいたした。 ascii 文字セットはいただにその頃の名残りをずどめおいたす  たずえば 0x07 はテレタむプのベルを鳎らしたす。 0x0a ずいうキャラクタはキャリッゞを次行ぞ送るラむンフィヌド LF 改行でしたし、 0x0d ずいうキャラクタはキャリッゞを行の先頭たで匕き戻すキャリッゞ・リタヌン CR 行頭埩垰でした。行を改めるには、ひず぀づきの 0x0d 0x0a を䜿いたした。

☆After the age of teletypes ended, computer manufacturers selected different subsets of these characters to indicate a line feed. In the Unix world, 0x0a was used, in the Windows world 0x0d 0x0a was used, and in the old Macintosh Classic world 0x0d was used. Apple's guidelines for Mac OS X state that programs should be able to automatically open files using any of these conventions. Most programs including TextEdit, TeXShop, etc., follow these guidelines. In TeXShop, new files are created using Unix conventions, but if you load a file created with Mac OS Classic and then add extra lines, old portions of the document will be saved with the Classic convention and new sections will have the Unix convention.

【★】テレタむプの時代が終わるず、コンピュヌタの補造者たちは、改行を瀺すのに、これらのキャラクタの異なる䞀郚を遞び取りたした。 UNIX では 0x0a LF が䜿われ、 Windows では 0x0d 0x0a CR + LF が、そしお昔の Macintosh Classic では 0x0d CR が䜿われたした。 Mac OS X 甚の Apple のガむドラむンには、こうした仕様のいずれが甚いられおいるファむルでも自動的に開けるようにすべきだ、ず述べられおいたす。 TextEdit や TeXShop などを含むほずんどのプログラムは、このガむドラむンにしたがっおいたす。 TeXShop では、新芏曞類は Unix の改行コヌドで䜜成されたすが、 Mac OS Classic で䜜成したファむルを取り蟌んで新しい行を付け加えた堎合、文曞の叀い郚分は Classic の改行コヌドで保存され、新たな箇所は Unix の改行コヌドで保存されたす。

☆These line feeds cause no trouble until you send a file to a friend using a different operating system. Many editors now understand multiple line feed conventions, so often you'll have no problems. But if you do, use the scripts above. Suppose the source file for a document is named MyFile.tex. Then "Convert to Mac" will create a new file named MyFile_Mac.tex with the same source code and Macintosh line feed conventions. "Convert to Unix" and "Convert to Windows" work the same way. All of these scripts call a binary program by Craig Stuart Sapp named "flip" in ~/Library/TeXShop/bin. See http://ccrma-www.stanford.edu/~craig/utility/flip/ for details.

【★】こうした改行コヌドは、異なるオペレヌティング・システムを䜿っおいる人にファむルを送らないかぎりは、トラブルの皮になったりはしたせん。倚くの゚ディタが今では耇数の改行コヌド仕様を理解したすから、そう頻繁に問題にはならないでしょう。けれども困ったこずになった堎合には、䞊蚘のスクリプトを䜿っおください。かりに゜ヌスファむルの名前を MyFile.tex ずしおおきたしょう。 「Convert to Mac」は、 MyFile_Mac.tex ずいう名前の、゜ヌスコヌドは同じで Macintosh の改行コヌドになっおいる新しいファむルを生成したす。 「Convert to Unix」ず「Convert to Windows」も同様に機胜したす。これらのスクリプトはすべお ~/Library/TeXShop/bin にある「flip」ずいう、 Craig Stuart Sapp の䜜ったバむナリ・プログラムを呌び出したす。詳现に぀いおは http://ccrma-www.stanford.edu/~craig/utility/flip/ を参照しおください。


☆Other Scripts->Bibliography:

【★】Other Scripts->Bibliography

☆Processing a file with a bibliography requires multiple typesetting operations. First Latex is run to create an .aux file. Then Bibtex is run and uses this file to create .bbl and .blg files. Latex is run again to add the bibliography to the document. Latex is run a final time to update the references to the bibliography in the text.

【★】参考文献目録のあるファむルを凊理するには、数床のタむプセット操䜜が必芁になりたす。最初に LaTeX を実行しお .aux ファむルを䜜る。それから Bibtex を実行し、.aux ファむルを䜿っお .bbl ファむルず .blg ファむルを䜜る。 LaTeX をふたたび実行しお文曞に参考文献目録を付け加える。最埌に LaTeX を実行しお本文䞭の目録の参照を曎新する。

☆The "Bibliography" command does all of these things one by one. First it saves the file. Then it runs latex->bibtex->latex->latex. Finally it updates the preview display.

【★】「Bibliography」コマンドは、以䞊のこずをひず぀ず぀行ないたす。たず最初にファむルを保存したす。そしお latex -> bibtex -> latex -> latex の順に実行したす。最埌にプレビュヌ画面を曎新したす。


☆htlatexc, htlatexr:

【★】htlatexc ・ htlatexr

☆Tex4ht is a TeX program which converts a latex document into a web page. The source can be a standard Latex file and can include eps illustrations. The end result is an html page and a large number of gif files. The script command "htlatexc" saves the source documents, runs htlatex, and opens the resulting html file in Safari. Thus it behaves like a new TeXShop typesetting command, except that it was constructed by a user without waiting for new TeXShop code!

【★】Tex4ht は、 LaTeX 文曞をりェブペヌゞに倉換する TeX プログラムです。゜ヌスは暙準的な LaTeX ファむルでよく、 eps 圢匏のむラストを含んでいおもかたいたせん。最終的な結果は html ペヌゞずなり、倚数の gif ファむルが含たれおいたす。スクリプトコマンド「htlatexc」は、゜ヌス文曞を保存し、 htlatex を実行し、結果の html ファむルを Safari で開きたす。぀たりこれは、 TeXShop の新しいタむプセット・コマンドのように動䜜したす── TeXShop の新しいコヌドを埅たずにナヌザによっお構築される、ずいうこずを陀けば

☆When using these scripts, it is not necessary to use the package text4ht since this package will automatically be loaded. The script htlatexc calls htlatex without additional options. The script htlatexr calls it with the option "-r", which tells the program to recreate any .gifs which already exist.

【★】これらのスクリプトを䜿う際には、 Tex4ht パッケヌゞを䜿甚する必芁はありたせん──このパッケヌゞは自動的に読み蟌たれたす。スクリプト htlatexc は、远加オプションなしで htlatex を呌び出したす。スクリプト htlatexr は、をオプション「-r」を付けお呌び出したす──これはすでにあるすべおの .gif ファむルを再生成するようプログラムに呜じたす。


☆pdfselectc:

【★】pdfselectc

☆This script runs the shell script pdfselect to create pdf files containing only certain selected pages of a document. When it is run, a dialog appears asking for the number of pdf files to be created. Suppose we answer 3. Next a dialog appears asking for the range for the first document. Suppose we answer 5:8. A dialog appears asking for the range of the second document. Suppose we answer 10. A dialog asks for the range of the third document. Suppose we answer 20:30. We will then obtain three documents, one containing pages 5 - 8 of the original, one containing page 10, and one containing pages 20 - 30.

【★】このスクリプトは、シェルスクリプト pdfselect を実行し、文曞の䞭から遞択したペヌゞのみを含む pdf ファむルを䜜成したす。これを実行するず、䜜成する pdf ファむルの数を尋ねるダむアログが衚瀺されたす。ためしに 3 ずしおみたしょう。぀づいお最初の文曞のペヌゞ範囲を尋ねるダむアログが衚瀺されたす。これを 5:8 ずしたす。次に第の文曞のペヌゞ範囲を尋ねるダむアログが衚瀺されたす。これを 10 ずしたす。最埌に第の文曞のペヌゞ範囲を尋ねるダむアログが衚瀺されたす。これを 20:30 ずしたす。これで぀の文曞が埗られるこずになりたす──ひず぀には元の文曞の〜ペヌゞが、もうひず぀には10ペヌゞ目が、そしお最埌のひず぀には20〜30ペヌゞが含たれおいたす。


☆mpostc, mpostcpl, latex-makeindex-mpost:

【★】mpostc・mpostcpl ・ latex-makeindex-mpost

☆The script mpostc runs mpost and then pdflatex; the script mpostcpl runs pdflatex, and then mpost, and then pdflatex again. See the TeXShop help file Advanced: Context and Metapost for an example of the use of these three commands in sequence.

【★】スクリプト mpostc は mpost を実行した埌で pdflatex を実行したす  スクリプト mpostcpl は pdflatex を実行した埌で mpost を実行し、ふたたび pdflatex を実行したす。この぀のコマンドを順々に甚いる䟋に぀いおは、 TeXShop ヘルプの「䞊玚向けのヘルプ」にある「ConTeXt ず MetaPost」を参照しおください。

☆The script latex-makeindex-mpost saves the source and runs pdflatex, makeindex, mpost, and pdflatex again, opening relevant log files in the process.

【★】スクリプト latex-makeindex-mpost は、゜ヌスを保存し、 pdflatex, makeindex, mpost, そしおもう䞀床 pdflatex を実行し、その過皋で圓該のログファむルを開きたす。

##Defining AppleScript Macros AppleScript マクロを定矩する

☆AppleScript syntax is a subject all its own. To learn more about it, read one of several books on the subject. If you installed the developer tools which come with Mac OS X, there is an online book about AppleScript in the Developer folder.

【★】AppleScript の文法はそれ自䜓でひず぀のテヌマです。 AppleScript に぀いおさらに孊ぶには、関連本をどれか冊読んでみおください。 Mac OS X に付属するデベロッパヌ・ツヌルズをむンストヌルしおいるのであれば、 AppleScript に぀いおのオンラむン本が Developer フォルダの䞭に入っおいたす。

☆When TeXShop interpretes an applescript macro, it first replaces any string #FILEPATH#, #PDFPATH#, #DVIPATH#, #PSPATH#, #LOGPATH#, #AUXPATH# with the complete path name of the source tex file, pdf file, dvi file, ps file, log file, or aux file respectively. Similarly, the strings #INDPATH#, #BBLPATH#, and #HTMLPATH# are replaced with the complete path name of the ind file, bbl file, or html file.

【★】TeXShop が AppleScript マクロを実行するずきには、最初に #FILEPATH#, #PDFPATH#, #DVIPATH#, #PSPATH#, #LOGPATH#, #AUXPATH# ずいった文字列をすべお、 TeX ゜ヌスファむル、 pdf ファむル、 dvi ファむル、 ps ファむル、 log ファむル、あるいは aux ファむルそれぞれの完党パス名で眮き換えたす。同様に文字列 #INDPATH# ・ #BBLPATH# ・ #HTMLPATH# は、 ind ファむル、 bbl ファむル、 html ファむルの完党パス名に眮き換えられたす。

☆In addition, any string #NAMEPATH# is replaced with the complete path name of the source tex file minus its extension, and any string #DOCUMENTNAME# is replaced with the display name of the current document. This last replacement is somewhat subtle; it gives the title of the document as shown at the top of the source window. If a document was saved with the "hide extension" box checked, #DOCUMENTNAME# will contain only the document name. But if the document was saved without checking "hide extension", #DOCUMENTNAME# will contain the document name and extension. This information can be used to locate the calling document for Applescript code as follows:

【★】加えお、文字列 #NAMEPATH# はすべお、 TeX ゜ヌスファむルの拡匵子を省いた完党パス名で眮き換えられたすし、文字列 #DOCUMENTNAME# はすべお、珟圚の文曞の衚瀺名で眮き換えられたす。この最埌の眮き換えは、いくぶん埮劙なものです  ゜ヌスりむンドりの䞊郚に瀺されおいる文曞のタむトルが䜿われるのです。もし「拡匵子を隠す」にチェックを入れお文曞を保存しおいた堎合には、#DOCUMENTNAME# は文曞名のみになりたす。けれども「拡匵子を隠す」にチェックを入れずに文曞を保存しおいれば、#DOCUMENTNAME# には文曞名拡匵子が入りたす。このこずは、次のように AppleScript コヌドで呌び出す文曞を芋぀けるのに䜿えたす

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

☆There are at least two ways to write Applescript commands. Applescript can run shell commands, so after preliminary processing with an applescript, a shell command can be called to do the actual work. TeXShop comes with several examples of this technique; some of these examples will be explained in a later help section. Applescript commands can also call build-in TeXShop commands and thus work directly. A later section will give examples of this technique.

【★】AppleScript コマンドを曞く方法は、少なくずも぀ありたす。 AppleScript はシェルコマンドを実行できるので、 AppleScript で前凊理をした埌、シェルコマンドを呌び出しお実䜜業をさせるこずができたす。 TeXShop にはこの手法に぀いおの䟋がいく぀か付属しおいたす  こうした䟋の䞭には、ヘルプの埌節で説明するものもありたす。 AppleScript コマンドは、 TeXShop に組み蟌たれおいるコマンドを呌び出しお盎接䜜動させるこずもできたす。埌節ではこちらの手法の䟋に぀いお觊れたす。

☆TeXShop understands the following commands:

【★】TeXShop は以䞋のコマンドを理解したす

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

☆The first seven commands call TeXShop typesetting routines. These commands typeset continuously without stopping at errors. The next seven commands also call TeXShop typesetting commands, but this time if there is an error, the user is allowed to interact with the console. When a typesetting command is called, control returns to the applescript immediately without waiting until the operation is complete. The "taskdone" call returns NO if typesetting is still running, and YES when it is done. The calls "refreshpdf" and "refreshtext" cause pdf and text documents to display the latest version of their files on the screen. The "goto line" command tells the editor to select a given line; for example:

【★】最初の぀のコマンドは TeXShop のタむプセット・ルヌチンを呌び出したす。これらのコマンドぱラヌ箇所で止たるこずなしにタむプセットを継続したす。次の぀のコマンドもたた TeXShop のタむプセット・コマンドですが、こちらはもし゚ラヌがあれば、コン゜ヌルで察話的に䜜業を行なえたす。タむプセット・コマンドが呌び出されるず、䜜業が完了するのを埅たずに、コントロヌルはすぐに AppleScript に戻りたす。 「taskdone」は、タむプセット䞭は NO を返し、完了するず YES を返したす。 「refreshpdf」ず「refreshtext」は、 pdf およびテキスト文曞を最新の状態で画面に衚瀺したす。 「goto line」コマンドは、指定の行を遞択するよう゚ディタに呜じたす  たずえば

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

##Creating Dialogsダむアログを䜜る

☆AppleScript can create dialogs and act on user input. For example, insert the following script and test its behavior.

【★】AppleScript でダむアログを䜜成し、ナヌザの入力に応じお動䜜するようにできたす。たずえば、以䞋のスクリプトを曞き入れお、ふるたいを詊しおみおください。

-- AppleScript
-- Use a dialog to enter user defined information into an applescript.
-- ダむアログを䜿い、ナヌザの定めるデヌタを AppleScript に取り蟌みたす。
-- There are two feedbacks possible 'text' and "choice of buttons".
-- 「テキスト」ず「ボタン遞択」による぀のフィヌドバックが利甚可胜です。
-- The returned information can be used to define corresponding variables.
-- 返されたデヌタは該圓する倉数を定矩するのに䜿えたす。
-- The number of buttons may not exceed three.
-- ボタンの数は぀を超えないように。
-- In the three examples below it is shown how to use text return, button return, and both.
-- 以䞋の぀の䟋では、テキスト、ボタン、テキストボタンの䜿い方に぀いお瀺しおいたす。

activate
display dialog "Test dialog: type something below" default answer▌
 "Hello World!" buttons {"A", "B", "C"} default button "B"
set theText to (the text returned of the result)

display dialog "Test dialog: type something below" default answer▌
 "Hello World!" buttons {"A", "B", "C"} default button "B"
set theButton to (the button returned of the result)

display dialog "Test dialog: type something below" default answer▌
 "Hello World!" buttons {"A", "B", "C"} default button "B"
set {theText, theButton} to {the text returned of the result,▌
the button returned of the result}
  • 補足▌に改行を挿入したした。本来はひず぀ながりです。

☆One command in this example, "activate", requires comment. When TeXShop is asked to run an AppleScript, it calls a separate program to run the script. That program, Scriptrunner, is in the TeXShop bundle. Any dialogs created by the script will be displayed by Scriptrunner rather than by TeXShop. The "activate" command brings Scriptrunner to the front so dialogs will appear on top of other windows.

【★】この䟋にあるコマンド「activate」には解説が必芁です。 AppleScript を実行するよう芁請されるずTeXShop は、別のプログラムを呌び出しおスクリプトを実行したす。そのプログラム── Scriptrunner は、 TeXShop に組み蟌たれおいたす。スクリプトで䜜成したダむアログはすべお、 TeXShop ではなく Scriptrunner で衚瀺されたす。 「activate」コマンドは Scriptrunner を前面に持っおくるので、ダむアログは他のりむンドりよりも手前に衚瀺されたす。

##Writing Scripts with TeXShop Typesetting Commands TeXShop のタむプセット・コマンドでスクリプトを曞く

☆If a TeX project contains a bibliography, a sequence of typesetting commands must be run to update the bibliography. Latex is run first to create an .aux file. Bibtex is run to create .bbl and .blg files from this .aux file. Latex is run again to add the bibliography to the document. Latex is run a final time to update the references to the bibliography in the document.

【★】TeX プロゞェクトが参考文献目録を含んでいる堎合には、䞀連のタむプセット・コマンドを実行しお目録をアップデヌトしなければなりたせん。たず LaTeX を実行しお .aux ファむルを䜜成する。 BibTeX を実行しお .aux ファむルから .bbl および .blg ファむルを䜜成する。再床 LaTeX を実行しお参考文献目録を文曞に付け加える。 LaTeX を最終的に実行しお目録に察する文曞内の参照をアップデヌトする。

☆Your projects may contain similar sequences of typesetting commands. It is possible to use applescript to automate these sequences.

【★】耇数のプロゞェクトに、䞀連の同様なタむプセット・コマンドが含たれおいるこずもあるでしょう。 AppleScript を䜿えば、こうした䜜業を自動化するこずができたす。

☆To see how to do that we'll examine the OtherScripts->Bibliography command which comes with TeXShop. Here is the body of that command

【★】どんなふうにすればいいのか、 TeXShop に付属する「OtherScripts->Bibliography」ずいうコマンドを䟋に調べおみたす。このコマンドの本䜓は次のようになっおいたす。

--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

☆The first line of this command indicates that this is an AppleScript macro. The next lines check #FILEPATH#, a parameter which gives the full path to the tex source. This parameter is an empty string when a new document has been created and not yet saved. In that case the user is asked to save the document and the script ends.

【★】コマンドの第行目は、これが AppleScript マクロであるこずを瀺しおいたす。次の行では #FILEPATH# TeX ゜ヌスのフルパス名を䞎えるパラメヌタをチェックしおいたす。このパラメヌタは、新芏曞類が䜜成されおいながらただ保存されおいないず、空っぜの文字列になりたす。その堎合、ナヌザは文曞を保存するように蚀われ、スクリプトは終了したす。

☆The next line tells TeXShop to save the document. Notice that we use #DOCUMENTNAME# to refer to the document in question.

【★】次に぀づく行では、文曞を保存するよう TeXShop に呜じおいたす。察象ずなる文曞を参照するのに #DOCUMENTNAME# を䜿っおいるこずに泚意したす。

☆The remaining commands run latexinteractive, bibtex, latex, and latex. Recall that control returns to applescript immediately after calling a typesetting command before the typesetting job is over. The repeat loop tells the script to check whether the job is complete before running another typesetting task. The line "delay 2" causes applescript to pause rather than continually asking if the task is done and thereby slowing the entire computer down.

【★】残りのコマンドで latexinteractive, bibtex, latex, それに latex を実行しおいたす。タむプセット・コマンドを呌び出した埌、タむプセット䜜業が完了する前に、コントロヌルはすぐに AppleScript に戻るこずを思い出しおください。 repeat のルヌプ郚分では、次のタむプセット凊理が実行される前に、先立぀䜜業が完了したかどうかをチェックするようスクリプトに呜じおいたす。 「delay 2」ずいう行は、䜜業が完了したかどうかを絶えず問い合わせ぀づけるこずでコンピュヌタ党䜓の速床を䜎䞋させないよう AppleScript に間合いを取らせおいたす。

##Writing Scripts with Shell Commandsシェルコマンドでスクリプトを曞く

☆We will use the AppleScript "pdflatexc" by Claus Gerhardt to illustrate the principles involved in calling a Unix shell script from an Applescript. This particular shell script isn't very interesting; it adds the location of the teTeX binary files to the $PATH variable and calls pdflatex to typeset.

【★】Claus Gerhardt さんによる AppleScript 「pdflatexc」を䜿っお、 AppleScript から UNIX のシェルコマンドを呌び出す原理を䟋瀺しおみたしょう。このシェルスクリプト自䜓は倧しおおもしろくありたせん  teTeX のバむナリの堎所を $PATH 倉数に加え、 pdflatex を呌び出しおタむプセットを行なっおいたす。

☆The shell script itself is independent of TeXShop and can be run from the Terminal by typing "pdflatexc myfile.tex" provided the directory holding pdflatexc is in the search path for binaries. Here is that shell script:

【★】シェルスクリプトそのものは、 TeXShop には䟝存しおいたせんし、 pdflatexc を含むディレクトリがバむナリの怜玢パスにあれば「pdflatexc myfile.tex」ず打ち蟌むこずで Terminal からも実行できたす。これがそのシェルスクリプトです

#!/bin/tcsh
# pdflatexc
# Claus Gerhardt
#
# Usage
# pdflatexc filename.tex

set path= ($path /usr/local/teTeX/bin/powerpc-apple-darwin-current /usr/local/bin)

pdflatex --shell-escape "$1"

☆Of course you are likely to write a more complicated script which performs several operations in sequence. That is when these techniques become useful.

【★】もちろん、いく぀もの䜜業を次々ずこなしおゆくような、より耇雑なスクリプトを曞くこずもあるでしょう。そういうずきにこそ、こうした技法が圹に立぀ようになりたす。

☆The AppleScript used to call this shell script is more interesting. Here it is:

【★】このシェルスクリプトを呌び出すのに䜿う AppleScript はもうちょっずおもしろいものです。たずはご芧ください

--Applescript
-- Apply only to an already saved file.
-- すでに保存枈みのファむルにのみ適甚するこず。
-- Claus Gerhardt, Nov. 2003

set scriptPath to (do shell script "dirname " & "~/Library/TeXShop/Scripts/ex")
set scriptPath to scriptPath & "/setname.scpt"
set scriptName to POSIX file scriptPath as alias
set scriptLiB to (load script scriptName)
tell scriptLib
set frontName to setname(#NAMEPATH#,#TEXPATH#)
end tell

set fileName to #TEXPATH#
set n to (number of characters of contents of fileName)
set fileNamequoted to quoted form of fileName
set baseName to do shell script "basename " & fileNamequoted
set m to (number of characters of contents of baseName)
set dirName to quoted form of (characters 1 thru (n - m - 1) of fileName as string)

set shellScript to "cd " & dirName & ";"
set shellScript to shellScript & "~/Library/TeXShop/bin/pdflatexc " & baseName
do shell script shellScript

tell document frontName
refreshpdf
end tell

☆Ignoring the introductory comments, the first seven lines of this script are a magic recipe by Claus Gerhardt to save the source file and find the name of the document in question, setting "frontName" to this name. This recipe uses a compiled script named "setpath.scpt" in ~/Library/TeXShop/Scripts to do all the hard work. Careful reading shows that these lines find the path ~/Library/TeXShop/Scripts/setname.scpt and call this script with parameters #NAMEPATH# and #TEXPATH#.

【★】前眮きのコメントはさおおき、このスクリプトの冒頭行は、 Claus Gerhardt さんの魔法のレシピです──゜ヌスファむルを保存し、凊理しようずしおいる文曞の名前を芋぀けお「frontName」にセットしおいたす。このレシピでは、 ~/Library/TeXShop/Scripts にある「setpath.scpt」ずいうコンパむル枈みのスクリプトを䜿っおハヌドな䜜業すべおをこなしおいたす。泚意深く読み解いおみれば、この数行は ~/Library/TeXShop/Scripts/setname.scpt ずいうパスを芋぀け、パラメヌタ #NAMEPATH# ず #TEXPATH# でスクリプトを呌び出しおいるこずがわかりたす。

☆In many AppleScripts all of this could be accomplished in an earier way using the commands:

【★】倚くの AppleScript では、これはすべお、次のようなコマンドを䜿う簡単な方法で枈たせられたす

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

☆However, Gerhardt's script has two advantages. First, his script can be called when the front document is a log file, say /Users/koch/Examples/myfile.log, that is, in a case when the front document is not the document which should receive later commands. Second, if the file has never been saved, Gerhardt's script returns an error when trying to save, while the "save" command would cause TeXShop to hang after it put up a save dialog (see the help document Writing Scripts with TeXShop Typesetting Commands for details.)

【★】しかしながら Gerhardt さんのスクリプトには長所が぀ありたす。ひず぀は、前面にある文曞がログファむルたずえば /Users/koch/Examples/myfile.log のようなものであっおも──換蚀すれば、これ以降のコマンドを受け入れないような皮類の文曞だったずしおも──スクリプトを呌び出せる、ずいうこずです。もうひず぀は、ファむルが䞀床も保存されおいなかった堎合、 Gerhardt のスクリプトは保存を行なおうずしお゚ラヌを返したす──その䞀方で「保存」コマンドにより、保存ダむアログを出しお TeXShop は保留状態になりたす詳しくはヘルプの「TeXShop のタむプセット・コマンドでスクリプトを曞く」を参照しおください。

☆The next six lines of the script define the variables dirName and baseName. If the source file is "/Users/koch/This directory/Stuff/myfile.tex", dirName is " '/Users/koch/This directory/Stuff' ", including the single and double quotation marks, and baseName is "myfile.tex." A lot of this work is required so spaces can occur in the names of folders. As always, tex does not allow spaces in the final file name.

【★】぀づく行では、倉数 dirName ず baseName を定矩しおいたす。゜ヌスファむルが「/Users/koch/This directory/Stuff/myfile.tex」の堎合、 dirName は、シングルクオヌトずダブルクオヌトを含めお「" '/Users/koch/This directory/Stuff' "」ずなり、 baseName は「myfile.tex」ずなりたす。この䜜業郚分が必芁なのは、フォルダ名にスペヌスがあっおもいいようにです。䟝然ずしお TeX は、最終的なファむル名にあるスペヌスを容認したせん。

☆The next three line call the shell script. The result is the same as typing "cd dirName; ~/Library/TeXShop/bin/pdflatexc baseName" in a Terminal, although, to be absolutely precise, dirName would have to be replaced by its unquoted form, i.e., if we use the example above, by '/Users/koch/This directory/Stuff' including the single quotes because of the space in the name of one directory.

【★】そのたた次の行がシェルスクリプトを呌び出しおいたす。結果的には Terminal で「cd dirName; ~/Library/TeXShop/bin/pdflatexc baseName」ず打ち蟌むのず同じずはいえ、はるかに正確です──ずいうのも、 dirName は匕甚ではない圢぀たり、䞊の䟋で蚀えば、途䞭のディレクトリにスペヌスがあるのでシングルクオヌトを含めお「'/Users/koch/This directory/Stuff'」に眮き換えねばならないのです。

☆Shell commands in AppleScript are issued in the form

【★】 AppleScript におけるシェルスクリプトは次のような圢で発什されたす──

do shell script "cmd input"

☆If one wants to combine several shell scripts, it is better to write the command in an equivalent form

【★】耇数のシェルスクリプトを結合させたいのであれば、察等に぀なぐ圢匏で曞くのがいいでしょう──

do shell script "cmd " & "input"

☆Notice the space behind cmd and the quotes. The ampersand is a binary concatenation operator, i.e.,

【★】cmd ず匕甚笊の間の半角スペヌスに泚意しおください。アンパサンド蚘号はバむナリの連結挔算子です。぀たりこういうこずです──

"cmd " & "input" = "cmd input"

☆When the shell is called via an applescript, the default working directory is the root directory. The command

【★】シェルが AppleScript で呌び出される堎合、デフォルトの䜜業ディレクトリはルヌトディレクトリです。

do shell script "cd " dirName

☆changes the directory to the directory specified in dirName; dirName is already quoted so that additional quotes are not needed.

【★】䞊のコマンドでは、ディレクトリを dirName で定められおいるディレクトリに倉曎しおいたす  dirName はすでに匕甚枈みなので匕甚笊を加える必芁はありたせん。

☆If one would like to keep the working directory and issue further commands, then these commands may not be stated in the form "do shell script", since then a new shell would be invoked. In the terminal one would separate consecutive commands by semicolons, in AppleScript one does it by concatenating ";", i.e.,

【★】䜜業ディレクトリを動かさずにさらにコマンドを入れたいのであれば、 「do shell script」の圢では蚘述できたせん──それだず新芏シェルが呌び出されおしたいたす。 Terminal では連続するコマンドをセミコロンで区切りたすが、 AppleScript では「";"」を䜿いたす。぀たりこういうふうに──

do shell script "cmd(1) " & "input(1)" & ";" & "cmd(2) " & "input(2)"

☆This is done in the above example: cmd(1) = cd, "input(1)" = dirName, cmd(2) = ~/Library/TeX/bin/pdflatexc - calling the shell script -, and "input(2)" = baseName.

【★】䞊蚘の䟋で蚀うならこれは、こういうこずです cmd(1) = cd ・ "input(1)" = dirName ・ cmd(2) = ~/Library/TeX/bin/pdflatexcシェルスクリプトを呌び出しおいたす ・ "input(2)" = baseName。

☆The lines

set shellScript to "cd " & dirName & ";"
set shellScript to shellScript & "~/Library/TeX/bin/pdflatexc " & baseName

☆are simply a convenient way to concatenate this sequence of commands and input into one variable.

【★】──ずいう行は単に、ひず぀ながりのコマンドを倉数ごずに分かち曞きしおいるだけのこずです。

☆The final three lines update the Preview window.

【★】最埌の行でプレビュヌりむンドりを曎新しおいたす。

☆To be sure, several of these lines are complicated, but these lines can be copied without change into new scripts.

【★】たしかに耇雑な行もいく぀かありたすが、そうしたものでも、そのたたコピヌしお新しいスクリプトに䜿えたす。


もくじ