LaTeX

					2009年06月02日
情報科学類 コンピュータリテラシ

                                       筑波大学 システム情報工学研究科 
                                       コンピュータサイエンス専攻, 電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2009/2009-06-02
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/

■連絡事項

■補足

実習室内での飲食は禁止。コンピュータを壊さないため。

Windows で、「コマンドプロンプト」でも漢字を打つこともできる。 「Alt+半角全角」キーを使う。単に「半角全角」キーでは動作しないことがある。

(課題で作成した)コマンド・カードは、印刷して参照する。 Emacs をキーボードで操作できるように練習する。 そうなると、プログラミングの能力も向上する。 テキスト・エディタをキーボードで操作できるようになると、 人間の思考の速度に少しでも近づく。

■復習

HTML と CSS (Cascading Style Sheet)の役割分担。

HTML で記述できる文書の構造:

CSS で記述できる表示の方法:

ASCII コード表を表示するには、man ascii と打つ。16進数で 5c の文字「\」 は、端末によっては、「¥(円号)」や「\(バックスラッシュ)」で表示される。 コンピュータの内部では、16進数で 5c ということには代わりがない。どちら で表示されることもある。表示にこだわるとき、1つの文書で混ぜて使うのは、 不可能ではないが、難しい。

■LaTeX

手引き 第6章 文書整形システム TeX 参照The Unix Super Text 下巻「第50章 文書整形システム LaTeX」 参照

TeX (テフ、テック、タオ・イプシロン・カイ) は、D.E.Knuth による文書整形 システム。マークアップ言語によりテキストファイルにTeX の命令を埋め込ん だ文書を作成し、言語処理系(texコマンド)を使うと、印刷に適したものになる。

LaTeX (ラテフ、レイテック)は、TeX を拡張して、論文を簡単に書くために適 した命令を増やしたもの。L.Lamport による。

pTeX (pLaTeX) は、publisher ASCII出版で、TeX, LaTeX で日本語が使えるよ うにしたもの。coins で利用可能な物はこれの漢字コードとして EUC が使える ものである。その他に、NTT により日本語化されたものもある。

TeX は、マクロプロセッサの一種。マクロとは、文字列の置き換えのこと。一 般的には、短い文字列から長い文字列、簡単な文字列から複雑な文字列に変換 (展開)する。

様々なマクロ定義をまとめたものを「パッケージ」という。 \usepackage により取り込んで使うことができる。 自分でマクロ定義を行うこともできる。

◆ソース、プレビュー、印刷

LaTeX での文書の作成
  1. (必要なスタイルを入手する。標準のものを用いる場合は不要。)
  2. (サンプルをコピーする。)
  3. ソース・ファイル(拡張子 .tex )を作成/編集する。
  4. platex コマンドで dvi ファイルを作成する。
  5. プレビューアで dvi ファイルを作成する。
  6. 完成するまで、3 にもどる。
  7. (dvi ファイルから、dviselectなどで必要な部分を切り出す。)
  8. dvi ファイルを、印刷に適した形式(PostScriptやPDFなど)に変換する。
  9. 印刷する

LaTeX ソース、DVI ファイル、PDF ファイル、PostScript

dvi (DeVice Independent) 形式
プリンタや画面などのデバイス(device)から独立した形式。
TeXのプリンタ・ドライバ
dvi 形式を、プリンタ用の命令に変換する。
プレビューア
dvi ファイルを画面に表示する。
dviselect
dvi 形式の一部を抜き出す。2009/06/02 現在、iMac に未インストール。
dvipdfmx
dvi 形式を PDF 形式に変換する。(dvipdfm (xなし) では、漢字がうまく変換できない。)
dvips
dvi 形式を PostScriptr 形式に変換するプリンタ・ドライバ。 PostScript プリンタに印刷する時には適している。
xdvi
X Window System (X11) を使って画面に表示するプレビューア。
Mxdvi
MacOSX で動作するプレビューア。 紙に印刷するためにも利用できるが、品質が良くないことがある。

dvi 形式をPostScipt 形式に変換し、GhostScript (gs コマンド, gv コマンド) で表示する方法がある。プレビュー.app(Preview.app)でも、PostScrip 形式の ファイルを(一旦PDFに変換して)画面に表示できる。

◆全角/半角

「全角(full-width)」、「半角(half-width)」とは、元々は、ワードプロセッ サの用語。漢字が「同じ幅(等幅,non-proportional)」で表示されることを利用 して、区別する。
全角
漢字1文字と同じ幅
半角
漢字1文字と半分の幅(で表示されるアルファベットや数字、記号)
半角は、主に ASCII。半角カナもあるが、あまり使われない (半角カナは、 電子メールやネットワーク・ニュースでは使わない約束になっている)。

◆LaTeX の特殊文字

次の文字は、LeTeX が特別扱いする。

#,$,%,&,_,{,},\,<,>,|,^,~  

The Unix Super Text 50.9.4項 参照手引き 6.2.2項 参照

これらの特殊文字を LaTeX 処理系に解釈させる(LaTeX の命令とする) には、 半角 (ASCII) を使う。同じ形で画面に表示される全角文字(漢字)を使っても、 命令とは見なされなず、単に他の漢字と同じように表示される。

◆ソース・ファイル

Emacs などのテキスト・エディタで作成する。

◆文書の構造

次のような構造を持つ 本文は、次のような命令で、文書の構造を表す。
\section  
章 (HTML <H1>)
\subsection  
節 (HTML <H2>)
\subsubsection  
項 (HTML <H3>)
空行で区切られた部分
パラグラフ (HTML <P>)
「\\」で、強制改行(HTML の <BR>)の意味だが、使ってはならない。 その代わりに空行(HTML の <P></P>)を使うこと。

その他に、\section より大きい単位として\part と \chapter, \subsection より小さい単位として \paragraph, \subparagraph が使われることがある。通 常のパラグラフは、空行で作り、\paragraph は使わない。

◆コメント

「%」から行末までは、コメント。

◆auxファイル

LaTeX では、\label{} で、章の番号や図の番号を定義し、 \ref{} を使って別の場所から参照できる。これを実現するには、 platex コマンドを2回実行する必要がある。 1度目に、.tex を読み込み、番号を決定しながら、番号を、.aux に出力する。 .dvi には、? を出力しておく。 2度目に、.tex と .aux を読み込み、.dvi に出力する。

◆箇条書き

◆図

figure環境を使う。\caption で図の説明がつけられる。 \label で、図の番号を定義し、\ref で参照できる。 \includegraphics で EPS 形式や PDF 形式の図を読み込める。

◆table

table環境を使う。 tabular環境で、図が書ける。

◆verbatim

verbatim環境を使うと、テキストのまま形で表示される。 プログラムや端末の出力を貼る時に便利である。

■プリンタ

The Unix Super Text 17章 参照手引き 4章 参照

Unix 標準のコマンドは、以下の通り。

lpr
ファイルをプリンタに送る。
lpq
プリンタのキューを表示
lprm
印刷を取り消す(キャンセル)
キュー(queue)とは、行列(待ち行列)の意味で、 先着順にサービスを受けるためのもの。 これらのコマンドは、-P オプションで、利用するプリンタを指定でき る。標準では、環境変数 PRINTER が使われる。

MacOSX の「プレビュー.app(/Applications/Preview.app)」は、 PostScript のプログラムを PDF に変換して表示したり保存する機能がある。

テキスト・ファイルを印刷するには、a2ps を使う方法もあるが、 Firefox などの WWW ブラウザで開いて、その機能を使って印刷する方法もある。

紙の節約のためには、なるべく両面印刷を使う。

◆PostScript

PostScript は、Adobe 社により開発されたプリンタを制御するための スクリプト言語(プログラミング言語)。

PostScriptプリンタは一種のコンピュータで、PostScript 言語のプログラムを実行することができる。 実行結果として、印刷が行われる。 PostScript プリンタに対してテキストやワード・プロセッサの文書、ソース・プ ログラムをそのままプリンタに送っても、印刷されない。

PostScript プリンタに印刷するためには、プリンタにファイルを送る前になん らかの手段でPostScript のプログラムに変換する。 coins のプリンタに印刷する時には、PostScrip 言語のプログラムを 作成して、プリンタに送っている。

The Unix Super Text 52.2.1 参照The Unix Super Text 17.1.2 参照。 図17-1 のプログラムは、括弧{}が消えている。 復活したものを、ここ に置く。

◆EPS (Encapsulated PostScript)

EPS (Encapsulated PostScript) 形式は、PostScript に描画領域(bounding box)の 情報などを付加したもの。
%%BoundingBox: 0 0 512 322

■実習

実習時間中には、 以下の課題をできるだけ多く行いなさい。全部を行う必要はない。

★練習問題(1401) サンプルのコンパイル

以下のようにして、サンプルをコンパイルしなさい。ただし、mkdir コ マンドで作成するディレクトリとしては、ASCIIの範囲のものを使いなさい。
% mkdir このサンプルのためのディレクトリ [←]
% cd このサンプルのためのディレクトリ [←]
% cp ~yas/public_html/coins/literacy-2009/2009-06-02/ex/struct.tex .  [←]
% cp ~yas/public_html/coins/literacy-2009/2009-06-02/ex/latex-struct.eps .  [←]
% ls [←]
latex-struct.eps        struct.tex
% platex struct.tex  [←]
(メッセージ)
% platex struct.tex [←]
(メッセージ)
% ls [←]
latex-struct.eps        struct.dvi              struct.tex
struct.aux              struct.log
% []
platex コマンドを、2回実行する。 この結果、.dvi ファイル、.aux ファイルが作成されていることを確認しなさい。 上の例では、さらに .log ファイルも作成されている。

★練習問題(1402) プレビューア Mxdvi

プレビューア Mxdvi (/usr/local3/Applications/Mxdvi.app) で、.dvi ファイルを表示しなさい。
% open /usr/local3/Applications/Mxdvi.app [←]
Mxdvi を印刷の目的でも利用することができる。 ただし、印刷の品質は必ずしも良いとは言えない。 以下の dvips を使った時と印刷の品質を比較しなさい。

★練習問題(1403) プレビューア xdvi

The Unix Super Text 50.6 参照。 プレビューア xdvi を利用しなさい。
  1. Dock にある X11 を実行する (open /Applications/Utilities/X11.app)。
  2. 表示される端末 (xterm) で、次のようなコマンドを実行する。
    % xdvi file.dvi [←]
    
終了するには、Quit ボタンを押すか、q キーを押す。 EPS 形式で読み込んだ図について、PS View ボタンや v キーで表示、非表示を切り替えなさい。

次のキーの動作を確認しなさい。
q 終了
n next ページへ移動
p previous ページへ移動
j 下へ移動
k 上へ移動
h 左へ移動
l 右へ移動
g のページ移動
s で指定されたサイズ変更
j,k,h,l は、右手をホーム・ポジションに置いたまま楽に打てる。 エディタ vi のキーと同じである。 less, lv コマンドとも、j,k については同じである。

xdvi を印刷の目的でも利用することができる。 ただし、印刷の品質は必ずしも良いとは言えない。 以下の dvips を使った時と印刷の品質を比較しなさい。

★練習問題(1404) a2psコマンド

a2ps コマンドを利用して、テキスト・ファイルからPostScript ファイルを生 成しなさい。
% a2ps -o file.ps file.dvi [←]
a2ps コマンドの -o オプションを使い、ファイルに保存する。 生成した PostScript ファイルを lv コマンドで表示しなさい。

★練習問題(1405) PostScriptファイルの生成

次のいずれかの方法で、PostScript のプログラムを生成し、 ファイルに保存しなさい。 生成したファイルを lv コマンドで表示しなさい。

★練習問題(1406) PostScriptファイルのプレビュー

作成した PostScript ファイルを、印刷せずに、次のような方法を使って画面 に表示しなさい。 PostScript ファイルとしては、次のファイルを利用してもよい。 xterm の中で、中ボタンを押すと、ペーストになる。

★練習問題(1407) PostScriptファイルの印刷

PostScript ファイルを、lpr コマンドを使ってプリンタに送り印刷しなさい。 lpq コマンドで、キューの様子を観察しなさい。

★練習問題(1408) dvi ファイルから PostScriptファイルの作成

platex コマンドで dvi ファイルを作成したら、それから 次の方法で PostScript ファイルを作成しなさい。 dvips コマンドについては、The Unix Super Text 50.7 参照

ただし、coins の dvips は、標準で(-o オプションをつけなくても)、.ps という拡張子 を持ったファイルを生成する。標準出力に PostScript ファイルを出力しない。 従って、生成した PostScript ファイルを印刷するには、それを lpr コマンド でプリンタ送る。

% lpr file.ps [←]

dvips で作成した PostScript ファイルを印刷したものと Mxdvi で印刷したものの品質を比較しなさい。

★練習問題(1409) tgifコマンド

tgif を利用して、図を書いてみなさい。 作成した図を EPS 形式で保存しなさい。

tgif を実行するには、コマンドラインから tgif と打つ。

tgif は、X Window System (X11) の機能を利用して動作する。 tgif を実行する前に X11 を実行(Dock の X11 をシングルクリック)しなさい。 そこで開かれた端末で tgif を実行しなさい。

tgif で作成した図を、EPS 形式で出力し、TeX で利用しなさい。

The Unix Super Text 下巻 第53章 ドローツール 参照http://ayapin.film.s.dendai.ac.jp/~matuda/Tgif/tgif.html 参照。

★練習問題(1410) convertコマンド、Netpbm関連コマンド

シェルから実行するコマンドでイメージ(PNG形式やJPEG形式など)から EPS (Encapsulated PostScript) 形式を作成することができる。

★練習問題(1411) Gimpによる EPS の作成

Gimp.app (/usr/local3/Applications/Gimp.app) で画像を読み込み、 EPS 形式で保存することで、EPS を作成しなさい。

★練習問題(1412) OmniGraffle (オムニグラフ)

「/Applications (アプリケーション) 」にある OmniGraffle を実行して、図形の描画を行いなさい。描画した図形を、 「ファイル」メニューから「書き出し (Option+Command+E)」を選び、 EPS形式で保存しなさい。

ミニ・チュートリアルが ユーザーズガイドに含まれている。 電子メールのアドレスを差し出せば、ユーザーズガイドが得られる。 受け取りたくない人は、チェックを外すこと。

★練習問題(1413) Mxdvi.app による dvi ファイルから pdfファイルの作成

Mxdvi.app を用いて PDF ファイルを作成しなさい。 File メニューの Print 項目で、印刷する時に PDF ボタンの Save as PDF を使い、PDF 形式で保存する。

この方法では、必ずしも品質の高い PDF ファイルが得られないことがある。 次の dvipdfmx コマンドを利用することを奨める。

★練習問題(1414) dvipdfmx コマンドによる dvi ファイルから pdfファイルの作成

dvipdfmx を使って PDF ファイルを作成しなさい。
% dvipdfmx file.dvi [←]

★練習問題(1415) pdfファイルの読み込み

dvipdfmx では、EPS 形式以外の画像、たとえば、PDF 形式の図を読み込むこともできる。

\includegraphics{file.pdf}  
この場合、描画領域(bounding box)を示すファイルを、拡張子 .bb で別途作成する。
% ls file.* [←]
file.bb file.pdf
% cat file.bb [←]
%%BoundingBox: 0 0 726 306
% []
まず、LaTeX のファイルの先頭に近い部分にある、\usepackage に、次 のように [dvipdfm] というオプションを付ける。
\usepackage[dvipdfm]{graphicx}

この機能を確認しなさい。

拡張子 ".bb" を持つ描画領域を含むファイルは、テキストエディタで作成する こともできるが、PDF ファイルから ebb コマンドで作成することもできる。

% ls square.* [←]
square.pdf
% ebb square.pdf [←]
% ls square.* [←]
square.bb       square.pdf
% cat square.bb  [←]
%%Title: ./square.pdf
%%Creator: extractbb 20090115
%%BoundingBox: 0 0 121 121
%%CreationDate: Sun May 31 21:11:07 2009

% []
この機能を確認しなさい。

★練習問題(1416) latex2html

latex2html コマンドを使って、LaTeX から HTML を生成しなさい。 latex2html の使い方は、次のようにすれば表示される。
% latex2html -help [←]

★練習問題(1417) 統一認証システム

統一認証システムで、パスワードを変更していない人は、パスワードを変更しなさい。

★練習問題(1418) Emacs で複数のウインドウ

Emacs で、次のキー操作の動作を調べなさい。
C-x 2 ウインドウを2つに分割(現在のバッファを複数ウインドウで表示)
C-x 1 ウインドウを1つにする(他のウインドウを閉じる)
C-x 0 現在のウインドウを閉じる
C-x o 他の(other)ウインドウにカーソルを移動。
C-x C-b バッファのリストを表示
C-x b 別のバッファを表示する

★練習問題(1419) Emacs で長いファイルの編集

Emacs のウインドウを開く機能(C-x 2)は、1画面に入らないような大 きなファイルを部分的に表示する時に有用である。このことを確認しなさい。

★練習問題(1420) Emacs で複数のファイルの編集/2つのウインドウ

次の手順で、Emacs で複数のファイルを同時に編集してみなさい。

★練習問題(1421) Emacs で複数のファイルの編集/見えないウインドウ

次の手順で、Emacs で複数のファイルを同時に編集してみなさい。

■課題14 LaTeXによる文書の作成

締め切りは、6月9日とする。(1) と (3) [加点] の結果を、印刷して TA に提 示し、確認番号を受け取りなさい。レポートには、受け取った確認番号を記入 しなさい。6月9日の実習時間中に確認番号を受け取ってから提出してもよい。 実習時間の前に印刷を完了しておき、番号を埋めるだけで提出できるようにし ておくことが望ましい。

(1) の TeX ファイル、(2) の回答、および、(3) のTeX ファイルを、テキスト・ ファイルに記述し、(レポート提出ページ)から提出 しなさい。

長いファイルを挿入するするには、Emacs の C-x i (insert-file) が便利であ る。カーソルを挿入したい場所に移動して、C-x i と打つ。

(1) 課題10で作成し たWWW ページと類似の TeX 文書を作成し、dvi ファイルを作成しなさい。その dvi ファイルから、PDF ファイルを作成しなさい。その PDF ファイル、または、 dvips により作成したPostScript ファイルを印刷しなさい。ただし、以下の点 については、同じでなくてもよい。

PDF ファイルと印刷物を TAに見せ、確認番号を受け取りなさい。レポートには、 確認番号と TeX ファイルの内容を含めなさい。

(2) 筑波大学全学計算機システムの「情報処理実習用手引き」を読みなさい。 そして次の点について、次の項目について簡単に説明しなさい。

(3) [加点] 同じ内容の文書を、次に示す2つ以上のスタイルを用いて整形し、 PDF ファイルの作成と印刷を行いなさい。

PDF ファイルと印刷物を TAに見せ、確認番号を受け取りなさい。レポートには、 確認番号、利用したスタイル・ファイルの種別、TeX ファイル、および、細か な修正を行った場合には、修正点を記入しなさい。

(4) [加点] 論文、レポート、書籍を作成する上で有用なパッケージ(graphicx を除く)を2種類以上、利用してみなさい。どのような局面で有用かを示しなさ い。「教育用計算機システム使用の手引き」や、The Unix Super Text は、 LaTeX を用いて作成されている。そのパッケージがどのページで使われている と予想されるかを示しなさい。


Last updated: 2009/05/31 22:13:40
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>