要約
この課は、講座の七つめで最後の単元を開く。この単元は、その他の文書と共同作業を扱う。単元が何のためにあるかを説明する。それまでの六つの単元で学び、論文と学位論文に用いてきたことを、研究者が自分の仕事を伝えるほかの種類の文書(プレゼンテーション、ポスター、手紙、履歴書)に、複数の著者が同時に書く文書に、そして学術誌やリポジトリが公表のために受け取る文書に広げることである。単元の四つの課と、スライドから提出するファイルまでそれらをつなぐ筋道を示し、それまでの単元から既知とする事柄を明らかにし、単元が用いる道具の由来を振り返る。さらに、単元が解決する問題、すなわち同じ内容を、形ごとに書き直すことなく異なる形で示さなければならないという問題を述べ、これらの形が、化学の学位論文の審査、言語学の学会、奨学金への応募、歴史学者のチームが書く論文に共通することを示す。
学習目標
- 単元の内容の順序を述べ、それぞれの課が次の課に何をもたらすかを説明する。
- 単元がそれまでの単元から既知とする事柄を確かめ、必要なら復習する。
- 同じ内容が、テキストのマークアップではなく文書のクラスを変えるだけで論文にもスライドにも組めるのはなぜかを、例を挙げて説明する。
- 単元が満たし方を教える文書の種類、共同作業の形、公表の要件を、自分の分野の中に見いだす。
開始テスト
単元に取りかかる前に、出発点を測っておくとよい。このテストは自己評価であり、採点はしない。目的はただ学習の方向づけにある。最初の二問は、単元がそれまでの単元から既知とする事柄を復習する。続く八問は、二問ずつ順に単元の四つの課に対応している。Beamer でプレゼンテーションを組んだことも、ほかの著者と文書を書いたこともない人が正解できなくても当然である。正解であれ不正解であれ、どの答えもその要点を説明し、それを扱う課を示すからである。同じ技能は単元の最後のまとめの課で再び測る。
単元を始める前に、自分の出発点を測りましょう。短い自己評価です。採点はされず、結果はあなたのブラウザーにだけ保存されます。
問 1前の単元から物理学の論文の共著者二人が、ベクトルを違う書き方で書いている。一人は
\mathbf{v}、もう一人は\vec{v}である。不統一を避け、論文全体の記法を一か所で変えられるようにするには何をすればよいか。一度は役に立つが、手で書き足すたびに不統一がまた生じ、置換がベクトルでない箇所に及ぶこともある。エンジンは書かれたとおりに組む。\mathbfと\vecは異なる形を生み、それを指摘する警告もない。そうすることもできるが、標準の命令を定義し直すとソースを読む人を驚かせる。講座が教えるのは、固有の名前をもつ自前の命令である。自前の命令は対象が何であるか、つまりベクトルであることを述べ、その定義が見た目を決める。プリアンブルで定義を変えれば、すべての出現箇所が変わる。複数の著者による論文では、共有のプリアンブルがチームの約束事にもなる。復習: マクロと自前のプリアンブル
問 2前の単元からある論文の図が
\includegraphics[width=14cm]{chart}で挿入されている。これをそのまま、フレームの幅が 12.8 cm の Beamer のスライドに写すとどうなるか。Beamer は指定された幅を変えない。画像は 14 cm のまま、はみ出す。ボックスのあふれは警告であってエラーではない。文書はコンパイルされ、不具合は結果を見て初めてわかる。Beamer では各フレームがそれぞれ一つのページである。場所が足りないからといって別のフレームに送られるものはない。絶対的な幅は、どこで使われるかを知らない。\linewidthに対する幅なら、置かれる段、ページ、フレームに合わせて変わる。復習: 文書中の画像
問 3Beamer のフレームに三項目のリストがあり、一つめと二つめの項目のあとに
\pauseがある。PDF では何ページになるか。PDF は動かない。Beamer は続くページによって現れる様子をまねる。\pauseは一つごとに最初のページに一段階を加える。二つの休止で 3 ページになる。3 ページは同じフレームに属し、同じ見出しと同じスライド番号をもつ。PDF のプレゼンテーションにはアニメーションがない。項目が現れるたびにページが一枚増え、ビューアーでページを送ると項目が現れるように見える。問 4Beamer のフレームに、コードの一部を見せるための
verbatim環境があり、コンパイルが「File ended while scanning use of \@xverbatim」で止まる。何が足りないか。この環境はもともとカーネルにある。問題は、それを含むフレームを Beamer がどう読むかである。それは独立した行に置かなければならず、そうしてもfragileがなければエラーは残る。フレームに適切なオプションがあれば受け付ける。Beamer はフレームの中身を組む前に読み込むが、逐語的なテキストはその読み込みに耐えられない。fragileはフレームを別のしかたで処理させ、verbatimや\verbを使えるようにする。問 5本はおよそ 30 cm の距離で読み、その距離では約 7 ポイントより小さい文字は楽に読めなくなる。1.5 m の距離で読まれるポスターの本文には、最低でどれだけの文字サイズが要るか。
12 ポイントは 50 cm から読む大きさで、1.5 m からではない。ポスターの文字サイズは距離から導くもので、クラスのオプションから決まるものではない。文字サイズは面積ではなく読む距離で決まる。大きなポスターは段が多くなるのであって、文字が大きくなるのではない。文字が占める角度は文字の大きさに比例し、距離に反比例する。関係は線形である。目がとらえるのは文字が占める角度であり、それは距離に比例して小さくなる。そこから規則 ( はセンチメートル)が出てくる。だからポスターを論文の文字サイズで組んではならない。復習: ポスター、手紙、履歴書
問 6
scrlttr2クラスで組む手紙では、宛先の名前と住所をどこに書くか。\openingは書き出しのあいさつを書く。宛先はそれより前に宣言されていなければならない。この変数が保持するのは差出人の住所で、宛先の住所ではない。手紙には表題がない。あるのは差出人、宛先、日付、書き出しのあいさつ、結びのことばである。差出人の情報は\setkomavarで宣言し、宛先の情報は手紙を一通ずつ始めるときに与える。どれをどこに置くかはクラスが決め、それによって手紙の形が決まる。復習: ポスター、手紙、履歴書
問 7LaTeX のプロジェクトを Git で管理する。どのファイルをバージョン管理の対象にすべきか。
生成されるものはコンパイルすれば取り戻せる。それを管理しても雑音とコンフリクトが増えるだけである。PDF からソースは取り戻せない。Git に保存するのは書いたものである。取り込まれる各章、文献データベース、画像もソースである。生成されるファイルはコンパイルのたびに、またコンピューターごとに変わる。それらを管理すると、だれもしていない変更が履歴を埋め、中身のないコンフリクトが起こる。復習: 共同執筆
問 8二人の共著者が Git の別々のブランチで、一行に書かれた同じ段落の一つめの文と三つめの文を直す。ブランチをマージすると何が起こるか。
Git は一行の中の文を区別しない。Git は同じ行への二つの変更のどちらかを選ぶことはしない。それをコンフリクトとして示し、判断を人に任せる。コンフリクトは Git の問題であって LaTeX の問題ではない。ただし解決しなければ、その印はテキストとしてファイルに残る。Git が読むのは文ではなく行である。だからチームはよく一行に一文という約束をする。一つの改行は空白と同じなので、エンジンの組む結果は変わらず、他人の変更とぶつからなくなる。復習: 共同執筆
問 9ある学術誌は
journal.clsというファイルでクラスを配布している。著者が\documentclass{journal}と書くと、エンジンは「File `journal.cls' not found」と答える。何が足りないか。クラスはパッケージではない。\documentclassで読み込むもので、\usepackageならjournal.styを探すことになる。クラスは拡張子なしで指定する。問題は、ファイルがエンジンの探す場所にないことである。クラスが TeX Live で配布されている場合に限る。多くの学術誌はクラスを単独のファイルとして提供する。エンジンはクラスを文書のフォルダーとインストールのツリーで探す。そのどこにもないクラスは、エンジンにとって存在しない。復習: テンプレートと出版
問 10保存用の PDF/A を得るために、
\documentclassのあとに\DocumentMetadata{pdfstandard=a-2b}と書いた。どうなるか。書かれた位置では命令は効かず、エンジンはエラーでそれを知らせる。現在の PDF の管理は、LaTeX 自身が\DocumentMetadataを通じて行う。問題は位置である。この命令は例外で、\documentclassより前になければならない。\DocumentMetadataはクラスとパッケージが読み込まれる前に PDF の管理を準備する。だからそれらのあとには置けない。復習: テンプレートと出版
コンテンツを読み込んでいます…