要約
この課は、数学と論理を扱う本講座の第四単元の導入である。まず単元の目的を説明する。前の単元で築いた骨組みを、考えるときと同じ精密さで組まれた数式、方程式、命題、演繹で満たすことである。次に単元の五つの課と、それらをつなぐ筋道を紹介する。数式モードから演繹の木までである。さらに、それまでの単元から既知とする事柄を明らかにする。数学と論理の記法がどのように生まれ、なぜその組版が何世紀ものあいだ印刷所で最も費用のかかる仕事だったのかを振り返る。そして単元が解決する問題を述べる。テキストとして打ち込んだ数式は正しく見えても、実は正しくないという問題である。最後に、同じ記法が物理学にも経済学にも情報科学にも哲学にも役立つことを示す。
学習目標
- 単元の内容の順序を説明し、各課が次の課に何をもたらすかを説明する。
- 単元がそれまでの単元から既知とする事柄を確認し、必要なら復習する。
- 数式モードで組んだ数式とテキストとして打ち込んだ数式を、例を挙げて区別する。
- 単元が組み方を教える命題、数式、演繹を、自分の分野の中に見いだす。
開始テスト
単元に取りかかる前に、出発点を測っておくとよい。このテストは自己評価であり、採点はしない。目的はただ学習の方向づけにある。最初の二問は、単元がそれまでの単元から既知とする事柄を復習する。続く十問は、二問ずつ順に単元の五つの課に対応している。LaTeX で数式を書いたことのない人が正解できなくても当然である。正解であれ不正解であれ、どの答えもその要点を説明し、それを扱う課を示すからである。同じ技能は単元の最後のまとめの課で再び測る。
単元を始める前に、自分の出発点を測りましょう。短い自己評価です。採点はされず、結果はあなたのブラウザーにだけ保存されます。
問 1前の単元からある論文の第 2 節で、最初の番号付き数式の番号は 3 である。著者は
\begin{equation}の前の行に\label{eq:ohm}と書いた。\eqref{eq:ohm}は何を出力するか。近いだけでは足りない。効くのは順序であり、前に書いたラベルには数式の番号が見えない。ラベルは存在し、記録される。二回目の処理のあとには番号が出力される。ただし本来の番号ではない。\labelは本文のどこにでも書ける。だからこそ、この欠陥は警告なしに通ってしまう。ラベルはその前に最後に割り当てられた番号を記録する。数式より前で最後に割り当てられたのは節番号である。環境の中に置けばラベルは 3 を記録する。\eqrefは括弧を加えるだけである。復習: 相互参照
問 2前の単元からベクトルを太字で書くために、プリアンブルに
\newcommand{\vec}[1]{\mathbf{#1}}と書いた。何が起こるか。それは\renewcommandの働きである。\newcommandは定義し直すことを拒む。一つの名前は一つの命令しか指さない。自前の命令は数式の中でも働く。ただし、この命令は拒否される。\newcommandは既存の命令を定義し直さない。\vectのような別の名前を選ぶか、矢印をあきらめるのを承知で\renewcommandによって定義し直す。復習: マクロと自前のプリアンブル
問 3luatexja で日本語を組み、ほかに数を扱う設定のない文書で、
$12,345$は何を出力するか。luatexja は数式モードの点もコンマも変えない。コンマは句読点のままである。書いたコンマは出力される。おかしいのはその後ろの空きである。コンマは使える。変わるのはその空きだけである。数式モードではコンマは句読点であり、後ろに細い空きが続く。コンマが数の一部であるときは波括弧で囲んで$12{,}345$と書く。これはどのプリアンブルでも正しい。復習: 本文中の数式と別行立て数式
問 4文が別行立て数式で終わる。文末のピリオドはどこに置くか。
ピリオドが行頭にぽつんと残る。本文中の数式と同じように句読点を付ける。空行は新しい段落を始めるので、ピリオドが字下げされて残る。別行立て数式は文の一部である。\]のあとに書いたピリオドは次の行の頭に回ってしまう。復習: 本文中の数式と別行立て数式
問 5
$x^10$は何を出力するか。x^{10}と書く必要がある。波括弧がなければ上がるのは 1 だけである。このエラーは同じ底に^が二つあるときに出る。二桁の指数では出ない。0 はベースラインに残るが、1 は確かに指数に上がる。記号^は一つの要素にしか作用しない。まとめるには波括弧を書く。x^{10}である。復習: 記号と記法
問 6スペイン語の babel と amsmath を読み込んだ文書で、
$\sin x$は何を出力するか。babel は\sinを定義し直さない。\senを別に用意している。それはバックスラッシュなしでsin xと書いたときに起こる。\sinは LaTeX のカーネルで定義されたままである。スペイン語の babel は\senを新しい命令として定義し、\lim、\max、\min、\infにアクセントを付けるが、\sinには触れない。復習: 記号と記法
問 7ある
alignに式が二つあり、二つめが\\で終わっている。欄外にはどの番号が見えるか。無視するのは\[…\]の中であって、行を始める揃え環境の中ではない。このエラーは揃えの外の&が引き起こすもので、二重バックスラッシュではない。それは番号を付けないalign*の場合である。alignは空の行にも番号を付ける。\\は新しい行を始める。最後の行の末尾に書くと空の行ができ、alignはそれに何の警告もなく番号を付ける。復習: 複数行の数式
問 8等号で揃えた四行の導出を、一つの番号で全体として引用したい。何と書くのがよいか。
gatherは揃えず、行ごとに番号を付ける。揃わず、番号も付かない。multlineは長すぎる一つの式のためのもので、揃えた式の連鎖のためのものではない。splitは行を揃え、equationに番号を一つだけ残す。番号は全体に対して上下中央に来る。復習: 複数行の数式
問 9ある論文が
\newtheorem{thm}{定理}と\newtheorem{lem}[thm]{補題}を宣言し、本文にはこの順で補題、定理、もう一つの補題がある。最後の補題の見出しはどうなるか。別々のカウンターならそうなる。引数[thm]によって補題は定理とカウンターを共有する。節ごとの番号付けには、定理の宣言の末尾に[section]が要る。ここではどのカウンターもリセットされない。[section]がなければ通し番号である。補題は定理のカウンターを使う。三つの命題は一つの系列をなし、番号が表すのは位置であって見出しではない。復習: 定理と証明
問 10証明が別行立て数式
\[…\]で終わり、末尾の四角がその下の空の行にぽつんと出る。何で直すか。環境は閉じるときに自分の四角を置くので、四角が二つになる。番号が右の欄外を占め、四角はやはり独立した行に落ちる。それで変わるのは記号の形であって、位置ではない。環境が閉じるときには、数式はすでに組まれている。\qedhereは四角を書いたその位置に正確に置く。復習: 定理と証明
問 11論理学のテキストで、p と q の条件文を、研究対象の言語の論理式として書きたい。どのソースが適切か。
二重線の矢印はメタ言語に属し、あることから別のことが帰結すると主張する。amsmath が主張どうしを結ぶために用意した、空きの広い矢印である。これも結合子ではない。意味論的帰結を主張するもので、論理式を書くものではない。単線の矢印が対象言語の結合子である。復習: 論理と演繹
問 12bussproofs で
\AxiomC{$p$}、\AxiomC{$q$}、\AxiomC{$r$}、\BinaryInfC{$s$}と書き、そのあと\DisplayProofと書いた。何が起こるか。二項の推論は最後の二本の木しか取らない。このエラーは木が足りないときに出るもので、余るときには出ない。\DisplayProofはスタックに木が一本だけあることを要求する。二項の推論は最後の二本の木 q と r を消費する。p の木は別に残り、\DisplayProofは木が一本だけであることを要求する。復習: 論理と演繹
コンテンツを読み込んでいます…