Skip to content
matsub.rk edited this page Feb 9, 2016 · 9 revisions

基本的な記述

さて、作成されたpdfですが、なんだかコレジャナイ感がありますね。 このイケてない文書をイケてる文書にするために以下の要件を用意しましょう。

  1. "LaTeX"の文字をLaTeXのロゴにしたい
  2. 二行目の内容をタイトルっぽくしたい
  3. 数字付き箇条書きをそれぽっぽくしたい

シンボルの使用

それでは最初から。

\documentclass{jsarticle}
\begin{document}
この文章は \LaTeX を用いています。

\LaTeX を使う意味について

1. 読みやすいレイアウト
2. 数式を書きやすい
3. クロスプラットフォーム
4. OSS
\end{document}

"LaTeX"の文字列にバックスラッシュ(環境によっては円マークでも大丈夫です)を入れました。 注意として、今回はうしろに空白を入れるようにしてください。

symbol

文書中のバックスラッシュを追加した部分がLaTeXのロゴになっています。 TeXには シンボル というものが用意されています。 copyrightのマルC記号や、トレードマークなどの記号がこれに値します。 うしろに空白を入れたのは、この形式のシンボルには閉じ記号がないため、 区切りとして空白を必要とするためです。 ナチュラルに空白を入れる英文なら気にかける必要ないんですけどね。

セクションと文書構造

次に二行目をタイトルっぽくしてみます。

\documentclass{jsarticle}
\begin{document}
この文章は \LaTeX を用いています。

\section{\LaTeX を使う意味について}

1. 読みやすいレイアウト
2. 数式を書きやすい
3. クロスプラットフォーム
4. OSS
\end{document}

section

このようにsectionというものを使うと、 レポートや技術書によくある章・節・項を扱うことができます。 基本的に、章はsection、節はsubsection、項はsubsubsectionとなります。

\documentclass{jsarticle}
\begin{document}
\section{}
  章は通常、文書の一番大きな区切りです。
  大きな内容を扱うことが多いです。
\subsection{}
  節は具体的な内容を書くこともありますが、項を区切る役割を持つことがあります。
  章も同様ですが、これは文書の規模によります。
\subsubsection{}
  章節項の中では最も粒度が細かい区切りですが、
  これよりも細かく内容を区切ることもあります。
  フォーマットが指定されていない限り、
  セクションの使用は文章の可読性をあげるために考えて構成しましょう。
\end{document}

sections

ここでdocumentclassについて説明する必要が出てきました。 documentclassは、その文書がどんな文書か示すために用いられます。 本、論文記事、報告書など以下のような種別があります。

種別 documentclass
記事 jsarticle
報告書 jsreport
書籍 jsbook

もちろんこれだけではありませんが、おそらく関わり得るであろう代表的な3つです。 この種別によってsectionがあったりなかったり、 chapterなどの特殊な表題が加えられていたりします。 自分でdocumentclassを指定する時は管理に問題はありませんが、 どこかに寄稿する際はこのあたりのレギュレーションをしっかり見ておきましょう。

環境とパッケージ

最後に数字付き箇条書きをしましょう。

\documentclass{jsarticle}
\usepackage{enumitem}
\begin{document}
この文章は \LaTeX を用いています。

\section{\LaTeX を使う意味について}
\TeX を使うと、以下のような利点があります。

\begin{enumerate}
  \item 読みやすいレイアウト
  \item 数式を書きやすい
  \item クロスプラットフォーム
  \item OSS
\end{enumerate}
\end{document}

enumerate

数字付き箇条書きにはenumerateという 環境 を使いますが、 今回は標準のenumerateを拡張する パッケージ であるenumitemを使ってみました。

二つ新しい用語が出ましたが、まずパッケージについて紹介します。 TeXの基本的な機能を拡張し、 組版やtexコードの書き方をより良くための拡張を パッケージ といいます。 パッケージを利用するには、\usepackageコマンドを利用します。 このコマンドで、TEXINPUTS環境変数に指定されているディレクトリから指定されたスタイルファイル*1を読み込みます。 基本的にはパッケージマネージャによって管理されている範囲とカレントディレクトリです。

とりあえず考えるのは、前者の「パッケージマネージャによって管理されている範囲」です。 インストールの項目を終えると、 platexなどの組版ソフトと一緒にtlmgrというソフトが入っていると思います。 これは「TeXLive Package Manager」の略なのですが、 どう読めばいいんですかね。 私はテルムグラとかトリモゲラとか読んでいます。 今回インストールしたTeXの処理系は、実は「TeXLive」というディストリビューション(の拡張?)で、 tlmgrはそのパッケージマネージャとなっています。 このパッケージマネージャを使って、 公開されているスタイルをインストールして扱うことができます。

さて、今回のtexファイルをビルドしてみてください。 enumitemがundefinedだからnot foundだかというエラーが返ってくる場合があります。 これはenumitemパッケージをまだインストールしていないためです。 basicTeXなんかだと入っていません。 ということでtlmgrを使って入れてみましょう。

tlmgr install enumitem

これだけで済みます。 簡単ですね。 うまくいかなかった場合はメッセージを読んで解決してください。 たいていupdateしろとかそんなんです。 さて、インストールが済んだのでもう一度ビルドしてみてください。 今度は何も文句を言われないと思います。 このように、 こんな組版が使いたいなあと思って パッケージを利用する必要ができたら、 パッケージマネージャを利用すると便利です。

次に、環境です。 今、情報系なあなたなら、\beginで始まり\endで終わる一つの塊を見ていると思います。 この囲まれた範囲はenumerateの 環境 にあるという言い方をします。 enumerate環境下では\itemというシンボルを用いて箇条書きを行うことができます。

TeXの大切な利点を忘れていました。 自動的に処理すべき文書を自動生成してくれることはTeXの大きな利点の一つです。 「文書の自動生成」は二番目にインパクトのある魅力ですから、 上から二番目にこの項目を追加しましょう。

\documentclass{jsarticle}
\usepackage{enumitem}
\begin{document}
この文章は \LaTeX を用いています。

\section{\LaTeX を使う意味について}
\TeX を使うと、以下のような利点があります。

\begin{enumerate}
  \item 読みやすいレイアウト
  \item 文書の自動生成
  \item 数式を書きやすい
  \item クロスプラットフォーム
  \item OSS
\end{enumerate}
\end{document}

insert

このように、 enumerate環境を用いると箇条書きに添える番号は自動的に付与してくれます。 今となってはそれほど珍しい機能ではありませんが、 TeXは私たちが1,2,3の項目を作成してから1と2の間に項目を挿入したくなった時、 挿入した項目以降の添字をいちいちずらすような滑稽な真似はさせません。

自動的な生成について、次にもう少し触れておきたいと思います。

next >>

*1: スタイルファイルはhtmlでいうCSSのようなもので、組版する文書の形式を定義するものです。詳しくは後述とさせていただきます。
Clone this wiki locally