TeX
TeX(テフ,テック)は,学術機関においては標準的な論文執筆ツールとしてよく使われているテキストベースの組版処理システム。オープンソースで開発されていて無料で使用できる。
文書を作成するという意味ではMicrosoft Wordのようなワープロと目的は同じなのだが,その文書の作成手順はかなり違っている。
TeXはマークアップ言語のスタイルをとっている。文章(テキスト)そのものと文章の構造を指定する命令(コントロールシーケンス)が記述されたファイルを読み込み,そこに書かれた命令により文章を組版し,組版結果をdviフォーマットのファイルに書き出す。
dviフォーマットは装置に依存しない(device-independent)中間フォーマットでバイナリデータ。dviファイルには,紙面のどの位置にどの文字を配置するかといった情報が書き込まれている。
実際に紙に印刷したりディスプレイ上に表示したりするためには,DVIファイルを解釈出来る別のソフトウェアが用いられる。
dviファイルを扱うソフトウェアとしては,各種のビューワーやPostScriptなど他のページ記述言語へのトランスレーター,プリンタドライバなどが利用されているようだ。
TeXの扱う命令文の中には組版に直接係わる命令文の他に,新しい命令文を定義するための命令文もある。こうした命令文はマクロと呼ばれ,TeXユーザー独自の改良により種々のマクロパッケージが配布されている。
LaTeXは,TeXにいろいろなマクロパッケージを組み込むことで一般的な文書記述に使いやすくしたもので,ラテフとかラテックとか言うみたい。
TeXと言うとLaTeXのことを言っている場合も多い。
LaTeXの特徴は以下のようなものがある。
- 無料である。
- 数式に強い。
- ほとんどのコンピュータで使える。
Windows,OS X,Unix系OS(Linux,BSD系OS),モバイル端末のOS(Android,iOS)等,多くのOS上で利用できる。
- ソースファイル(文書)はテキストファイル。
このため異なるシステムでもファイルを共通に使え,電子メールなんかでも簡単に交換できる。
- ソースファイル(文書)をコンパイルして,DVIファイルやPDFファイルを作成する。
なのでコンパイルして表示してみないと,実際の文書がどのようになっているかわからない。
- 他のファイルをインクルードすることで過去の文章や他の人の文章の再利用が簡単。
これは大規模な文書を何人かで分割作成や並行作成することが容易になる。
- 大量のページ数がある文書も組版する効率が非常に高い。
- DTPとしても使用できる。
他にも,数学的文書用のAmS-TeX/AmS-LaTeX,参考文献リストの作成用のBibTeX,プレゼン用のSLiTeX,化学構造式用のX・MTeX,楽譜の記述に用いるMusiXTeXなんかがある。
TeXとそれに関連するプログラムおよびTeXのマクロパッケージなどは,CTAN(Comprehensive TeX Archive Network)からダウンロードできる。
マークアップ
通常のテキストファイルでは,文字サイズや文字の色,用紙サイズなんかの指定は出来ない。
そこでLaTeXでは,半角のバックスラッシュ(または円印)\で始まる命令で,いろいろな指定をする。このような指定のことをマークアップと言うらしい。
例えば,A4用紙に12ポイントの文字で日本語を含む文書を印刷したい場合は,LaTeXでは文書ファイルの頭に,
\documentstyle[12pt,a4j]{jarticle}
と記載する。
キーボードにない記号を記載するときも\で始まる命令を使う。
例えば,積分記号は\int,無限大は\infty,LaTeX記号は\LaTeX,プランク定数の2n分の1は\hbarというようにする。
テキストファイルで数式を表すためのLaTeXの命令体系は,事実上数式を表す標準的なものになっていて,Mathematicaのような数式処理ソフトでもLaTeX形式の出力が出来る。
複雑な数式の処理はMathematicaで行って,それを使ってLaTeXで論文を書くということが良く行われているようだ。
TeXによる文書作成
- 印刷させたい文書の中に,字の種類や大きさを変えたり,印字位置を制御したりする命令を挿入したテキストファイルを作成する。
- それをTeXで処理して(コンパイルして),dviファイルを作成する。
テキスト作成時にTeXの文法ミスがあればエラーメッセージが表示されコンパイルが途中で中断される。エラーメッセージを見ながら,テキストの文法ミスを修正する。
- ビューワーでdviファイルを画面に出力して,意図した出力が得られているかを確認する。
- プリンターで印刷するかPDFファイルに出力する。
TeXを使うにはTeXの文法を学ぶ必要がある。慣れるまではなかなかうまくいかないが,少し練習すれば数式の入力はスムースに出来るようになる。TeXによる数式なんかの出力は他のどんなソフトウェアよりも美しく表現できる。
LaTeX等のマクロパッケージを使えば,長い論文を書くときも文書の視覚的なデザインを気にしないで論理的構造だけに集中することが出来る。
TeXの日本語化
TeXを日本語化する試みは昔からいろいろあったようだ。アスキーの日本語pTeX/pLaTeXや,NTTのjTeX/jLaTeXとかあった。
その後現在まで日本語対応LaTeXエンジンの主流は,pLaTeXとupLaTeXの2種類のようだが,最近LuaLaTeXというエンジンが海外で開発されている。LuaTeX-jaパッケージを使用することで日本語対応している。
- pLaTeX
日本語用に拡張されたLaTeXエンジン。アスキーのpLaTeX(Publishing LaTeX)から派生して開発されたもの。
LaTeXソースからdviファイル経由でPDFファイルを作る。
- upLaTeX
pLaTeXをUnicode対応させたpLaTeXの拡張エンジン。最近の主流?
環境依存文字(丸数字や特殊記号など)をそのまま使えて,漢字がJIS第一・第二水準意識せずに使える特徴がある。
- LuaLaTeX
LaTeXソースからPDFを直接出力するpdfLaTeXがあるが,それを拡張してLuaという軽量スクリプト言語を使用するようにしたのがLuaLaTeX。
LuaLaTeXはpdfLaTeXの後継という位置づけ。Unicodeに対応,OpenType/TrueTypeフォントが直接扱えるなどの特徴がある。
上記のエンジンより処理速度は遅い。
WindowsマシンでTeXをインストール
WindowsでTeXを使えるようにするには,代表的な2種類のディストリビューションがある。
- W32TeX
W32TeXは物理学者の角藤亮先生がWindows向けに作成されていたTeXディストリビューション。
2021/06/24に配布が終了している。Windowsで日本語pLaTeXを利用する場合の定番だった。
- TeX Live
TeX Liveは,Linux系OSでは標準インストールされているTeXディストリビューション。
多くのプラットフォームで動作するようになってきており,WindowsでもTeX LiveのWindows版があり,事実上標準的なTeXディストリビューションになっている。
2010年以降,日本語対応パッケージもマージされている。
W32TeXをインストールする場合
W32TeX は2021/06/24に配布が終了している。なので今からWindowsマシンでTeXを使いたい場合は,下のTeX Liveにしたほうが良いと思う。
ファイルのアーカイブは残っているので,W32TeXのインストールは現在でも問題なく動作する。(各種ツールのバージョンは古いかもしれないが・・・)
このW32TeXや関連ソフトウェア(dviout,Ghostscript,GSview,TeXworks)を自動でインストールしいくつかの設定も行ってくれる阿部紀行先生が開発された TeXインストーラ3 があるので,これを使ってインストールしてみる。
TeXインストーラー3のページの一番下の「ダウンロード」から 最新版をダウンロードabtexinst_0_91.zipして,適当なディレクトリに解凍します。そして,abtexinst.exeをダブルクリックして起動する。
TeXインストーラ3がインストールをいろいろ指示してくれるんで,そのまま進んでいけばインストールできる。このインストーラーはインストール後の更新にも使用出来る。
注意することとして,デフォルトのURLの場所はどうも調子が悪い?みたいなので,URLはhttp://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/win32/w32tex/なんかを選択する。
インストール画面が進んでいくと情報取得が始まる。それが終了すると,インストールするものを選択する画面になる。
すでに,dviout,Ghostscript,GSviewとかはインストール済みな場合は,これらはインストールしないようにする。これらもインストールする場合は,W32TeX の全ての項目,dviout,Ghostscriptの最新版(番号が一番大きいもの),GSviewの項目にマークを入れる。(この時,C:\gs\gs9.21のような短いパスになるようにする。)
次に進むと,
ispellとTeXworks(TeX文書を作成するためのエディター)のマーク画面が表示されるので,マークを両方に入れた状態で次に進む。
後はしばらく待てば(かなり時間がかかる)インストールできる。
すべて「成功」と表示されていれば完了。
TeX Liveのインストールする場合
Installing TeX Live over the Internetからinstall-tl-windows.exeまたはinstall-tl.zipのどちらかをダウンロードする。
- install-tl-windows.exe
ダウンロード後ダブルクリック。全ユーザにインストールする場合は右クリックから管理者として実行する。
- install-tl.zip
ダウンロードしたzipファイルを適当なディレクトリに解凍する。
install-tl-windows.batをダブルクリックする。全ユーザにインストールする場合は右クリックから管理者として実行する。
どちらでも同じようにインストーラが実行されるので,後は指示に従えばインストール出来る。
インストールにはかなりの時間(2時間くらい)がかかる。
インストールが終わると「TeX Live へようこそ!」と表示されるので閉じるボタンをクリックする。
Windowsマシンに既にMSYS2/MinGW-w64とかGit for Windowsなどがインストールされていると,Tex Liveのインストーラーの実行でエラーが出てインストール出来ないことがある。
この場合は,一時的にMSYS2/MinGW-w64とかGit for WindowsのPATH設定を一時的に削除してから,再度インストールを実行すればインストールできる。インストールが完了したら前の設定に戻す。
(実際にはMinGW-w64やGit for Windowsに含まれているxz.exeが問題になっているので,xz.exeをxz.exe.oldとかにリネームしてもOK。)
アンインストールは,メニューのTeX Live 2023にあるUninstall TeX LiveでTeX Liveをアンインストール出来る。
アップデート
メニューからTeX Live 2023>TLShell TeX Live Managerを使って,パッケージを更新することが出来る。
コマンドラインで行う場合は,
> tlmgr update --self --all
でも行える。
このときバックアップが作成される。
C:\texlive\2023\tlpkg\backups
ここから,以前のバージョンに戻すことが可能。
アップデートが失敗した場合は,以下の例のように再度アップデートできる。
> tlmgr update --reinstall-forcibly-removed --all --repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/
環境設定ファイルを追加する
C:\texlive\texmf-local\web2cディレクトリを作成する。
そこにtexmf.cnfファイルを作成する。
%put this in C:\texlive\texmf-local\web2c
%
shell_escape_commands = \
bibtex,bibtex8,bibtexu,pbibtex,upbibtex,biber,\
kpsewhich,\
makeindex,mendex,texindy,\
mpost,pmpost,upmpost,\
repstopdf,epspdf,extractbb
%文字コードの自動判別
% guess input encoding in pTeX and its friends. (W32 only)
%
guess_input_kanji_encoding = 1
%Ghostscript で日本語を使用する
TEXLIVE_WINDOWS_EXTERNAL_GS=gswin32c.exe
設置を反映する。
フォント埋め込み設定
TeX LiveをインストールするとIPAexフォントが収録されている。IPAexフォントを埋め込むようにするには,
> kanji-config-updmap -user ipaex
とする。
MSYS2/MinGW-w64環境にTeX Liveをインストールする場合
MSYS2/MinGW-w64を使用している場合は,パッケージ管理ツールでTeX Liveをインストール出来る。
$ pacman -S mingw-w64-x86_64-texlive-full
もちろん,ソースコードからビルドしてインストールすることも出来る。
インストールの確認
test.texファイルを以下の内容で作成する。
-
|
!
| \documentclass{article}
\begin{document}
Hello World!
\end{document}
|
コマンドプロンプトを起動して,
とすると,test.texからtest.dviファイルが作成される。
そして,
とすると,test.dviからtest.pdfファイルがが作成される。
test.pdfファイルをPDFビューワーで表示すると「Hello World!」が表示される。
ptex2pdfを使うと直接text.pdfを作成出来る。
エラーが無くてtext.pdfが作成されていれば問題ない。
日本語も試してみる。text1.tex
-
|
!
| \documentclass[dvipdfmx]{jsarticle}
\begin{document}
こんにちは,\LaTeX
\end{document}
|
同様にしてみて「こんにちは,LaTeX」と表示されれば成功。
インストールされているTeXworks editorだとGUIで操作できる。
新しくコメントをつける