• 検索結果がありません。

邦文ソースのコンパイル法: セクショニング,ディスプ レイ表示,箇条書き

TEXにおける欧文の入出力の基本を学んだ後は,邦文 テキスト処理の仕方を学ぶ。従来TEXで邦文テキスト を扱う場合は,日本語用の機能を追加したpTEX Publi-shing TEXの略)が広く用いられてきた。pTEXでは漢 字・かな・和文記号として 第12水準(JISX0208) の範囲しか扱えないため,これを漢字・かな・CJK(日 中韓)記号・ハングルとしてUnicodeの範囲を扱えるよ うにpTEX内部をユニコード拡張したものがupTEXであ る。本講義での邦文テキスト処理(ここでいう邦文テキ ストとは「基底語が邦文」ということであり中身には欧 文多言語をも含み得る)では,原則として,upTEXを用 いる(正確にはupTEXe-TEX拡張が施されたe-upTEX

を使う。e-TEXでは「左から右書き」および「右から左書

き」言語の混植をサポートする機能TEX– T EX が備わっ ているためである)。

日本語を基底語とする邦文テキストをTEXで処理す る場合のソースファイルの書き方を,先ずは演習用ファ イルja.texを手本として学べ。

documentclassにはjsarticle (Japanese Standard Arti-cle)を,オプション部には必ずuplatex, dvipdfmxを指 定する。現段階ではja.texに欧文テキストを一切挿入し ていないが,いずれは日本語を基底語としながらもドイ ツ語,フランス語,英語等々を混在処理させることにな るので,fontenc (T1)とinputenc (utf8)指定も常用する 癖を身に付けておくと良い。

okumacroパッケージを読み込むことで,日本語組版

特有の「ルビ」も使えるようにしてある。ルビの入力 法も良く確認すること。出力用欧文フォントとしては Times(あるいはPalatino),和文フォントとしてはMS 明朝・ゴシック(Windows端末),ヒラギノ(Mac端末)

が用いられる。

邦文出力では各段落の頭を一字下げる「段落字下げ」

を行うのが大原則であるが,TEXで邦文テキスト処理を する場合はプログラムが自動的に段落字下げを行ってく れるので,書き手は「空白行を設けることで段落区切り を指示する」ことだけに意識を払えば良い。

また,書き手がsection, subsection部に番号を振る必 要はない(振ってはならない)。これらはTEXが論理

的階層に応じて自動処理してくれる。実際のレポート や論文を書く際にはsectionの位置が前後で入れ替わっ たり,subsectionへと降格したり(逆にsubsectionが

sectionに昇格したり)ということは頻繁に起こること

であるから,書き手は文書の論理および階層構造(ここ はsectionレベル,ここはsubsectionレベル,等々)の 違いにのみ注力し文書を作成する。

itemize環境では記号付き箇条書きが,enumerate環 境では番号付き箇条書きが,それぞれ処理される。い ずれも各項目は\itemコマンドの後に記す。番号付き箇 条書きでは自動連番が振られる。コマンドの後には必

ずone space設ける(コマンドによっては{}をコマンド

直後に添えなくてはならない場合もある)ことによっ てコマンドと本文(地の文)との区切りを明確にする。

itemizeやenumerateは「入れ子」(Nesting)にしても使 える(itemizeの中でさらにenumerateを使う,等々)。

レポートや論文中で「引用」を行う場合,短い引用で あれば「かぎ括弧」を用いれば良いが,ある程度まと まったテキストの引用をする場合は「ディスプレイ表

示」(Displaying)をして,本文(地の文)とは異なる箇

所であることを視覚的にも分かるようにする。この場 合,引用の中に段落を含まない短めの引用に対しては

quote環境を,引用の中に段落が含まれるような長めの

引用に対してはquotation環境を,それぞれ用いる。

演習用ファイルja.texの中身を精査した後は,邦文 テキストをTEXで処理するための以下のコマンドを 学べ。欧文の場合とは異なり,2パス処理(Two-Pass

Procedure)となっていることに注意。

•uplatexstring(邦文テキストを含むstring.texソー スをTEXでコンパイルする)

•dvipdfmxstring(上記コマンドによって生成され たstring.dviファイルをstring.pdfファイルへ変 換する)

第14講演習

演習用ファイル:ja.tex, ja_euro_uptex.tex, ptextest.tex 1. 邦文のみから成るテキストja.texの中身を精査

せよ

2. ja.texをTEXで処理せよ

3. 入力ファイルja.texと 出力ファイルja.pdfを良 く比較せよ

に英・独・仏・露・希語テキストを追加し

た の中身を精査せよ

を で処理せよ(複数回) 入力ファイル と 出力ファイル

を良く比較せよ

ファイルに手を入れて,ノンブ ルを非表示にせよ

同様にヘッダ(ページ上部)にノンブルと柱を出 力させよ

ファイルに手を入れ,目次や処 理日付の出力をドイツ語やフランス語にしてみよ 以下のように を ではなく で処理し,ロシア語および(複式アクセント記法)

ギリシア語箇所に不具合が出ることを確認せよ

(複数回)

では パッケージを用いる設定に してある。 には と呼ばれる(従来の

と 形式を包含する)新しいフォ ント形式の機能を で「全て使い切る」ための仕組み が備わっている。現段階ではその有難みを享受すること はない(そこまでの多文字・異体字処理をしないため)

が,遅かれ早かれ,いずれはこのパッケージの御世話に なるため,今のうちから慣れておきたい。オプションの は明朝体 ウェイト(線の太さ),ゴシック体 ウェイト,丸ゴシック体の 書体に加えプロポーショナ ル組みも使えるようにする指定である(もちろん全ての 機能を使うためには,これら全ての書体を備えるヒラギ ノのようなフォント使用が前提となる)。 を指定 すると縦組み,横組み,ルビのそれぞれに「専用の仮名 グリフ」(字形)が用いられる。本講義では扱わないが,

オプションに を指定すれば簡体字(简体),繁體 字(繁體),ハングル(한글)も使えるようになる。

また では, で指定する基底言 語に拘らずキャプション等の出力を「日本語」とする パッケージ を使用し,プリアンブルに

指定を書き加えていることに 注意。併せてラテン文字,ギリシア文字,キリル文字と いった欧文アルファベットを(全角ではなく)欧文(半 角)として出力するためのパッケージ を使用 し,オプション部に 指定をしている。プリ アンブルにおける後者の指定は(もし パッケージを

使用するのであれば) 指定よりも「後」に追加する こと。

プリアンブルに記した コマンドの

引数が,本文にある コマン

ドによってどのように出力されることになるか,じっ くりと確認すること。なお コマンドの引数には コマンドを用いているが,これによりソースファ イルを で処理した日付が の基底言語に応じ た言語で出力される。

発展: および における邦文処理

で取り扱える邦文は 第 第 水準漢字(

)にある文字に限られる(この範囲内にある文字 を全て邦文として扱う)が,入力のエンコーディング を とすることで,事実上これらを超える一部の ユニコード文字(全部ではない)を「欧文」として処理 することもできる。具体的には,ウムラウトやアクセン ト記号付きラテン文字は に含まれていない ので,これらの文字が含まれる邦文テキストを

および 指定により で処理すれ ば,「欧文文字」として正しく出力されるのである。し かし, にはギリシア文字やキリル文字は含ま れてしまっているため,これらの文字は欧文ではなく常 に邦文として処理されてしまう(いわゆる全角文字と なってしまう)。

一方,邦文処理の内部文字コードをユニコードに拡張 した は,デフォルトで全てのユニコード文字を 邦文扱いする。つまり,ギリシア文字やキリル文字はも ちろん,ウムラウトやアクセント記号付きラテン文字ま でをも では原則として全角文字として出力する。

ただし, には「各文字を邦文・欧文のどちらと して取り扱うのか」を制御できる機能が備わっているた め,実際には,ギリシア文字,キリル文字,ウムラウト やアクセント記号付きラテン文字等々を正しく欧文と して処理させることができるのである。このためのパッ ケージが で, オプションを指定す ることで望む出力が得られる。逆に欧文扱いを一時的に

回避したい場合は コマンドを

用いる。

ラテン文字表記を超える欧文をも含む邦文処理を視野 に入れた場合, よりも の優位性は明らかで ある。本講義で を邦文(欧文を含む)処理エンジ ンとして用いる根拠はここにある。

第 講

邦文ソースのコンパイル法: セクショニング,ディスプ レイ表示,箇条書き

における欧文の入出力の基本を学んだ後は,邦文 テキスト処理の仕方を学ぶ。従来 で邦文テキスト を扱う場合は,日本語用の機能を追加した (

の略)が広く用いられてきた。 では漢 字・かな・和文記号として 第 第 水準( ) の範囲しか扱えないため,これを漢字・かな・ (日 中韓)記号・ハングルとして の範囲を扱えるよ うに 内部をユニコード拡張したものが であ る。本講義での邦文テキスト処理(ここでいう邦文テキ ストとは「基底語が邦文」ということであり中身には欧 文多言語をも含み得る)では,原則として, を用 いる(正確には に 拡張が施された

を使う。 では「左から右書き」および「右から左書 き」言語の混植をサポートする機能 が備わっ ているためである)。

日本語を基底語とする邦文テキストを で処理す る場合のソースファイルの書き方を,先ずは演習用ファ イル を手本として学べ。

には

を,オプション部には必ず を指 定する。現段階では に欧文テキストを一切挿入し ていないが,いずれは日本語を基底語としながらもドイ ツ語,フランス語,英語等々を混在処理させることにな

るので, と 指定も常用する

癖を身に付けておくと良い。

パッケージを読み込むことで,日本語組版 特有の「ルビ」も使えるようにしてある。ルビの入力 法も良く確認すること。出力用欧文フォントとしては

(あるいは ),和文フォントとしては 明朝・ゴシック( 端末),ヒラギノ( 端末)

が用いられる。

邦文出力では各段落の頭を一字下げる「段落字下げ」

を行うのが大原則であるが, で邦文テキスト処理を する場合はプログラムが自動的に段落字下げを行ってく れるので,書き手は「空白行を設けることで段落区切り を指示する」ことだけに意識を払えば良い。

また,書き手が 部に番号を振る必 要はない(振ってはならない)。これらは が論理

的階層に応じて自動処理してくれる。実際のレポート や論文を書く際には の位置が前後で入れ替わっ たり, へと降格したり(逆に が に昇格したり)ということは頻繁に起こること であるから,書き手は文書の論理および階層構造(ここ は レベル,ここは レベル,等々)の 違いにのみ注力し文書を作成する。

環境では記号付き箇条書きが, 環 境では番号付き箇条書きが,それぞれ処理される。い ずれも各項目は コマンドの後に記す。番号付き箇 条書きでは自動連番が振られる。コマンドの後には必 ず 設ける(コマンドによっては をコマンド 直後に添えなくてはならない場合もある)ことによっ てコマンドと本文(地の文)との区切りを明確にする。

や は「入れ子」( )にしても使 える( の中でさらに を使う,等々)。

レポートや論文中で「引用」を行う場合,短い引用で あれば「かぎ括弧」を用いれば良いが,ある程度まと まったテキストの引用をする場合は「ディスプレイ表 示」( )をして,本文(地の文)とは異なる箇 所であることを視覚的にも分かるようにする。この場 合,引用の中に段落を含まない短めの引用に対しては 環境を,引用の中に段落が含まれるような長めの 引用に対しては 環境を,それぞれ用いる。

演習用ファイル の中身を精査した後は,邦文 テキストを で処理するための以下のコマンドを 学べ。欧文の場合とは異なり, パス処理( o-Pass

)となっていることに注意。

(邦文テキストを含む ソー スを でコンパイルする)

(上記コマンドによって生成され た ファイルを ファイルへ変 換する)

第 講演習 演習用ファイル:

邦文のみから成るテキスト の中身を精査 せよ

を で処理せよ

入力ファイル と 出力ファイル を良 く比較せよ

4. ja.texに英・独・仏・露・希語テキストを追加し

たja_euro_uptex.texの中身を精査せよ

5. ja_euro_uptex.texをTEXで処理せよ(複数回)

6. 入力ファイルja_euro_uptex.texと 出力ファイル ja_euro_uptex.pdfを良く比較せよ

7. ja_euro_uptex.texファイルに手を入れて,ノンブ ルを非表示にせよ

8. 同様にヘッダ(ページ上部)にノンブルと柱を出 力させよ

9. ja_euro_uptex.texファイルに手を入れ,目次や処 理日付の出力をドイツ語やフランス語にしてみよ 10. 以下のようにptextest.texをupTEXではなくpTEX で処理し,ロシア語および(複式アクセント記法)

ギリシア語箇所に不具合が出ることを確認せよ 11. platex ptextest(複数回)

12. dvipdfmx ptextest

ja_euro_uptex.texではotfパッケージを用いる設定に してある。otfにはOpenTypeと呼ばれる(従来の Post-Script Type 1とTrueType形式を包含する)新しいフォ ント形式の機能をTEXで「全て使い切る」ための仕組み が備わっている。現段階ではその有難みを享受すること はない(そこまでの多文字・異体字処理をしないため)

が,遅かれ早かれ,いずれはこのパッケージの御世話に なるため,今のうちから慣れておきたい。オプションの

deluxeは明朝体3ウェイト(線の太さ),ゴシック体3

ウェイト,丸ゴシック体の7書体に加えプロポーショナ ル組みも使えるようにする指定である(もちろん全ての 機能を使うためには,これら全ての書体を備えるヒラギ ノのようなフォント使用が前提となる)。expertを指定 すると縦組み,横組み,ルビのそれぞれに「専用の仮名 グリフ」(字形)が用いられる。本講義では扱わないが,

オプションにmultiを指定すれば簡体字(简体),繁體 字(繁體),ハングル(한글)も使えるようになる。

またja_euro_uptex.texでは,Babelで指定する基底言 語に拘らずキャプション等の出力を「日本語」とする パッケージpxbabelを使用し,プリアンブルに \usepa-ckage[japanese]{pxbabel}指定を書き加えていることに 注意。併せてラテン文字,ギリシア文字,キリル文字と いった欧文アルファベットを(全角ではなく)欧文(半 角)として出力するためのパッケージpxcjkcatを使用 し,オプション部にprefernoncjk指定をしている。プリ アンブルにおける後者の指定は(もしotfパッケージを

使用するのであれば)otf指定よりも「後」に追加する こと。

プリアンブルに記した\title, \author, \dateコマンドの 引数が,本文にある\maketitle, \tableofcontentsコマン ドによってどのように出力されることになるか,じっ くりと確認すること。なお\dateコマンドの引数には

\todayコマンドを用いているが,これによりソースファ

イルをTEXで処理した日付がBabelの基底言語に応じ た言語で出力される。

発展:pTEXおよびupTEXにおける邦文処理

pTEXで取り扱える邦文はJIS第1第2水準漢字(JIS

X 0208)にある文字に限られる(この範囲内にある文字

を全て邦文として扱う)が,入力のエンコーディング

をUTF-8とすることで,事実上これらを超える一部の

ユニコード文字(全部ではない)を「欧文」として処理 することもできる。具体的には,ウムラウトやアクセン ト記号付きラテン文字はJIS X 0208に含まれていない ので,これらの文字が含まれる邦文テキストをfontenc (T1)およびinputenc (utf8)指定によりpTEXで処理すれ ば,「欧文文字」として正しく出力されるのである。し

かし,JIS X 0208にはギリシア文字やキリル文字は含ま

れてしまっているため,これらの文字は欧文ではなく常 に邦文として処理されてしまう(いわゆる全角文字と なってしまう)。

一方,邦文処理の内部文字コードをユニコードに拡張

したupTEXは,デフォルトで全てのユニコード文字を

邦文扱いする。つまり,ギリシア文字やキリル文字はも ちろん,ウムラウトやアクセント記号付きラテン文字ま

でをもupTEXでは原則として全角文字として出力する。

ただし,upTEXには「各文字を邦文・欧文のどちらと

して取り扱うのか」を制御できる機能が備わっているた め,実際には,ギリシア文字,キリル文字,ウムラウト やアクセント記号付きラテン文字等々を正しく欧文と して処理させることができるのである。このためのパッ ケージがpxcjkcatで,prefernoncjkオプションを指定す ることで望む出力が得られる。逆に欧文扱いを一時的に 回避したい場合は\withcjktokenforced{. . . }コマンドを 用いる。

ラテン文字表記を超える欧文をも含む邦文処理を視野 に入れた場合,pTEXよりもupTEXの優位性は明らかで ある。本講義でupTEXを邦文(欧文を含む)処理エンジ ンとして用いる根拠はここにある。

関連したドキュメント