Skip to content

Commit 3ed698f

Browse files
committed
update ja/{lesson,more}-12.md
1 parent 661a5b5 commit 3ed698f

2 files changed

Lines changed: 33 additions & 31 deletions

File tree

ja/lesson-12.md

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ runlatex.preincludes = {
2020
}
2121
</script>
2222

23-
<!-- TODO: 日本語文献の扱いについては language-specific レッスンで扱う -->
23+
<!-- TODO: 日本語文献の扱いについてはlanguage-specificレッスンで扱う? -->
2424

2525
<span class="summary">このレッスンでは文献データベースの基本を押さえます。データベースの作り方と、有名な2つのフレームワークを使用したデータベースの利用法を学んでいきましょう。</span>
2626

2727
文献を引用するとき、文献情報を直接文書に含めることもできますが、基本的には1つまたは複数の外部ファイルから文献情報を取り出すことになるでしょう。そうした外部ファイルは文献データベースと呼ばれ、文献情報をコンピュータが処理しやすい形で保持しています。文献データベースを使用すると、情報の再利用が容易になり、またすべて手作業で文献リストを整形する必要がなくなります。
2828

2929
## 文献データベース
3030

31-
文献データベースはしばしば「BibTeX ファイル」と呼ばれ、拡張子は `.bib` です。そうしたファイルでは、各文献が1エントリに対応し、また各エントリには複数のフィールドが含まれます。例を見てみましょう。
31+
文献データベースはしばしば「BibTeXファイル」と呼ばれ、拡張子は`.bib`です。そうしたファイルでは、各文献が1エントリに対応し、また各エントリには複数のフィールドが含まれます。例を見てみましょう。
3232

3333
<!-- {% raw %} -->
3434
```
@@ -55,34 +55,35 @@ runlatex.preincludes = {
5555
```
5656
<!-- {% endraw %} -->
5757

58-
ここには論文記事 (article) と書籍 (book) の情報が含まれています。この2種類は圧倒的に使用頻度の高いものです。上の例を見るとわかるように、各エントリは `@` から始まり、すべての情報は続くブレースの中に記述されます。
58+
ここには論文記事articleと書籍bookの情報が含まれています。この2種類は圧倒的に使用頻度の高いものです。上の例を見るとわかるように、各エントリは`@`から始まり、すべての情報は続くブレースの中に記述されます。
5959

60-
さまざまなフィールドは key-value 形式で与えられます。例外は(各エントリの冒頭にある)「キー」と呼ばれる文献の「名前」です。このキーは単なるラベルなのでどのように決めても構いませんが、上では著者名と出版年の組み合わせとしました。この命名法は一般的に用いられているものです。
60+
さまざまなフィールドはkey-value形式で与えられます。例外は(各エントリの冒頭にある)「キー」と呼ばれる文献の「名前」です。このキーは単なるラベルなのでどのように決めても構いませんが、上では著者名と出版年の組み合わせとしました。この命名法は一般的に用いられているものです。
6161

62-
具体的にどんなフィールドを与える必要があるかはエントリの種類に依りますが、ほとんどの場合自明です。上記の例がそうであるように`author` フィールドでは各著者の名前は `and` で区切られています。このことは**重要**です。出力を整形するためには、著者名の区切りがどこであるかが明示されている必要があります。また `article` エントリの `title` フィールドでは、一部が余計にブレースで囲まれています。これらはあらゆる種類の大文字・小文字の自動変更を防止するためにあります。
62+
具体的にどんなフィールドを与える必要があるかはエントリの種類に依りますが、ほとんどの場合自明です。上記の例がそうであるように`author`フィールドでは各著者の名前は`and`で区切られています。このことは**重要**です。出力を整形するためには、著者名の区切りがどこであるかが明示されている必要があります。また`article`エントリの`title`フィールドでは、一部が余計にブレースで囲まれています。これらはあらゆる種類の大文字・小文字の自動変更を防止するためにあります。
6363

64-
BibTeX ファイルを直接手で編集するのは大変なので、専用のエディタを用いられることが多いです。[JabRef](https://www.jabref.org) というエディタがクロスプラットフォームで広く使われていますが、選択肢は他にもあります。また DOI (Digital Object Identifier) の付された文献であれば [doi2bib](https://doi2bib.org) を用いると BibTeX エントリを簡単に生成することができます。ただし、こうした自動生成ツールを用いる場合には妥当な出力になっているかどうか必ず確認するようにしてください。
64+
BibTeXファイルを直接手で編集するのは大変なので、専用のエディタを用いられることが多いです。[JabRef](https://www.jabref.org)というエディタがクロスプラットフォームで広く使われていますが、選択肢は他にもあります。またDOI(Digital Object Identifierの付された文献であれば[doi2bib](https://doi2bib.org)を用いるとBibTeXエントリを簡単に生成することができます。ただし、こうした自動生成ツールを用いる場合には妥当な出力になっているかどうか必ず確認するようにしてください。
6565

66-
ここでは、デモンストレーションのために上記のシンプルな例を使用します。その内容を `learnlatex.bib` という名前で「保存」しています。
66+
ここでは、デモンストレーションのために上記のシンプルな例を使用します。その内容を`learnlatex.bib`という名前で「保存」しています。
6767

6868
## データベースの情報を活用する
6969

7070
データベース内の文献情報を文書に反映するには3つのステップが必要になります。まず第1ステップは LaTeX を用いて文書をタイプセットすることで、その際に当該文書で引用されている文献の一覧がファイルに書き出されます。第2ステップでは、別の専用プログラムを使用してデータベースから引用されている文献の情報を抜き出し、そして適切な順番に並び替えます。最後の第3ステップで再び LaTeX によって文書のタイプセットを行い、最終的な出力に引用と参考文献リストを反映します。通常、すべての引用を解決し切るためには、第3ステップの LaTeX 実行は2回以上行う必要があります。
7171

72-
第2ステップで利用できる専用プログラムとしてメジャーなものは BibTeX と Biber の2つです。Biber は必ず `biblatex` パッケージとともに使われてきました。Biber は日本語も扱うことが可能です。一方の BibTeX はパッケージなしの場合や `natbib` パッケージを使用する場合に利用します。なお BibTeX では日本語を扱うことはできないので、代わりに pBibTeX を使用します
72+
第2ステップで利用できる専用プログラムとしてメジャーなものはBibTeXとBiberの2つです。Biberは必ず`biblatex`パッケージとともに使われてきました。Biberは日本語も扱うことが可能です。一方のBibTeXはパッケージなしの場合や`natbib`パッケージを使用する場合に利用します。なおBibTeXでは日本語を扱うことはできないので、代わりにpBibTeXを使用します
7373

74-
LaTeX 以外のツールを実行する方法は使用するエディタによって異なります。このチュートリアルで用意しているオンラインシステムでは、すべて裏方のスクリプトによって一連の処理を自動的にこなすようになっています。お手許のエディタの場合は、「すべてよしなに処理」するためのボタンが用意されているか、あるいは第1ステップと第3ステップの LaTeX 実行の間に手動で BibTeX または Biber の実行を行う必要があるかもしれません
74+
LaTeX以外のツールを実行する方法は使用するエディタによって異なります。このチュートリアルで用意しているオンラインシステムでは、すべて裏方のスクリプトによって一連の処理を自動的にこなすようになっています。お手許のエディタの場合は、「すべてよしなに処理」するためのボタンが用意されているか、あるいは第1ステップと第3ステップのLaTeX実行の間に手動でBibTeXまたはBiberの実行を行う必要があるかもしれません
7575

76-
引用と文献リストのフォーマットは BibTeX データベースとは独立に「スタイル」と呼ばれるものによって制御されています。その具体的な仕組みは `natbib` を使用する場合と `biblatex` を使用する場合で少し異なりますが、基本的なアイデアは同じです。いずれにしても、LaTeX ユーザは引用と参考文献のフォーマットを選ぶことが可能です
76+
引用と文献リストのフォーマットはBibTeXデータベースとは独立に「スタイル」と呼ばれるものによって制御されています。その具体的な仕組みは`natbib`を使用する場合と`biblatex`を使用する場合で少し異なりますが、基本的なアイデアは同じです。いずれにしても、LaTeXユーザは引用と参考文献のフォーマットを選ぶことが可能です
7777

78-
## `natbib` を使用する場合
78+
## `natbib`を使用する場合
7979

80-
パッケージを使用しなくても LaTeX 文書で引用をすることはできますが、かなり機能的には制限が大きいです。そこで、ここでは `natbib` パッケージを利用した場合について紹介します。このパッケージを使用すると、さまざまなフォーマットの引用が実現でき、またスタイルも豊富です。
80+
パッケージを使用しなくてもLaTeX文書で引用をすることはできますが、かなり機能的には制限が大きいです。そこで、ここでは`natbib`パッケージを利用した場合について紹介します。このパッケージを使用すると、さまざまなフォーマットの引用が実現でき、またスタイルも豊富です。
8181

8282
基本的な使い方は次の例を見てください。
8383

8484
```latex
85-
\documentclass{jsarticle}
85+
\RequirePackage{plautopatch}
86+
\documentclass[dvipdfmx]{jlreq}
8687
\usepackage{natbib}
8788
8889
\begin{document}
@@ -99,18 +100,19 @@ LaTeX 以外のツールを実行する方法は使用するエディタによ
99100
\end{document}
100101
```
101102

102-
データベースに含まれる各エントリはキーを指定することによって引用します。`natbib` パッケージではテキスト形式の引用とカッコで囲う形式の引用を両方サポートしていて、それぞれ `\citet``\citep` コマンドで実現できます。文献スタイルは `\bibliographystyle` コマンドで指定します。ここでは `plainnat` スタイルを利用しました。実際の文献リストは `\bibliography` コマンドによって挿入されます。このコマンドの引数に、使用するデータベースの名前を指定します。カンマ区切りで複数指定することも可能です。
103+
データベースに含まれる各エントリはキーを指定することによって引用します。`natbib`パッケージではテキスト形式の引用とカッコで囲う形式の引用を両方サポートしていて、それぞれ`\citet``\citep`コマンドで実現できます。文献スタイルは`\bibliographystyle`コマンドで指定します。ここでは`plainnat`スタイルを利用しました。実際の文献リストは`\bibliography`コマンドによって挿入されます。このコマンドの引数に、使用するデータベースの名前を指定します。カンマ区切りで複数指定することも可能です。
103104

104105
ページを指定して引用する場合はオプション引数で指定します。オプション引数を2つ与えた場合は、1つ目が引用の先頭に出力されるので、短い注記を付けるのに使うことができます。この場合、2つ目の引数にページ番号を氏指定します。
105106

106-
上記の例では著者名と出版年を明示するスタイルを使用していますが、引用番号を付けるスタイルもあります。その場合は `natbib` パッケージを読み込む際に `numbers` オプションを指定します。
107+
上記の例では著者名と出版年を明示するスタイルを使用していますが、引用番号を付けるスタイルもあります。その場合は`natbib`パッケージを読み込む際に`numbers`オプションを指定します。
107108

108-
## `biblatex` を使用する場合
109+
## `biblatex`を使用する場合
109110

110-
`biblatex` パッケージのしくみは `natbib` とは少し異なり、データベースの指定をプリアンブルで行う一方で実際の文献リスト出力の指示は本文で行うようになっています。そのため、いくつか新しいコマンドが登場します。
111+
`biblatex`パッケージのしくみは`natbib`とは少し異なり、データベースの指定をプリアンブルで行う一方で実際の文献リスト出力の指示は本文で行うようになっています。そのため、いくつか新しいコマンドが登場します。
111112

112113
```latex
113-
\documentclass{jsarticle}
114+
\RequirePackage{plautopatch}
115+
\documentclass[dvipdfmx]{jlreq}
114116
\usepackage[style=authoryear]{biblatex}
115117
\addbibresource{learnlatex.bib} % 文献データベース
116118
@@ -130,14 +132,14 @@ LaTeX 以外のツールを実行する方法は使用するエディタによ
130132
\end{document}
131133
```
132134

133-
`natbib``\bibliography` では `.bib` を省略することができましたが、`\addbibresource` ではデータベースのファイル名を**フルネーム**で与えなければなりません。また `biblatex` では引用のコマンド名が長めですが、いずれも推測するのは容易でしょう。
135+
`natbib``\bibliography`では`.bib`を省略することができましたが、`\addbibresource`ではデータベースのファイル名を**フルネーム**で与えなければなりません。また`biblatex`では引用のコマンド名が長めですが、いずれも推測するのは容易でしょう。
134136

135-
また引用の前後に出力する短いテキストは、やはりオプション引数により指定することができます。`biblatex` が自動的に適切な接頭辞を付与するので、ページ番号の前に `p.~``pp.~` を手動で記入する必要がないことに注意してください。
137+
また引用の前後に出力する短いテキストは、やはりオプション引数により指定することができます。`biblatex`が自動的に適切な接頭辞を付与するので、ページ番号の前に`p.~``pp.~`を手動で記入する必要がないことに注意してください。
136138

137-
`biblatex` では、文献リストのスタイルはパッケージの読み込み時に指定します。ここでは `authoryear` スタイルを利用しましたが、`numeric` スタイルをはじめ数々のスタイルが用意されています。
139+
`biblatex`では、文献リストのスタイルはパッケージの読み込み時に指定します。ここでは`authoryear`スタイルを利用しましたが、`numeric`スタイルをはじめ数々のスタイルが用意されています。
138140

139141
## 練習問題
140142

141-
`natbib``biblatex` のコード例を両方実行してみましょう。`natbib` の場合は LaTeX, BibTeX, LaTeX, LaTeX を、`biblatex` の場合は LaTeX, Biber, LaTeX を実行する必要があるはずです。手許のエディタではどうすればこの手順の実行ができるのか調べてみましょう。あるいは、その手順が既に自動化されている Overleaf や TeXLive.net を試してみてください
143+
`natbib``biblatex`のコード例を両方実行してみましょう。`natbib`の場合はLaTeX、BibTeXLaTeX、LaTeXを、`biblatex`の場合はLaTeX、Biber、LaTeXを実行する必要があるはずです。手許のエディタではどうすればこの手順の実行ができるのか調べてみましょう。あるいは、その手順が既に自動化されているOverleafやTeXLive.netを試してみてください
142144

143-
データベースに新しいエントリを追加し、何箇所かで引用してみましょう。データベースにない文献を引用するとどのような出力になるでしょうか。`natbib``biblatex``numberic` オプションも試してみましょう。
145+
データベースに新しいエントリを追加し、何箇所かで引用してみましょう。データベースにない文献を引用するとどのような出力になるでしょうか。`natbib``biblatex``numberic`オプションも試してみましょう。

0 commit comments

Comments
 (0)