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/
- Unix Super Text 下巻「第50章 文書整形システム LaTeX」、
上巻「第17章 プリンタ」参考。
- 手引き(教育用計算機システム使用の手引き) 「第6章 文書整形システム LaTeX」参照。
- 次回 6月5日金曜日
は、
講義室 3A308 に集合。
-
統一認証システムのパスワードを変更していない人は
Twins の初期パスワードを書いた紙を持って来る。
実習室内での飲食は禁止。コンピュータを壊さないため。
Windows で、「コマンドプロンプト」でも漢字を打つこともできる。
「Alt+半角全角」キーを使う。単に「半角全角」キーでは動作しないことがある。
(課題で作成した)コマンド・カードは、印刷して参照する。
Emacs をキーボードで操作できるように練習する。
そうなると、プログラミングの能力も向上する。
テキスト・エディタをキーボードで操作できるようになると、
人間の思考の速度に少しでも近づく。
HTML と CSS (Cascading Style Sheet)の役割分担。
HTML で記述できる文書の構造:
- ヘッダ(文書の題目)
- 見出し、章立ての木構造
- 段落
- 箇条書
- 表
CSS で記述できる表示の方法:
- 段落書式: 行揃え、表示範囲、余白、表示位置、境界
- 文字書式:色、フォント、大きさ、重さ、その他
- 箇条書き:印の形、位置、
- イメージ:枠線、テキストとの位置、ズーム、背景
- その他:カーソルの形状、表示/非表示、内容の挿入
ASCII コード表を表示するには、man ascii と打つ。16進数で 5c の文字「\」
は、端末によっては、「¥(円号)」や「\(バックスラッシュ)」で表示される。
コンピュータの内部では、16進数で 5c ということには代わりがない。どちら
で表示されることもある。表示にこだわるとき、1つの文書で混ぜて使うのは、
不可能ではないが、難しい。
手引き 第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 での文書の作成
- (必要なスタイルを入手する。標準のものを用いる場合は不要。)
- (サンプルをコピーする。)
- ソース・ファイル(拡張子
.tex
)を作成/編集する。
- platex コマンドで dvi ファイルを作成する。
- プレビューアで dvi ファイルを作成する。
- 完成するまで、3 にもどる。
- (dvi ファイルから、dviselectなどで必要な部分を切り出す。)
- dvi ファイルを、印刷に適した形式(PostScriptやPDFなど)に変換する。
- 印刷する
- 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。半角カナもあるが、あまり使われない
(半角カナは、
電子メールやネットワーク・ニュースでは使わない約束になっている)。
次の文字は、LeTeX が特別扱いする。
#,$,%,&,_,{,},\,<,>,|,^,~
The Unix Super Text 50.9.4項 参照、
手引き 6.2.2項 参照。
これらの特殊文字を LaTeX 処理系に解釈させる(LaTeX の命令とする) には、
半角 (ASCII) を使う。同じ形で画面に表示される全角文字(漢字)を使っても、
命令とは見なされなず、単に他の漢字と同じように表示される。
Emacs などのテキスト・エディタで作成する。
次のような構造を持つ
- \documentclass
- (\usepackage による利用するパッケージの読み込み)
- \title 表題、\author 著者, \date 日付の定義
- \begin{document}
- \maketitle による表題、著者、日付の表示
- (概要 (\begin{abstract} \end{abstract} )
- (目次 (\tableofcontents, \listoffigures, \listoftables )
- 本文
- \end{document}
本文は、次のような命令で、文書の構造を表す。
- \section
- 章 (HTML <H1>)
- \subsection
- 節 (HTML <H2>)
- \subsubsection
- 項 (HTML <H3>)
- 空行で区切られた部分
- パラグラフ (HTML <P>)
「\\」で、強制改行(HTML の <BR>)の意味だが、使ってはならない。
その代わりに空行(HTML の <P></P>)を使うこと。
その他に、\section より大きい単位として\part と \chapter, \subsection
より小さい単位として \paragraph, \subparagraph が使われることがある。通
常のパラグラフは、空行で作り、\paragraph は使わない。
「%」から行末までは、コメント。
LaTeX では、\label{} で、章の番号や図の番号を定義し、
\ref{} を使って別の場所から参照できる。これを実現するには、
platex コマンドを2回実行する必要がある。
1度目に、.tex を読み込み、番号を決定しながら、番号を、.aux に出力する。
.dvi には、? を出力しておく。
2度目に、.tex と .aux を読み込み、.dvi に出力する。
- itemize
- enumerate
- description
figure環境を使う。\caption で図の説明がつけられる。
\label で、図の番号を定義し、\ref で参照できる。
\includegraphics で EPS 形式や
PDF 形式の図を読み込める。
table環境を使う。
tabular環境で、図が書ける。
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 は、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) 形式は、PostScript に描画領域(bounding box)の
情報などを付加したもの。
%%BoundingBox: 0 0 512 322
実習時間中には、
以下の課題をできるだけ多く行いなさい。全部を行う必要はない。
以下のようにして、サンプルをコンパイルしなさい。ただし、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 ファイルも作成されている。
プレビューア Mxdvi (/usr/local3/Applications/Mxdvi.app) で、.dvi ファイルを表示しなさい。
% open /usr/local3/Applications/Mxdvi.app
- File メニューから Open を選択し、表示したい dvi ファイルを指定する。
-
+N、
+B でページの移動。
- View メニューで、拡大、縮小、ページ移動
- View メニューのEPS View のチェックを入れたり外したりすることで、
EPS 形式で読み込んだ図の表示/非表示を切り替えることができる。
- File メニューから Quit を選択し、終了する。
Mxdvi を印刷の目的でも利用することができる。
ただし、印刷の品質は必ずしも良いとは言えない。
以下の dvips を使った時と印刷の品質を比較しなさい。
The Unix Super Text 50.6 参照。
プレビューア xdvi を利用しなさい。
- Dock にある X11 を実行する (open /Applications/Utilities/X11.app)。
- 表示される端末 (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 を使った時と印刷の品質を比較しなさい。
a2ps コマンドを利用して、テキスト・ファイルからPostScript ファイルを生
成しなさい。
% a2ps -o file.ps file.dvi
a2ps コマンドの -o オプションを使い、ファイルに保存する。
生成した PostScript ファイルを lv コマンドで表示しなさい。
次のいずれかの方法で、PostScript のプログラムを生成し、
ファイルに保存しなさい。
- Firefox などの MacOSX でウインドウを開くプログラム (Aqua) で、
印刷のウインドウで、PostScrip ファイルとして保存する。
(左下の「PDF▼」メニューで、「PDF を PostScript として保存」を選ぶ。)
- OmniGraffle (/Applications/OmniGraffle\ Professional.app) で、「ファ
イル」メニューから「書き出し」を選び、ファイル形式として「EPS形式」を選
ぶ。EPS とは、Encapsulated PostScript の略で、PostScriptに表示領域の情
報を含めたものである。
- その他
生成したファイルを lv コマンドで表示しなさい。
作成した PostScript ファイルを、印刷せずに、次のような方法を使って画面
に表示しなさい。
PostScript ファイルとしては、次のファイルを利用してもよい。
- ~yas/public_html/coins/literacy-2009/2009-06-02/ust-fig-17-1-postscript-example.ps
xterm の中で、中ボタンを押すと、ペーストになる。
PostScript ファイルを、lpr コマンドを使ってプリンタに送り印刷しなさい。
lpq コマンドで、キューの様子を観察しなさい。
platex コマンドで dvi ファイルを作成したら、それから
次の方法で PostScript ファイルを作成しなさい。
- dvips コマンドを使う。次のコマンドは、dvi ファイル
file.dvi
からPostScript ファイルfile.ps
を作成している。
% dvips file.dvi
- Mxdvi.app で、印刷する時に PostScript 形式で保存する
- 「File」メニューから、「Print」を選ぶ。すると、印刷のための
ウインドウがひらかれる。
- 左下の「PDF▼」ボタンを押す。すると、次のようなメニューが開かれる。
(クリックで拡大。)
- 「Save PDF as PostScript」を選ぶ。
すると、ファイルを選択するウインドウが開かれる。
- 保存したいファイル名を選ぶ。
dvips コマンドについては、The Unix Super Text 50.7 参照。
ただし、coins の dvips は、標準で(-o オプションをつけなくても)、.ps という拡張子
を持ったファイルを生成する。標準出力に PostScript ファイルを出力しない。
従って、生成した PostScript ファイルを印刷するには、それを lpr コマンド
でプリンタ送る。
% lpr file.ps
dvips で作成した PostScript ファイルを印刷したものと
Mxdvi で印刷したものの品質を比較しなさい。
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
参照。
シェルから実行するコマンドでイメージ(PNG形式やJPEG形式など)から EPS
(Encapsulated PostScript) 形式を作成することができる。
Gimp.app (/usr/local3/Applications/Gimp.app) で画像を読み込み、
EPS 形式で保存することで、EPS を作成しなさい。
「/Applications (アプリケーション) 」にある
OmniGraffle を実行して、図形の描画を行いなさい。描画した図形を、
「ファイル」メニューから「書き出し (Option+
+E)」を選び、
EPS形式で保存しなさい。
ミニ・チュートリアルが
ユーザーズガイドに含まれている。
電子メールのアドレスを差し出せば、ユーザーズガイドが得られる。
受け取りたくない人は、チェックを外すこと。
Mxdvi.app を用いて PDF ファイルを作成しなさい。
File メニューの Print 項目で、印刷する時に PDF ボタンの Save as PDF を使い、PDF 形式で保存する。
この方法では、必ずしも品質の高い PDF ファイルが得られないことがある。
次の dvipdfmx コマンドを利用することを奨める。
dvipdfmx を使って PDF ファイルを作成しなさい。
% dvipdfmx file.dvi
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
%
この機能を確認しなさい。
latex2html コマンドを使って、LaTeX から HTML を生成しなさい。
latex2html の使い方は、次のようにすれば表示される。
% latex2html -help
統一認証システムで、パスワードを変更していない人は、パスワードを変更しなさい。
Emacs で、次のキー操作の動作を調べなさい。
C-x 2 | ウインドウを2つに分割(現在のバッファを複数ウインドウで表示) |
C-x 1 | ウインドウを1つにする(他のウインドウを閉じる) |
C-x 0 | 現在のウインドウを閉じる |
C-x o | 他の(other)ウインドウにカーソルを移動。 |
C-x C-b | バッファのリストを表示 |
C-x b | 別のバッファを表示する |
Emacs のウインドウを開く機能(C-x 2)は、1画面に入らないような大
きなファイルを部分的に表示する時に有用である。このことを確認しなさい。
- Emacs を実行する。
- C-x C-f で、ファイルを開く
- カーソル移動のキーで、表示したい部分を表示する。
文字単位の移動の他に、ページ単位の移動、インクリメンタルサーチも有用である。
- C-x 2 で、ウインドウを2つに分割する。
- C-x o で、カーソルをもう1つのウインドウに移動
- カーソル移動のキーで、別の表示したい部分を表示する。
- 以後、C-x o で、カーソル行き来しながら編集を進める。
よく使われる操作は、1つのファイルから別のファイルへの
コピー&ペーストやカット&ペースト。片方のバッファで
コピー、または、カットして、別のバッファへ移動してペーストする。
- C-x C-s で、ファイルを保存
- C-x C-c で、Emacs を終了する
次の手順で、Emacs で複数のファイルを同時に編集してみなさい。
- Emacs を実行する。
- C-x C-f で、ファイルを開く
- C-x 2 で、ウインドウを2つに分割する。
- C-x o で、カーソルをもう1つのウインドウに移動
- C-x C-f で、ファイルを開く
- 以後、C-x o で、カーソル行き来しながら編集を進める。
よく使われる操作は、1つのファイルから別のファイルへの
コピー&ペーストやカット&ペースト。片方のバッファで
コピー、または、カットして、別のバッファへ移動してペーストする。
- C-x C-s で、ファイルを保存
- C-x o で、カーソルをもう1つのウインドウに移動
- C-x C-s で、ファイルを保存
- C-x C-c で、Emacs を終了する
次の手順で、Emacs で複数のファイルを同時に編集してみなさい。
- Emacs を実行する。
- C-x C-f で、ファイルを開く
- C-x C-f で、ファイルを開く
- 以後、C-x b で、バッファを切り替える。
補完機能が使える。タブキーを押すと、バッファの一覧が表示される。
- 以後、
C-x b で、バッファを切り替えながら編集を進める。
よく使われる操作は、1つのファイルから別のファイルへの
コピー&ペーストやカット&ペースト。片方のバッファで
コピー、または、カットして、別のバッファへ移動してペーストする。
- C-x C-s で、ファイルを保存
- C-x b で、カーソルをもう1つのウインドウに移動
- C-x C-s で、ファイルを保存
- C-x C-c で、Emacs を終了する
締め切りは、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 ファイルを印刷しなさい。ただし、以下の点
については、同じでなくてもよい。
- 改行位置、文字の大きさやフォントなど、見栄えに関するもの。
- 図は、WWW ページと別の図でもよい。ALT 属性は不要である。講義の例題
で用いたものではなく、独自のものを使いなさい。
- リンクを含んでいなくてもよい。そのかわりに、URL を印刷できる形で記
述しなさい。
- \ref{} による参照を含めなさい。
- CSS で表現したものは、やらなくてもよい。
- 学籍番号と名前を含めなさい。電子メールアドレスは、不要。
PDF ファイルと印刷物を TAに見せ、確認番号を受け取りなさい。レポートには、
確認番号と TeX ファイルの内容を含めなさい。
(2) 筑波大学全学計算機システムの「情報処理実習用手引き」を読みなさい。
そして次の点について、次の項目について簡単に説明しなさい。
- Windowsを起動する方法
- Windowsをシャットダウンする方法
- Linuxを起動する方法
- Linuxをシャットダウンする方法
- 印刷する時のプリンタの操作方法
(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>