PDF ファイルを作るのに役立つ言語 LaTeX の実習を行う。
EMACS で編集 | YaTeX | XDVI でチェック | Kterm で変換 | Acrobat で印刷 |
LaTeX ファイル | タイプセット | DVI ファイル | dvipdfmx | PDF ファイル |
計算機を使って作成した文書を印刷するとき、 印刷機は PostScript ファイルを解読して、 印刷を行う。従って、電子文書を紙媒体に印刷するためには、 どのファイル型式も PostScript に変換されている。
DTP とは Desk Top Publishing の略で、机上の 計算機を用いて印刷を行う作業 のことである。 かつての活版印刷や写真写植とは異なり、 計算機を使用してレイアウトし印刷するため、 このような言葉が使われている。
紙媒体による印刷という電子文書の見かけが計算機の OS や使用するソフトウェアによらず同じように見えるということは、 とくに等しい権利を持つべき関係において重要なことである。
A さんと B さんが、それぞれ役所の届け出に必要な書類を、 インターネットでホームページにアクセスして印刷した。 役所が配布したはずのレイアウトが打ち出した家ごとに異なることは、 行政サービスとしてどうだろうか。 また、郵送で送り返したときに、役所がその書類を書類として認めるだろうか。
PDF は "Portable Document Format" の略で携帯文書形式、 とでも訳すべきものである。 異なる OS でも使用することができる。 読むには Adobe 社製の無償のファイルリーダ (file reader) Acrobat Reader を使用する。
PDF は 1993 年に Adobe 社により開発された。 異なる OS 間での文書のやりとりに使用することを目的とした文書書式である。 前身は Postscript に関する研究を行う会社であった。
使用が無償であることから、大きく普及し、 ブラウザのプラグインなども OS を問わず開発が進んでいる。
PDF ファイルの作成には、Adobe 社の有償の PDF 作成ソフトまたは他のベンダー企業の作成ソフトを使用したり、 Postscript ファイルを PDF に変換するアプリケーションソフトやプラグインを使用したり、 組版ソフトの TeX のコマンドを使用して TeX ファイルを変換して得ることができる。
PDF の優れた点は、画像として処理する一方、 カットアンドペーストが使用できるということである。
例えば GIMP で作成したロゴをカットアンドペーストして、 その文字を Emacs などのエディタに載せることができるだろうか?
画像として記録するため、どのアプリケーションソフトで作成しても、 作ったままの色彩、形状、フォントなどの体裁を維持しながらやりとりできる。
画像でありながら文書内のデータの検索が行え、 また読み上げ機能や点字ディスプレー (スクリーンリーダ screen reader) へも対応する。
統計の考え方 で、2 つの事象についての確率を求める場合、 二項定理を使うが、あまりにも大きな数の組み合せを計算する場合には、 近似式でも十分なことがある。
Stirling の公式のプログラム と実行結果を見て、近似式がどれほど正確か見ておこう。指数関数の展開式について dtd_power.rb を作成し、 数値計算が右辺と左辺でちがうかどうか調べてみよう。 また、グラフソフトを使って実際に書いてみよう。 最小自乗法がどのくらい正しいかも調べてみよう。
split(//) をつかう。
\begin -- \end {enumerate} を除いた構造で
\item \item \item \item \item
となるとき、自動的に
\item{\bf 1} \item[(1)] a. b. \item[(2)]
と出力させるようなしくみをマクロという。
そもそも配布されているようなマクロ マクロ名.sty を利用する場合、 preamble に、\usepackage{マクロ名} を記す。
新しく作成する場合
preamble で
\newcommand{\命令}{実行内容}
として記す。
実行内容を並べたファイルを マクロ名.sty として保存する。
\newcommand{\予約語でない命令}{\begin{位置} 表示 \end{位置}}
\newcommand{\予約語でない命令}{\文字の大きさ{ 表示 }}
\renewcommand{\予約語の命令}{\begin{位置} 表示 \end{位置}}
\renewcommand{\予約語の命令}{\文字の大きさ{ 表示 }}
後者は命令が予約されているか調べて typeset をする。
{\定義した命令} で使うことができる。
環境も同じように作ることができる。
\hewenvironment{予約語でない環境}{\begin で制御すること}{\end で制御すること}
\rehewenvironment{予約語の環境}{\begin で制御すること}{\end で制御すること}
\begin{定義した環境} -- end{定義した環境}
で使うことができる。
引数をとるときは、引数が 1 つなら
\newcommand{\定義したい命令}[引数の個数]{定義したい中身
#引数その1 , ...}
筆記体を練習させるようなワークシートを作るには、 フリーの筆記体フォントを ttf に埋め込む必要がある。 learning curve というフォントをここでは使用して、 HTML と LaTeX 版を作ってみたい。使用するのは Openoffice.org で、 HTML/PDF 化することにより、作成することにする。
Espeak の辞書を書き変える。NetBSD では mbrola が動かないため、 espeak の fi, ru, Zhu, en, it, se などの辞書をもとに作成した。
dictsource/ja_list 単音のルール、 dictsource/ja_rules 連音のルール、 dictsource/ja_extra はひらがな音のルール、 phsource/ph_ja は音の種類。 ただし、phsource/ph_ja を読ませるためには voices/ja を作成、phsource/phoneme を追加する必要がある。
上記ファイルを適宜編集して日本語を喋るように変更した。
ひらがなファイルでは
nkf -w ファイル名 | espeak -v ja -w %w -s190
で確認できる。 -s は速度。
ja_list, ja_rules は現在のところ kakasi を通して話すようにできているが、 本来の仕様としては UTF-8 をそのまま話すべきものである。 また、どうやらもとのシンセサイザはイタリア語から派生しており (音をそのまま綴ることでは似たような特性を持っているためと想像される)、 アクセントがイタリア語的となっているのでこの点は改善が必要。
phsource/ph_ja で発音記号の制御、 voices/ja で日本語発音の定義を行う。
ja_* および ph_ja は未完成。
必要なファイルだけつくっておけば動く設計にしてあるべきだとも思われるが、 rsync 等で source と espeakedit にあるディレクトリをそのまま移植する必要がある。 UTF-8 コードは全ての文字をひとつの文字コードで表すように設計されており、 似た発音は使い回す手法を取っているためである。(CJK などもこれにあたる)
espeak -m で読み上げ可能。(kakasi でひらがなにする必要はある。)