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

参考文献と索引:まとめと挑戦課題

要約

この課は、参考文献と索引を扱う本講座の第六単元を締めくくる。文献の項目から用語集へと至る原理と仕組みの連鎖を組み立て直し、各環でどの原理が使われ、それがどの課で確立されるかを示す。達成したことを講座の計画に照らして位置づけ、予告しただけで次の単元に残る問題を明らかにする。終了テストでは開始テストの技能を繰り返す。そして各課の問題より難しい六つの挑戦課題で終わる。そこでは複数の課を組み合わせて、論文をある引用スタイルから別のスタイルへ移すこと、警告なしにコンパイルされるが四つの欠陥を抱えた参考文献一覧を診断すること、プラトンについての小論の脚注を予測すること、参考文献と一致する人名索引をつくること、学位論文のコンパイル手順を組み立て直すこと、bibtex と biber の両方に使えるデータベースを用意することが求められる。

学習目標

  1. 単元の仕組みの順序を組み立て直し、それぞれがよりどころとする原理を特定する。
  2. 文献データベース、引用、索引の欠陥がほとんど常に警告なしにコンパイルされる理由と、その痕跡をどこに探すか、すなわち出力、biber の出力、makeindex の報告、ログのいずれに探すかを説明する。
  3. 単元が確立したことと、予告しただけで次の単元が展開することとを区別する。
  4. データベース、スタイル、そして引用、索引項目、略語の並びが何を出力するかを予測し、意図したものを出力するようにソースを直す。
  5. 参考文献、索引、用語集をもつ文書のコンパイルにかかわるプログラムを順序づけ、そのうちどれが自動で実行されるかを知る。

単元で達成したこと

この単元の目標は、仕事の典拠をデータベースから引用し、引用と一覧が各分野のスタイルで自動的に組まれるようにすること、そして文書を参照しやすくする索引と用語集を備えることであった。この目標は、導入が前の単元から既知と宣言したものに支えられて達成された。すなわち、エンジンがある回のコンパイルで書いたものを次の回で読む、複数回の処理。それぞれが何であるかを述べ、見た目は別の場所での決定に委ねる論理的マークアップ。そして第二単元の注と引用符である。こうして、たどってきた道は四つの区間からなる一本の連鎖として読める。

文献データベース

文献データベースの課は、著作のデータをその引用スタイルから切り離し、文献に論理的マークアップの原理を当てはめた。.bib ファイルは各著作が何であるかを述べ、スタイルがそれをどう書くかを決める。項目とその種類、一意で推測しやすくなければならないキー、そしてフィールドを説明した。biber は biblatex のフィールド名も古典的な名前も理解するが、bibtex は古典的な名前しか理解しないことを示した。biber が名前を分ける機械的な規則を確立した。人と人の間の and、姓と名の間のコンマ、小文字の前置詞、団体名の二重の波括弧であり、その誤りは出力にしか現れない。古典的なスタイルが変えてしまう大文字を波括弧で保護した。bibtex がアクセント付きのラテン文字を z の後ろに並べ、biber が言語に従って並べる理由を説明した。Zotero からの書き出しを紹介した。そしてデータベースの誤りは文書のログではなく biber の出力に探すことを教えた。

BibLaTeX による文献の引用

BibLaTeX による文献の引用の課は、パッケージを backend=biber で、データベースを拡張子付きの \addbibresource で読み込み、biblatex が babel とともに求める csquotes も読み込んだ。手順を明確にした。エンジンがキーを .bcf に記録し、biber がそれを探して .bbl を書き、次の回がそれを組む。biber がなければ引用は太字のキーのままであり、Texmaker の参考文献ボタンは既定では bibtex を実行する。引用命令は文中での役割で選んだ。叙述的な引用には \textcite、括弧の引用には \parencite、スタイルに決めさせる引用には \autocite を使い、前注と後注も付けた。著者年方式、番号方式、圧縮番号方式、アルファベット方式を比べ、番号は sorting=none がない限り引用の順ではなく一覧の順に従うことを示した。そして見出しと見出しレベルとフィルターを備えた一覧を組んだ。

人文学における引用

人文学における引用の課は、脚注による引用の節約の規則を自動化した。最初の引用は完全で、以後は短く、ラテン語の略語 ibid.、op. cit.、loc. cit. はスタイルが計算するので、引用を移しても偽りにならない。verbose 系をひととおり見た。\DeclareAutoCiteCommand で、この講座の例のとおり注番号を約物の前に置き、全角の約物は biblatex がもともと動かさないことも確かめた。古典は後注の標準的な番号で引用し、biblatex は後注が数でなければ「p.」を付けずに出力し、数に見えるときは \nopp を使った。shorthand の略号とその一覧を導入した。標準のスタイルは origdate を出力しないので、翻訳とその原典を関連項目で記録した。そしてキーワードで一次文献を二次文献から分けた。

索引と用語集

索引と用語集の課は、同じ手順を別のプログラムに移した。エンジンが項目を .idx に書き、makeindex がそれを並べ替えて .ind に書き、imakeidx は nonewpage や noautomatic がない限り makeindex を自分で実行する。! による副項目、@ による読み、| による参照と書式、そして範囲を教えた。makeindex がバイトを比べ、平仮名を片仮名より前に、漢字をさらにその後ろに並べ、読みを知らないこと、そして upmendex が五十音順に並べることを示した。名前付きの索引を複数保った。そして glossaries で用語と略語を組み、略語は初出で展開され、makeglossaries を処理の間に実行し、日本語の用語には sort=def を使った。

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

鎖の支え

  • A複数回の処理. エンジンは一回の処理で計算したものを補助ファイルに記録し、次の回でそれを使う。第一単元で確立し、第三単元で詳しくした。 この単元では証明なしに認める。
  • B見た目ではなく、何であるか. 論理的マークアップは各要素が何であるかを述べ、見た目は別の場所での決定に委ねる。第二単元で確立した。 この単元では証明なしに認める。
  • C一度だけ決める. 一か所で決めたもの(スタイル、プリアンブルのオプション、自作の命令、項目)は、そこを変えれば文書全体で変わる。手で写したものは一致しなくなる。前の単元で確立した。 この単元では証明なしに認める。
  • Dbabel が補う語. babel の言語は、文書が自分で書く語、すなわち見出し、接続詞、略語、ラベルを決める。babel を読み込まなければ、biblatex は英語のモジュールを使う。第二単元で確立した。 この単元では証明なしに認める。
  • E正しいものは警告しない. エンジンとそのプログラムは、処理できないものについてしか警告しない。正しくても著者の意図を言っていないソースは警告なしにコンパイルされ、欠陥は出力にしか現れない。前の単元で確立した。 この単元では証明なしに認める。
  • Fバイトで並べるか、文字で並べるか. bibtex と makeindex は文字の符号を比べる。bibtex はアクセント付きのラテン文字を z の後ろに置き、makeindex は平仮名、片仮名、漢字を符号順に並べて読みを知らない。biber と upmendex は言語の規則で並べる。 確立される環: 3. フィールド、波括弧、アクセント.
  • G印を付け、並べ、組む. 著者は本文中で引用するものや索引に入れるものに印を付け、外部のプログラムがエンジンの二回の処理の間にそれを並べ、次の回がそれを組む。 確立される環: 6. biber を含む手順.
  1. 第 1 区間 文献データベース

    • 種類、キー、フィールドのそろった正しい項目を書く。
    • 名前を正しく分けられるように書く。
    • biber 用または bibtex 用にデータベースを用意する。
    • biber の出力からデータベースを診断する。
    1. データとスタイル. 各著作は .bib の項目で一度だけ記述され、種類、出力されない一意のキー、フィールドをもつ。形はスタイルが決め、一覧には引用した著作だけがちょうど入る。

      支え: B (見た目ではなく、何であるか), C (一度だけ決める). 証明される授業: 文献データベース.

    2. 名前. and は人を分け、コンマは姓と名を分ける。コンマがなければ最後の語が姓になる。先頭の小文字の語は前置詞になる。二重の波括弧は団体名が分けられるのを防ぐ。どの誤りも警告を出さない。

      使う結果: 1. データとスタイル. 支え: E (正しいものは警告しない). 証明される授業: 文献データベース.

    3. フィールド、波括弧、アクセント. biber は journal、address、year もその新しい名前も理解する。bibtex は古典的な名前しか理解せず、新しい名前では雑誌と年を失う。波括弧は大文字を保護する。bibtex はアクセント付きの文字を z の後ろに並べ、biber は言語に従う。

      使う結果: 1. データとスタイル. 支え: F (バイトで並べるか、文字で並べるか). 証明される授業: 文献データベース.

    4. データベースの診断. コンマが一つ欠けると biber は止まり、一覧全体が空になる。重複したキーは警告とともに無視される。エスケープしていない & は、一覧を組む文書の行で LuaLaTeX のエラーになる。

      使う結果: 2. 名前, 3. フィールド、波括弧、アクセント. 支え: E (正しいものは警告しない). 証明される授業: 文献データベース.

  2. 第 2 区間 BibLaTeX による文献の引用

    • biblatex を biber と csquotes とともに読み込む。
    • biber を含む手順を手で、latexmk で、または Texmaker でこなす。
    • 文に応じて引用命令を選ぶ。
    • 各スタイルの出力を予測し、フィルターで一覧を組む。
    1. biblatex の読み込み. オプションに backend=biber と style。\addbibresource にはファイルの拡張子を付ける。csquotes は babel の後で、biblatex は警告でそれを勧める。

      使う結果: 1. データとスタイル. 支え: D (babel が補う語). 証明される授業: BibLaTeX による文献の引用.

    2. biber を含む手順. エンジンがキーを .bcf に書き、biber が .bbl を書き、エンジンがそれを組む。それまで引用は太字のキーである。latexmk は biber を自分で実行し、Texmaker のボタンは変えなければ bibtex を実行する。

      使う結果: 5. biblatex の読み込み. 支え: A (複数回の処理), G (印を付け、並べ、組む). 証明される授業: BibLaTeX による文献の引用.

    3. 文に応じた引用. 文の一部である著者には \textcite、挿入句には \parencite、スタイルに決めさせる引用には \autocite。数の後注には「p.」が自動で付き、\citeauthor は一覧を指さない。

      使う結果: 6. biber を含む手順. 支え: D (babel が補う語), C (一度だけ決める). 証明される授業: BibLaTeX による文献の引用.

    4. スタイルが決める. authoryear、numeric、numeric-comp、alphabetic は、一つのオプションで全引用と一覧を変える。番号は一覧の順、既定ではアルファベット順に従い、sorting=none で引用の順になる。

      使う結果: 7. 文に応じた引用, 2. 名前. 支え: B (見た目ではなく、何であるか), C (一度だけ決める). 証明される授業: BibLaTeX による文献の引用.

    5. 一覧とそのフィルター. \printbibliography は見出しと見出しレベルを決める。keyword と notkeyword は著作を失わずに一覧を分ける。\nocite は引用していない著作を加える。著作のない一覧は出力されず、「Empty bibliography」という警告が出る。

      使う結果: 8. スタイルが決める. 支え: E (正しいものは警告しない). 証明される授業: BibLaTeX による文献の引用.

  3. 第 3 区間 人文学における引用

    • 脚注のスタイルを選び、その略語を予測する。
    • この講座の例のとおり、注番号を約物の前に置く。
    • 古典を標準的な番号で引用する。
    • 翻訳を記録し、一次文献と研究を分ける。
    1. 初めは完全に、次は短く. verbose 系は最初の引用で完全な典拠を、その後で短い典拠を出す。verbose-ibid は同じページで直前の脚注を繰り返すとき「Ibid.」と書く。伝統的な方式は op. cit. と loc. cit. を加える。

      使う結果: 8. スタイルが決める. 支え: C (一度だけ決める). 証明される授業: 人文学における引用.

    2. 注番号と約物. 脚注モードでは、\autocite は欧文の約物を注番号の前に移す。[r] 付きの \DeclareAutoCiteCommand はそれを後ろに残し、\autocite の前の空白はどちらの方式にも役立つ。全角の約物は biblatex がもともと動かさない。

      使う結果: 10. 初めは完全に、次は短く, 7. 文に応じた引用. 支え: D (babel が補う語). 証明される授業: 人文学における引用.

    3. 標準的な番号. 514a や 980a21 のように数でない後注は「p.」なしで出力される。数に見える後注には \nopp が要る。shorthand は略号を与え、それは ibid. より優先し、\printbiblist{shorthand} がその一覧を出力する。

      使う結果: 7. 文に応じた引用, 10. 初めは完全に、次は短く. 支え: E (正しいものは警告しない). 証明される授業: 人文学における引用.

    4. 翻訳と一次文献. translator と origlanguage は訳者と原語を示す。標準のスタイルは origdate を出力しないので、原典は関連項目として宣言する。keywords は一次文献を二次文献から分ける。

      使う結果: 12. 標準的な番号, 9. 一覧とそのフィルター. 支え: E (正しいものは警告しない). 証明される授業: 人文学における引用.

  4. 第 4 区間 索引と用語集

    • 項目に印を付け、makeindex で索引をコンパイルする。
    • 日本語の項目を正しく並べ、参照と範囲を書く。
    • 各項目の形を一つに保ち、複数の索引を扱う。
    • 用語と略語を定義し、それぞれの出現を予測する。
    1. imakeidx による索引. \index は .idx に書き、makeindex は並べ替えて .ind に書き、\printindex がそれを組む。imakeidx は nonewpage や noautomatic がない限り makeindex を自分で実行する。

      使う結果: 6. biber を含む手順. 支え: A (複数回の処理), G (印を付け、並べ、組む). 証明される授業: 索引と用語集.

    2. 副項目、読み、参照. ! は階層を分け、@ は並べ替えの読みと出力の形を分け、|see はページなしで参照し、|( は範囲を始める。読みがなければ、漢字や片仮名の項目は五十音順の位置に並ばない。

      使う結果: 14. imakeidx による索引. 支え: F (バイトで並べるか、文字で並べるか), E (正しいものは警告しない). 証明される授業: 索引と用語集.

    3. 一つの形、複数の索引. makeindex は一文字ずつ比べるので、一つの語の二通りの書き方は二つの項目になる。自作の命令で守る取り決めがそれを防ぐ。name は別の索引を開き、名前を書き誤ると項目が失われる。

      使う結果: 15. 副項目、読み、参照, 2. 名前. 支え: C (一度だけ決める). 証明される授業: 索引と用語集.

    4. 用語集と略語. glossaries は各用語を一度だけ定義し、\gls は略語を初出で展開する。makeglossaries は処理の間に並べ替える。仮名や漢字で始まる用語には sort=def か sort が要り、なければエンジンが止まる。

      使う結果: 15. 副項目、読み、参照. 支え: G (印を付け、並べ、組む), F (バイトで並べるか、文字で並べるか). 証明される授業: 索引と用語集.

ほかの文書へ. 連鎖は学術的な仕事が完成するところで止まる。本文、構成、数式、表、図、典拠、索引が、それぞれの宣言から計算される。次の単元は、同じデータベースと同じ仕組みを、プレゼンテーション、ポスター、共同作業へと運ぶ。