要約
この回では、書き上げた文書をその行き先、すなわち学術誌、リポジトリ、アーカイブまで届ける方法を学ぶ。学術誌が独自のクラスを配布する理由、そのうちどれがすでに TeX Live に含まれているか、そして内容と意味のあるコマンドを残し、自前のデザインを捨てて、自分のソースをそれに合わせる方法を説明する。この作業がログに明らかにする、エンジンや参考文献とのぶつかり合いを示し、投稿の準備のためのチェックリストを示す。arXiv がソースを自らコンパイルするしくみ、提供するエンジン、LuaLaTeX で組んだ文書をどうするか、.bib で足りるのはいつで、.bbl をアップロードするのはいつかを説明する。長期保存のための PDF/A を、\DocumentMetadata のインタフェースと pdfx パッケージの両方で紹介し、タグ付き PDF と図の代替テキストの現状を述べる。最後に、文書とそのソースを共有するためのクリエイティブ・コモンズ(Creative Commons)のライセンスを取り上げる。
学習目標
- 学術誌のクラスが何を決めるかを説明し、残すもの、捨てるもの、変えなければならないものを区別しながら、自分のソースをそれに合わせる。
- テンプレートと自分のソースとの、エンジンとの、あるいは参考文献システムとのぶつかり合いを、ログから読み解く。
- 単独でコンパイルでき、余分なファイルがなく、行き先が求める形の参考文献を含む投稿用フォルダを用意する。
- arXiv の文書がエンジンと参考文献について述べていることにもとづいて、LuaLaTeX で組んだ文書をどう arXiv に投稿するかを決める。
\DocumentMetadataまたは pdfx で PDF/A を作り、前者が出すバージョンの警告を直す。- PDF のタグ付けを有効にし、図に代替テキストを与え、文書の言語とメタデータを設定する。その際、タグ付けがまだ開発途上であることを理解しておく。
学術誌のクラス
ドキュメントクラスとページの回で見たように、クラスは文書の全体の形、すなわち版面、見出し、タイトルページ、概要を決める。学術誌は、掲載するすべての論文に同じ形を持たせたいし、それを各著者の好みに左右されずに持たせたい。ここから、LaTeX で書く分野で最も広く行われている慣行が生まれる。学術誌や出版社が独自のクラスを配布し、著者は内容だけを渡すのである。学術誌は統一性と編集作業の軽減を得て、著者は他人のデザインを手作業でまねる必要がなくなる。
すでにインストールされているクラス
これらのクラスの多くは TeX Live に含まれている。あるクラスがインストールされているかどうかを知るには、ディストリビューションが自分のファイルを探すときのコマンド kpsewhich で、そのファイルの場所を尋ねればよい。パスが返ってくればクラスはあり、何も返ってこなければ欠けているので、作業環境の回で説明したようにインストールする。
$ kpsewhich elsarticle.cls # 出版社 Elsevier の学術誌$ kpsewhich revtex4-2.cls # American Physical Society の学術誌$ kpsewhich IEEEtran.cls # Institute of Electrical and Electronics Engineers の刊行物$ kpsewhich amsart.cls # American Mathematical Society の論文$ kpsewhich llncs.cls # Springer の Lecture Notes in Computer ScienceTeX Live 2025 をフルインストールした環境では、五つともパスを返し、五つとも fontspec と babel を使った最小の文書を LuaLaTeX でコンパイルできる。どのバージョンが読み込まれたかは、ログの「Document Class」で始まる行に書かれている。たとえば「elsarticle 2026/01/09, 3.5」や「amsart 2020/05/29 v2.20.6」である。これは見ておくとよい。学術誌がディストリビューションのものより新しいバージョンを求めることがあり、その場合は学術誌が著者向けのページで配布しているものを使う。
クラスがコンパイルできるからといって、どのエンジンでも同じように動くとは限らない。多くは pdfLaTeX 向けに書かれていて、そのエンジンのエンコーディングでフォントを選ぶ。たとえば IEEEtran では、最小の文書は LuaLaTeX と fontspec でコンパイルできるが、ログは、クラスが求めるフォントが fontspec のエンコーディングには存在しないと警告し、それを Latin Modern に置き換える。論文はもはや学術誌が期待する見た目ではない。
LaTeX Font Warning: Font shape `TU/ptm/m/n' undefined(Font) using `TU/lmr/m/n' instead on input line 503.ここから導かれる規則は単純である。何かを合わせる前に、学術誌の投稿規定を読む。そこには、どのクラスを使い、どのエンジンでコンパイルし、どの参考文献システムを用いるかが書かれている。学術誌が pdfLaTeX でコンパイルするなら、ソースも pdfLaTeX でコンパイルできなければならない。
ソースをテンプレートに合わせる
論文を学術誌のクラスに合わせる作業は、何よりもまず削ることである。この講座で教えてきたように、意味と見た目を分けて書かれた論文であれば、作業はほとんど機械的で、三つの判断に帰着する。
- 内容は残す:節、本文、数式、キャプション付きの図、ラベル、相互参照。
- 自前のデザインは捨てる:クラスとそのオプション、geometry の余白、ヘッダ、本文のフォント、太字で作った見せかけの見出し、手で入れたスペース。これらはすべて、今後は学術誌が決める。
- 意味のあるコマンドは残す:意味のある書式とマクロと自前のプリアンブルの回で定義した、
\obraや\gainenのようなコマンドである。これらは見た目ではなく役割に名前を付けているので、どのクラスでも有効なままである。学術誌が別の形を望むなら、定義を変えるだけでよい。
次に示すのは、自前の形で書いた短い論文である。KOMA-Script を使い、余白を手で決め、見せかけの表題と概要を置き、参考文献は biblatex で作っている。
\documentclass[11pt]{scrartcl}\usepackage[match]{luatexja-fontspec}\setmainjfont{Noto Serif CJK JP}\setsansjfont{Noto Sans CJK JP} % KOMA-Script のサンセリフの見出し用\usepackage[margin=2.5cm]{geometry}\usepackage{csquotes}\usepackage[style=authoryear]{biblatex}\addbibresource{fuentes.bib}\newcommand{\obra}[1]{\emph{#1}}\begin{document}\begin{center}\Large\textbf{方法としてのスローリーディング}\end{center}\vspace{1em}\noindent\textbf{概要。}本稿では、スローリーディングを一つの方法として検討する。\section{問題の設定}この方法は文献学の伝統にさかのぼり\parencite{eco1977}、\obra{Come si fa una tesi di laurea}もこれを勧めている。\printbibliography[title={参考文献}]\end{document}この例の学術誌は、elsarticle クラスと、出版社の著者年方式のスタイルを求めている。さらに投稿規定には、自前のソースでは予見できなかったことが書かれている。参考文献は biblatex ではなく、BibTeX と、クラスが自分で読み込む natbib パッケージで作る、というのである。プリアンブルに \usepackage{biblatex} を残すと、二つのパッケージは共存できないため、コンパイルは止まる。
! Package biblatex Error: Incompatible package 'natbib'.これに対して、文献データベースは変わらない。文献データベースの単元の同じ .bib ファイルが、BibTeX にも biber にも使える。
@book{eco1977, author = {Eco, Umberto}, title = {Come si fa una tesi di laurea}, publisher = {Bompiani}, address = {Milano}, year = {1977}}\documentclass[preprint,12pt,authoryear]{elsarticle}\usepackage{luatexja-fontspec}\setmainjfont{Noto Serif CJK JP}\usepackage{babel}\babelprovide[import,main]{japanese}\babeladjust{linebreak.cjk=off}\newcommand{\obra}[1]{\emph{#1}} % 残す:役割に名前を付けている\journal{読書研究紀要}\begin{document}\begin{frontmatter}\title{方法としてのスローリーディング}\author{鈴木遥}\affiliation{organization={文学部}, city={京都}, country={日本}}\begin{abstract}本稿では、スローリーディングを一つの方法として検討する。\end{abstract}\begin{keyword}読書 \sep 方法 \sep 研究\end{keyword}\end{frontmatter}\section{問題の設定}この方法は文献学の伝統にさかのぼり\citep{eco1977}、\obra{Come si fa una tesi di laurea}もこれを勧めている。\bibliographystyle{elsarticle-harv}\bibliography{fuentes}\end{document}geometry、見せかけの表題、手で入れたスペース、太字の行は消えた。表題、著者、所属、概要、キーワードはクラスのコマンドで宣言し、クラスがそれを独自のやり方で組む。引用コマンドは名前が変わり、\parencite から、引用を括弧に入れる natbib のコマンド \citep になった。文献リストは \bibliographystyle と \bibliography で出力する。\obra は変わっていない。また、文書が日本語であっても、クラスは「Abstract」と「Keywords」を英語で書くことに注意したい。これらの見出しを決めるのは学術誌であって、文書の言語ではない。一方、文献リストの見出し「参考文献」は babel から来ている。luatexja はこうした自動で付く名前を翻訳しないので、プリアンブルで \babelprovide[import,main]{japanese} により日本語の babel を読み込んでいる。
学術誌のテンプレートが natbib を読み込まないなら、biblatex をそのまま使える。それを知る唯一の方法は、投稿規定を読み、そのあとでログを読むことである。
学位論文のテンプレート
多くの大学は学位論文用のテンプレートを用意しており、表紙、製本に必要な余白、前付けの順序、ときには引用の様式を定めている。その考え方は学術誌の場合と同じだが、独自の注意点が二つある。第一に、大学の公式の入手先(図書館や大学院の事務)から入手し、それが現行版であることを確かめる。古い写しが数多く出回っているからである。第二に、どのエンジンでコンパイルし、どの参考文献システムを前提にしているかを、終わりではなく始めに確かめる。長い文書の回で説明したように、主ファイル一つと章ごとのファイルで組み立てた学位論文なら、主ファイルを変えるだけでテンプレートを替えられる。
コンテンツを読み込んでいます…