TeX
出典: Wikipedio
|
3966hE <a href="http://otvoqdfbmdze.com/">otvoqdfbmdze</a>, [url=http://ermhmrtiohqs.com/]ermhmrtiohqs[/url], [link=http://fcpvmwelhtfb.com/]fcpvmwelhtfb[/link], http://lamrgvaieynw.com/
Template:Infobox Software Template:TeX(読み方については、「読み方」の小節を参照)は数学者・計算機科学者であるドナルド・クヌース (Donald E. Knuth) により作られた組版処理ソフトウェアである。
目次 |
名称について
製作者であるクヌースによって以下のように要請されている。
表記法
正しくは “Template:TeX” (middle|x20px|\TeX) と表記するが、それができない場合には “TeX” と表記する(“TEX” と表記するのは誤り)。
読み方
Template:TeX はギリシャ文字の Τ-Ε-Χ(タウ・イプシロン・カイ)であるから、「テックス」ではなく、ギリシャ語読みの [tex](「テフ」)のように発音するのが正しい。しかしそのような発音は難しいので、クヌースは「テック」<ref>古代ギリシャ語読みの [tekh] に近い。</ref>と読んでも構わないとしている。日本では「テフ」または「テック」という読み方が広まっている。
機能
Template:TeX はマークアップ言語処理系であり、チューリング完全性を備えた関数型言語でもある。文章そのものと、文章の構造を指定する命令とが混在して記述されたテキストファイルを読み込み、そこに書かれた命令に従って文章を組版して、組版結果を DVI 形式のファイルに書き出す。DVI 形式というのは、装置に依存しない (device-independent) 中間形式である。
DVI ファイルには紙面のどの位置にどの文字を配置するかといった情報が書き込まれている。実際に紙に印刷したりディスプレイ上に表示したりするためには、DVI ファイルを解釈する別のソフトウェアが用いられる。DVI ファイルを扱うソフトウェアとして、各種のヴューワや PostScript など他のページ記述言語へのトランスレータ、プリンタドライバなどが利用されている。
組版処理については、行分割およびページ分割位置の判別、ハイフネーション、リガチャ、およびカーニングなどを自動で処理でき、その自動処理の内容も種々のパラーメータを変更することによりカスタマイズできる。数式組版についても、多くの機能が盛り込まれている。Template:TeX が文字などを配置する精度は [25.4 / (72.27 × 65,536)] mm(約 5.363 nm、4,736,286.72 dpi)である。
Template:TeX の扱う命令文の中には、組版に直接係わる命令文の他に、新しい命令文を定義するための命令文もある。Template:TeX のこの機能を使って使用者が独自に作った命令文はマクロと呼ばれ、こうした独自の改良をマクロパッケージと呼ばれる形で配布できる。
比較的よく知られている Template:TeX 上のマクロパッケージには、クヌース自身による plain Template:TeX、一般的な文書記述に優れた [[LaTeX|Template:LaTeX]] (LaTeX)、数学的文書用の AMS-TeX などがある。一般の使用者は、Template:TeX を直接使うよりも、Template:TeX に何らかのマクロパッケージを読み込ませたものを使うことの方が多い。そのため、これらのマクロパッケージのことも “Template:TeX” と呼ぶ場合があるが、本来は誤用である。
Template:TeX のマクロパッケージには、他にも
- [[BibTeX|Template:BibTeX]] (BibTeX) - 参考文献リストの作成に用いる
- [[SLiTeX|Template:SLiTeX]] (SLiTeX) - プレゼンテーション用スライドの作成に用いる<ref>The Template:TeX Catalogue OnLine, Entry for slides, Ctan Edition(Ring Server によるミラーリング)</ref>
- AMS-LaTeX (middle|x29px|\AmS-\LaTeX) - 数学的な文書の記述に強い AMS-TeX の機能と Template:LaTeX の機能を併せ持つ<ref>AMS-LaTeX — American Mathematical Society</ref><ref>The Template:TeX Catalogue OnLine, Entry for amslatex, Ctan Edition(Ring Server によるミラーリング)</ref>
- XyMTeX (Template:XyMTeX) - 化学構造式の描画に用いる<ref>XyMTeX 化学構造式描画システム</ref><ref>The Template:TeX Catalogue OnLine, Entry for XyMTeX, Ctan Edition(Ring Server によるミラーリング)</ref>
- [[MusiXTeX|MusiXTemplate:TeX]] - (MusiXTeX)楽譜の記述に用いる <ref>Werner Icking Music Archive: MusiXTemplate:TeX Files</ref><ref>The Template:TeX Catalogue OnLine, Entry for MusiXTemplate:TeX, Ctan Edition(Ring Server によるミラーリング)</ref>
などがある。
Template:TeX とそれに関連するプログラム、および Template:TeX のマクロパッケージなどは CTAN(Comprehensive TeX Archive Network、包括 Template:TeX アーカイブネットワーク)<ref>the Comprehensive Template:TeX Archive Network(Ring Server によるミラーリング)</ref>からダウンロードできる。
数式の表示例
Wikipediaでも数式の表現にはTeXを使用している。例えば
<source lang=latex>
-b \pm \sqrt{b^2 - 4ac} \over 2a
</source>
は以下のように表示される。
<source lang=latex>
f(a,b)=\int_a^b\frac{1+x}{a+x^2+x^3}dx </source> は以下のように表示される。
生い立ち
Template:TeX は、クヌースが自身の著書 The Art of Computer Programming を書いたときに、組版の汚さに憤慨し、自分自身で心行くまで組版を制御するために作成したとされている。開発にあたって、伝統的な組版およびその関連技術に対する広範囲にわたる調査を行った。その調査結果を取り入れることで、Template:TeX は商業品質の組版ができる柔軟で強力な組版システムになった。
Template:TeX はフリーソフトウェアであり、ソースコードも公開されていて、誰でも改良を加えることができる。その改良版の配布も、Template:TeX と区別できるような別名を付けさえすれば許される。また、Template:TeX は非常にバグが少ないソフトウェアとしても有名で、ジョーク好きのクヌースが、バグ発見者に対しては前回のバグ発見者の2倍の懸賞金をかけるほどである。この賞金は小切手で払われるのだが、貰った人は記念に取っておく人ばかりなので、結局クヌースの出費はほとんど無いという。
クヌースは Template:TeX のバージョン 3 を開発した際に、これ以上の機能拡張はしないことを宣言した。その後は不具合の修正のみがなされ、バージョン番号は 3.14、3.141、3.1415、... というように付けられている。これは更新のたびに数字が円周率に近づいていくようになっていて、クヌースの死の時点をもってバージョン π として、バージョンアップを打ち切るとのことである<ref>2008年3月28日現在のバージョンは 3.1415926。</ref>。
クヌースは Template:TeX の開発と同時に、Template:TeX で利用するフォントを作成するためのシステムである METAFONT も開発した。こちらのバージョン番号は 2.71、2.718、2.7182、... というように、更新のたびに数字がネイピア数に近づいていくようになっている<ref>2008年3月24日現在のバージョンは 2.718281。</ref>。さらにクヌースは METAFONT を使って、Template:TeX の初期設定欧文フォントである Computer Modern のデザインも行った。
Template:TeX および METAFONT は、これもクヌース自身によって提唱されている文芸的プログラミング (Literate Programming) を実現する WEB というシステムで Pascal へトランスレートされることを前提に記述されている。しかし実際には WEB2C で C言語に変換してコンパイルされ実行形式を得ることが多い。
Template:TeX の日本語化
日本語組版処理のできる日本語版の Template:TeX および Template:LaTeX には、アスキー・メディアワークスによる [[Publishing TeX|Template:PTeX]] (pTeX) および pTemplate:LaTeX (pLaTeX) と、NTT の斉藤康己による [[NTT JTeX|NTT Template:JTeX]] (NTT JTeX)<ref>NTT Template:JTeX は千葉大学の櫻井貴文によって UNIX システムに移植され、メンテナンスされている。現在、「Software by Takafumi Sakurai」で公開されている。</ref> および NTT Template:JLaTeX (NTT JLaTeX) などがある。
Template:TeX の日本語対応において技術的に最も大きな課題は、複数バイト文字コードへの対応である。Template:PTeX(および前身の日本語 Template:TeX)は、JIS X 0208 を文字集合とした文字コード(ISO-2022-JP、EUC-JP、および Shift_JIS)を直接扱う。DVI フォーマットは元々16ビット以上の文字コードを格納できる仕様が含まれていた。しかしオリジナルの英語版では使われていなかったため、既存プログラムの多くは Template:PTeX が出力する DVI ファイルを処理できない。またフォントに関係するファイルフォーマットが拡張されている。これに対して NTT Template:JTeX は、複数の1バイト文字セットに分割することで対応している。例えば、ひらがなとカタカナは内部的には別々の1バイト文字セットとして扱われる。このためにオリジナルの英語版からの変更が小さく、移植も比較的容易である。ファイルフォーマットが同じなので英語版のプログラムで DVI ファイル等を処理することもできる。しかし後述するフォントのマッピングの問題があるため、実際には多くの使用者が NTT Template:JTeX 用に拡張されたプログラムを使っている。
使用する日本語用フォントについては Template:PTeX が写研フォントの使用を、NTT Template:JTeX が大日本印刷フォントの使用を前提としており、それぞれフォントメトリック情報(フォントの文字寸法の情報)をバンドルして配布している。しかし有償であるこれらのフォントのグリフ情報を持っていなくても、画面表示や印刷の際に使用者が利用できる他の日本語用フォントで代用することができる。つまり写研フォントや大日本印刷フォントのフォントメトリック情報を用いて文字の位置を固定し、画面表示や印刷には他の日本語用フォントを用いていることが可能である。このため日本語化された Template:TeX 関係プログラムのほとんどは、画面表示や印刷で実際に使うフォントを選択できるように、フォントのマッピング(対応付け)を定義する機能を持っている。
歴史的には、アスキーが日本語 Template:TeX の PC-9800 シリーズ対応版を販売したために個人の使用者を中心に普及した。一方、NTT Template:JTeX は元の英語版プログラムからの変更が比較的小さいという利点を受けて、UNIX® および UNIX 互換 OS を使う大学や研究機関の関係者を中心に普及した。
しかし現在では次に挙げる理由から、日本語対応 Template:TeX として Template:PTeX が使われていることが多い。
- UNIX® 用、および UNIX 互換 OS 用の主な日本語対応 Template:TeX 配布形態である ptexlive<ref>ptexlive Wiki</ref> や ptetex3<ref>ptetex—teTemplate:TeX 用日本語パッチ集</ref><ref>ptetex Wiki</ref> が Template:PTeX のみを採用している。
- Microsoft Windows 用の主な日本語対応 Template:TeX 配布形態である W32Template:TeX<ref>W32Template:TeX (Japanese page)</ref> が Template:PTeX を扱える(NTT Template:JTeX も扱える)。
- Template:PTeX の扱い方を解説する文献の方が、NTT Template:JTeX のものに比べて、出版物と Web 上文書の両方で多い。
- Template:PTeX は縦組みにも対応しているが、NTT Template:JTeX は対応していない。
Template:TeX による組版の作業工程
Template:TeX を利用して組版を行うには、通常次のような作業工程を取る。
- テキストエディタなどを用いて、文章に組版用命令文を織り込んだソースファイルを作成する。
- OS のコマンドラインから “
tex FileName.tex
” などと入力して Template:TeX を起動し、DVI ファイルを生成させる。- ソースファイルにエラーがあれば、修正して再度 Template:TeX を起動する。
- DVI ウェアとよばれる DVI 命令文を解するソフトウェアを用いて組版結果を表示し、確認する。
- DVI ウェアには xdvi/xdvik や dviout for Windows<ref>dviout/dviprt 開発室 — Oshima Laboratory</ref><ref>The Template:TeX Catalogue OnLine, Entry for dviout, Ctan Edition(Ring Server によるミラーリング)</ref> などの DVI ヴューア、Dvips(k) や dvipdfm/DVIPDFMx などのファイル形式変換ソフトウェアなどがある<ref>各 DVI ウェアの間には DVI ファイルの解釈・表示について互換性がない場合がある。特に、ある DVI ウェアに依存したパッケージをソースファイルに用いるなどして、その DVI ウェア用の専用命令文 (special) を埋め込んで作成した DVI ファイルは、当然ながらその専用命令文を解釈可能な DVI ウェアでなければ画面表示・印刷などが正しくできない。</ref>。
- DVI ファイルを DVI ヴューアで画面表示または印刷する、あるいは PDF や PostScript に変換して画面表示または印刷することで、組版結果を確認する。
- 修正の必要があれば、ソースファイルを修正して再度 DVI ファイルを作成、確認する。
この間、作業工程が変わるたびにそれぞれのプログラムを切り替えたり、扱う文書が大きいと章ごとにソースファイルを分割して管理したりと、比較的煩雑な作業を伴う。そのため、この工程に係わる各種のプログラムやソースファイルの管理を一元的に行う Template:TeX 用の統合環境がいくつか作成されている。
GUI 環境と Template:TeX
GUI は PC の普及に一役買ったが、同時に GUI しか触ったことのない PC 利用者が増加した。そのような利用者が、コマンドラインでの操作を余儀なくされる Template:TeX を非常に扱いづらく感じてしまうのは否めないことである。このため、GUI に特化した Template:TeX 用統合環境もいくつか作成されている。
関連ソフトウェア
- xdvi/xdvik、dviout for Windows、Dvips(k)、dvipdfm/DVIPDFMx などの DVI ウェア。
- Template:TeX 文書の文献管理のための [[BibTeX|Template:BibTeX]] や索引作成のための MakeIndex<ref>The Template:TeX Catalogue OnLine, Entry for MakeIndex, Ctan Edition(Ring Server によるミラーリング)</ref>。
- [[pdfTeX|pdfTemplate:TeX]] (pdfTeX)、[[ConTeXt|Template:ConTeXt]] (ConTeXt)、[[e-TeX|Template:E-TeX]] (e-TeX)<ref>The Template:TeX Catalogue OnLine, Entry for etex, Ctan Edition(Ring Server によるミラーリング)</ref> などの機能拡張版 Template:TeX。
- Omega<ref>The Template:TeX Catalogue OnLine, Entry for Omega, Ctan Edition(Ring Server によるミラーリング)</ref> (lambda)、Aleph<ref>The Template:TeX Catalogue OnLine, Entry for aleph, Ctan Edition(Ring Server によるミラーリング)</ref> (lamed) などの、Unicode をベースとした多言語拡張版 Template:TeX。
- Kile、TeXShop<ref>TeXShop — Richard Koch</ref><ref>The Template:TeX Catalogue OnLine, Entry for TeXShop, Ctan Edition(Ring Server によるミラーリング)</ref>、EasyTeX<ref>Template:TeX 入門 #EasyTeX — 中川 仁</ref>、WinShell などの統合環境や、TeXmacs<ref>Welcome to GNU TeXmacs (FSF GNU project)</ref><ref>The Template:TeX Catalogue OnLine, Entry for TeXmacs, Ctan Edition(Ring Server によるミラーリング)</ref>、LyX などの GUI フロントエンド。
- [[TeX Live|Template:TeX Live]]<ref>Template:TeX Live — Template:TeX Users Group</ref><ref>The Template:TeX Catalogue OnLine, Entry for texlive, Ctan Edition(Ring Server によるミラーリング)</ref> や [[teTeX|teTemplate:TeX]] (teTeX)<ref>The teTemplate:TeX Homepage</ref><ref>The Template:TeX Catalogue OnLine, Entry for teTemplate:TeX, Ctan Edition(Ring Server によるミラーリング)</ref> などの Template:TeX 配布形態や、mimeTeX<ref>mimeTeX quickstart</ref><ref>The Template:TeX Catalogue OnLine, Entry for mimeTeX, Ctan Edition(Ring Server によるミラーリング)</ref> などの Template:TeX サブセット。
- Textext<ref>Textext — Pauli Virtanen</ref>、InkLaTeX<ref>Inkscape de Template:LaTeX</ref> などの Inkscape への Template:TeX プラグイン。
- KETpic は Maxima 上、Scilab 上、Mathematica 上、および Maple 上で Template:TeX 描画コードである tpic specials を生成するマクロパッケージ。
- MathType version 6.5 以降では、Microsoft Word 上に書かれた Template:TeX の命令文を直接数式に変換できるようになった。現時点では PowerPoint 上での Template:TeX の命令文による直接的な数式編集はできない。
参考文献
- 奥村晴彦『[改訂第4版]Template:LaTeX2e 美文書作成入門』技術評論社、2007年、ISBN 978-4-7741-2984-6
- 大野義夫 編『Template:TeX 入門』共立出版、1989年、ISBN 978-4-320-02488-5
脚注
関連項目
Template:Wikibooks Template:Meta Template:Meta
- Publishing TeX (pTeX)
- LaTeX
- pdfTeX
- ConTeXt
- DVI (ファイルフォーマット)
- ドナルド・クヌース (Donald Ervin Knuth)
- m:ヘルプ:数式の書き方
外部リンク
- Don Knuth's Home Page
- Knuth: Computers and Typesetting……Template:TeX のバージョンなども確認できる。
- Knuth: Message about Template:TeX fonts
- Template:TeX Users Group (TUG) web site
- the Comprehensive Template:TeX Archive Network (CTAN)
- Template:TeX Wiki……Template:TeX に関する日本語ウィキサイト。
- 子供たちと珠洲と Template:TeX と
- Yasuhiro Otomo's web page
- たなけんの濃いページ
- 学生有志による東京大学西洋古典学研究室のホームページ
- MyTeXpert
- TeXclip……Template:TeX を用いて数式の画像を生成できるウェブアプリケーション。ar:تخ
bg:TeX bs:TeX ca:TeX cs:TeX da:TeX de:TeX en:TeX eo:TeX es:TeX eu:TeX fa:تک fi:TeX fr:TeX ga:TeX hu:TeX id:TeX it:TeX ko:TeX lt:TeX ml:ടെക്ക് nl:TeX pl:TeΧ pt:TeX ro:TeX ru:TeX sk:TeX sl:TeX sr:Тех sv:TeX uk:TeX vec:TeX vi:TeX zh:TeX