コンテンツへスキップ
Topos Uranos

要約

この課は、テキストを扱う本講座の第二単元を締めくくる。段落とその記号から注、引用、韻文へと至る約束事と手順の連鎖を組み立て直し、各環でどの原理が使われ、それがどの課で確立されるかを示す。達成したことを講座の計画に照らして位置づけ、予告しただけで後の単元に残る問題を明らかにする。終了テストでは開始テストの技能を繰り返す。そして各課の問題より難しい六つの挑戦課題で終わる。そこでは複数の課を組み合わせて、組版のまずいテキストを診断すること、複数の言語を含む文書の結果を予測すること、説明から文書を設計することが求められる。

学習目標

  1. 単元の約束事と手順の順序を組み立て直し、それぞれがよりかかる原理を特定する。
  2. 宣言した言語、書体、論理的な指定、そして各段落の終わりでエンジンが下す決定が、互いにどう関わるかを説明する。
  3. 単元が確立したことと、予告しただけで後の単元が展開することを区別する。
  4. コンパイルはできるが組版のまずいテキストを診断し、ログが警告することと読んで初めてわかることを分ける。
  5. 説明をもとに、複数の言語、注、引用を含む文書のプリアンブルと本文を設計する。

単元で達成したこと

この単元は、コンパイルできる文書から、組版と各言語の約束事に従って組まれたテキストへ進むことを目指した。その目標は、導入が前の単元から既知とした事柄によりかかって達成された。エンジンがソースを読む規則、宣言の有効範囲、内容と形式の分離、Unicode を扱う LuaLaTeX、そしてコンパイルの回数である。したがって、たどった道のりは四つの区間からなる一本の連鎖として読める。

段落、空白、記号

段落、空白、記号の課は、空行か \par で始まる段落と、段落を始めない改行とを区別し、段落の形と段落間の垂直の空きはクラスが決めることを確立した。空白を働きによって分けた。伸び縮みして改行を許す空白、改行を禁じるチルダ、位取りを区切る細いスペースである。そして日本語の文は全角の句点で終わってその後に空白を置かないので、ピリオドの後の空きの問題は欧文にだけ現れ、luatexja はその設定を変えないことを示した。ハイフン、二分ダッシュ、全角ダッシュ、マイナス記号を区別し、和文のダッシュは全角の文字を直接入力することを示した。何段階もの括弧と引用符を手で、あるいは \enquote で組み(csquotes には日本語の様式がないので自分で定義する)、三点リーダーも組んだ。さらに、日本語の文書は babel による数の扱いを受けないこと、数式中のコンマは波括弧で守ること、パーセント記号は数に続けることを示した。

言語と書体

言語と書体の課は、宣言した言語が何を決めるかを説明した。ハイフネーション、名称、日付、そしてキーボードのいくつかの略記である。日本語そのものの組版規則は luatexja が受け持つ。言語を切り替える三つの方法を、何を変えるかによって区別し、ギリシア語とラテン語に適用した。和文の文書ではギリシア文字を jacharrange で欧文書体に返す必要があることも示した。三つの書体ファミリー、言語ごとに書体を割り当てる \babelfont、最も役に立つ OpenType の機能を紹介し、欠けた文字や字形がないかを確かめること、文書をほかのコンピュータでもコンパイルする必要があるときは TeX Live の書体を選ぶことを教えた。

意味のある書式

意味のある書式の課は、内容と形式の分離をテキストの細部まで推し進めた。論理的な指定と視覚的な指定を区別し、入れ子になると反転する強調(和文には斜体がなく、和文の強調にはふつう太字や傍点を使う)、引数をとる命令と宣言の二つの形をもつ文字の三つの属性、そして宣言としてしか存在しない文字サイズを調べた。段落の行送りと揃え方は段落が終わるときに決まることを確立し、そこから、どちらかを変えるグループは段落の終わりを含まなければならないことが導かれた。機能を名指す命令を定義することを勧め、enumitem による箇条書きと揃え方を紹介し、してはならないことで締めくくった。

注・引用・韻文

注・引用・韻文の課は、学術的な文章の装置を組んだ。脚注(この課の採る慣習では、注番号を句読点の前に置く)、注番号と注本文を別々に置くこと、見出しの中の注である。さらに \enquote による文中の引用と、quote、quotation、\blockquote による独立した引用、エピグラフ、verse 環境の韻文、そして lineno による行番号である。行番号の参照は、ほかの参照と同じく二回のコンパイルを要する。

次の図は、四つの区間を一本の連鎖にまとめたものである。列の各節点は約束事か手順で、互いによりかかる順に番号が付き、用いる前の環と弧で結ばれている。そのまわりに浮かぶのが支え、すなわち連鎖が何度も立ち返る原理であり、それぞれはよりかかる環と実線で、確立される環と点線で結ばれる。ただし前の単元で確立されたものは輪として描かれる。支えを押すと、それを使うすべての環が強調され、各環はそれを学ぶ課へのリンクになっている。

鎖の支え

  • Aソースの読み方. いくつかの空白は一つに等しく、改行は空白一つに等しく、空行は段落を終える。制御綴は直後の空白を消費する。前の単元で確立される。 この単元では証明なしに認める。
  • B宣言の有効範囲. 宣言はそれを含むグループの終わりまで有効で、後に続く波括弧はそれを限らない。前の単元で確立される。 この単元では証明なしに認める。
  • C内容と形式. 著者はそれぞれのものが何であるかを宣言し、別の場所で下した決定がその見た目を定める。前の単元で確立される。 この単元では証明なしに認める。
  • DUnicode と書体. LuaLaTeX はソースを Unicode で読み、書体にない文字は PDF から欠け、ログに警告が出る。前の単元で確立される。 この単元では証明なしに認める。
  • Eコンパイルの回数. 参照はある回のコンパイルで補助ファイルに書き込まれ、次の回で使われる。前の単元で確立される。 この単元では証明なしに認める。
  • F言語が決める. babel で宣言した言語が、ハイフネーション、名称、日付、いくつかの略記を決める。和文の改行、禁則、約物の詰め、和欧文間の空きは luatexja が決める。 確立される環: 8. 言語が決めること.
  • G段落の終わりで. 段落の行送りと揃え方は、段落が終わるときに、その時点で有効な値で決まる。 確立される環: 18. 文字サイズ.
  1. 第 1 区間 段落、空白、記号

    • 段落は空行で区切り、改行は行が単位になる場合のためにとっておく。
    • 普通の空白、チルダ、細いスペース、空白なしのどれを使うかを選ぶ。
    • ハイフン、二分ダッシュ、全角ダッシュ、マイナス記号をしかるべき場所に書く。
    • 何段階もの括弧と引用符、三点リーダー、数を組む。
    1. 段落と改行. 空行と \par は段落を終え、段落の形はクラスが決める。改行は行を終えるだけで、次の行には字下げも保護もない。

      支え: A (ソースの読み方). 証明される授業: 段落、空白、記号.

    2. 垂直の空き. 伸縮する空きと \vspace はブロックの間に空きを加え、ページの頭では消える。段落間の空きはクラスが決めるので、控えめに使う。

      使う結果: 1. 段落と改行. 支え: C (内容と形式). 証明される授業: 段落、空白、記号.

    3. チルダと細いスペース. チルダは改行されない普通の空白である。細いスペースは狭く、伸び縮みせず、改行されず、数字の位取りを区切る。

      支え: A (ソースの読み方). 証明される授業: 段落、空白、記号.

    4. ピリオドの後の空き. LaTeX は文を終えると判断した欧文のピリオドの後の空きを広げる。和文は全角の句点で終わるので影響を受けず、欧文の空きを揃えたければ \frenchspacing を書く。

      使う結果: 3. チルダと細いスペース. 支え: A (ソースの読み方). 証明される授業: 段落、空白、記号.

    5. ハイフンとダッシュ. 欧文では、ハイフンは複合語をつなぎ、ハイフン二つは範囲の二分ダッシュ、三つは挿入句の全角ダッシュになる。和文のダッシュは全角の文字を直接入力する。マイナス記号は数式の中にしかない。

      支え: D (Unicode と書体). 証明される授業: 段落、空白、記号.

    6. 括弧と三点リーダー. 日本語はかぎ括弧と二重かぎ括弧を段階に応じて使い、\enquote は日本語の様式を定義すればそれを選んで閉じる。三点リーダーは一つの記号で、和文では二つ続ける。

      支え: D (Unicode と書体), C (内容と形式). 証明される授業: 段落、空白、記号.

    7. 小数とパーセント. 数式の中のコンマは句読点であり、波括弧で守る。位取りはコンマか細いスペースで区切り、パーセント記号は数に続ける。

      使う結果: 3. チルダと細いスペース. 支え: A (ソースの読み方). 証明される授業: 段落、空白、記号.

  2. 第 2 区間 言語と書体

    • 主言語と副次的な言語を宣言し、それぞれが何を決めるかを説明する。
    • \foreignlanguage、otherlanguage、\selectlanguage のどれを使うかを選ぶ。
    • ギリシア語とラテン語を、それぞれの規則とふさわしい書体で組む。
    • 書体と機能を割り当て、欠けたものがないかを確かめ、持ち運べる書体を選ぶ。
    1. 言語が決めること. babel は言語ごとにハイフネーションのパターン、名称、日付、略記を適用する。主言語はリストの最後の言語か、\babelprovide のキー main で指定した言語である。

      使う結果: 4. ピリオドの後の空き, 6. 括弧と三点リーダー, 7. 小数とパーセント. 証明される授業: 言語と書体.

    2. 言語の切り替え. \foreignlanguage は短い箇所のハイフネーションと略記を変える。otherlanguage はさらに日付と名称を変え、閉じる。\selectlanguage はそこから先のすべてを変える。

      使う結果: 8. 言語が決めること. 支え: F (言語が決める), B (宣言の有効範囲). 証明される授業: 言語と書体.

    3. ギリシア語とラテン語. ラテン語は babel のオプションである。古典ギリシア語は \babelprovide で宣言し、多調音のギリシア文字をもつ書体を要する。和文の文書では、さらに jacharrange でギリシア文字を欧文書体に返す。

      使う結果: 9. 言語の切り替え. 支え: F (言語が決める), D (Unicode と書体). 証明される授業: 言語と書体.

    4. ファミリーと fontspec. 主書体、サンセリフ、等幅の書体は名前で割り当て、機能は角括弧に書く。

      支え: D (Unicode と書体). 証明される授業: 言語と書体.

    5. 言語ごとの書体. 角括弧に言語を書くと、\babelfont はその言語として印を付けたものにだけ働く書体を割り当てる。

      使う結果: 11. ファミリーと fontspec, 9. 言語の切り替え. 支え: F (言語が決める). 証明される授業: 言語と書体.

    6. OpenType の機能. オールドスタイル数字とライニング数字、プロポーショナル数字と等幅数字、スモールキャピタル、合字は、書体の宣言やグループの中で機能として有効にする。

      使う結果: 11. ファミリーと fontspec. 支え: B (宣言の有効範囲). 証明される授業: 言語と書体.

    7. 収録範囲と可搬性. 書体はいくつかの文字体系と字形しか収めていない。欠けたものはログに警告が出る。TeX Live の書体は、完全なインストールならどこでもコンパイルできる。

      使う結果: 12. 言語ごとの書体, 10. ギリシア語とラテン語. 支え: D (Unicode と書体). 証明される授業: 言語と書体.

  3. 第 3 区間 意味のある書式

    • 視覚的な指定より論理的な指定を選ぶ。
    • 入れ子の強調、文字属性の組み合わせ、文字サイズを予測する。
    • 機能を名指す命令を定義する。
    • 箇条書きを組み、箇所を揃え、視覚的な指定を避ける。
    1. 論理的な指定. 書式の指定はどれもテキストの機能に対応し、その見た目は一か所の定義で決まる。

      支え: C (内容と形式). 証明される授業: 意味のある書式.

    2. 強調. \emph は対比によって目立たせる。立体の中では斜体にし、斜体の中では立体に戻し、太字の中では斜体を加える。和文には斜体がなく、強調には太字や傍点を使う。

      使う結果: 15. 論理的な指定. 支え: B (宣言の有効範囲). 証明される授業: 意味のある書式.

    3. ファミリー、ウェイト、シェイプ. 文字の三つの属性は独立していて組み合わさる。どの命令にも宣言があり、欠けたシェイプは警告とともに置き換えられる。

      使う結果: 11. ファミリーと fontspec, 16. 強調. 支え: B (宣言の有効範囲). 証明される授業: 意味のある書式.

    4. 文字サイズ. 文字サイズは宣言しかない。段落のサイズを変えるグループは段落の終わりを含まなければならない。

      使う結果: 17. ファミリー、ウェイト、シェイプ, 1. 段落と改行. 支え: B (宣言の有効範囲). 証明される授業: 意味のある書式.

    5. 意味のある命令. 機能ごとに自分の命令をプリアンブルで定義しておけば、その見た目を一行で変えられる。

      使う結果: 15. 論理的な指定, 16. 強調. 支え: C (内容と形式). 証明される授業: 意味のある書式.

    6. 箇条書き. 意味に応じて記号、番号、見出し語を使う。enumitem はラベル、間隔、番号付けを決め、\setlist は文書全体についてそれを行う。

      使う結果: 15. 論理的な指定. 支え: C (内容と形式). 証明される授業: 意味のある書式.

    7. 揃え方. 揃え方の環境は垂直の空きを加える。対応する宣言は加えず、段落の終わりを含まなければならない。

      使う結果: 18. 文字サイズ, 1. 段落と改行, 2. 垂直の空き. 支え: G (段落の終わりで), B (宣言の有効範囲). 証明される授業: 意味のある書式.

    8. してはならないこと. 手で空白を入れること、太字で見出しを装うこと、下線を引くことは、ワープロのまねであり、黙って失敗する。

      使う結果: 1. 段落と改行, 20. 箇条書き, 19. 意味のある命令. 支え: C (内容と形式). 証明される授業: 意味のある書式.

  4. 第 4 区間 注・引用・韻文

    • 注番号を正しい位置に置いて脚注を付ける。表や見出しの中でも同じである。
    • 文中で引用し、長い引用を独立させる。
    • エピグラフと韻文を組む。
    • テキストの行に番号を付け、それを参照する。
    1. 脚注. 注番号は語に密着させ、この課の採る慣習では句読点の前に置く。\footnotemark と \footnotetext は注番号と注本文を分ける。

      使う結果: 1. 段落と改行, 4. ピリオドの後の空き. 支え: A (ソースの読み方). 証明される授業: 注・引用・韻文.

    2. 見出しの中の注. 見出しの中の注は補助ファイルへ運ばれ、エラーになるか、目次にもう一度現れる。オプション引数は目次をきれいに保ち、\thanks は文書の表題に注を付ける。

      使う結果: 23. 脚注. 支え: E (コンパイルの回数). 証明される授業: 注・引用・韻文.

    3. 文中の引用. \enquote は言語と段階に応じた引用符を付け、既定では二段階まで許す。

      使う結果: 6. 括弧と三点リーダー, 8. 言語が決めること. 支え: F (言語が決める), C (内容と形式). 証明される授業: 注・引用・韻文.

    4. 独立した引用. quote は短い引用に、quotation は複数の段落にわたる引用に使い、\blockquote は三行を超える引用を独立させる。

      使う結果: 25. 文中の引用, 1. 段落と改行. 証明される授業: 注・引用・韻文.

    5. エピグラフと韻文. verse の中では \\ が行を分け、空行が連を分ける。エピグラフは出典とともに節の冒頭に置く。

      使う結果: 1. 段落と改行, 26. 独立した引用. 支え: A (ソースの読み方). 証明される授業: 注・引用・韻文.

    6. 行番号. lineno は行に番号を付け、\linelabel と \lineref は数を書かずにそれを参照する。二回のコンパイルを要する。

      使う結果: 27. エピグラフと韻文. 支え: E (コンパイルの回数). 証明される授業: 注・引用・韻文.

構造へ. 連鎖は、すでによく組まれたテキストが骨組みを必要とするところで止まる。章、目次、内部参照、自分のプリアンブルであり、それが次の単元の主題である。