つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる文書作成11 ~2段組み文書の作成

 論文などでは概要を1段(1コラム)、本文は2段組(2コラム)のフォーマットがよく利用される。そこで今回はLaTeX文書で概要を1段、本文を2段組み文書を表示する方法について紹介したい。

1. 2段組み文書の作成

 LaTeXで2段組み文書を作成する方法としては2通りある。1つはdocumentclassのオプションでtwocolumnを指定する方法で、ほかの方法としてはmulticolパッケージを利用してmulticols環境で文書を作成する方法である。

2. documentclassのオプションで指定する方法

まずducumentclassオプションを指定する方法ではプリアンブル領域で

\documentclass[twocolumn, a4j]{jarticle}

とすると文書全体が2コラムでレイアウトされる。1コラムにするには以下のように\twocolumn[ ]の括弧内に文章等を入れると1コラムレイアウトとなる。 概要の部分は\begin{abstract} \end{abstract}でabstract環境を使用しているが、通常の文章でも1コラムになる。なお概要文と本文に隙間をいれるため\newlineで空行を1行挿入するようにしている。

\twocolumn[
\maketitle

\begin{abstract}
 \ ここに概要を記述する。この文章は\LaTeX の機能と表示結果を表示する説明書です。概要は1コラム、本文は2コラムで書かれています。図の挿入については2コラムに収まるように表示サイズを調整していますが、表については2コラムのレイアウトに納まらないのでtable環境使用時にtable*とすることで1コラムで表示するようにしています。
\newline
 
\end{abstract}
 ]

2コラムの間の距離はプリアンブル領域で\setlength{\columnsep}{距離}として指定する。また、コラム間にしきい線を入れるには\columnseprule=線の太さとする。 図や表で2コラムのレイアウトに納まらない(オーバーフローする)場合は、1コラムで表示させる。1コラムにするには図であれば\begin{figure*}~ \end{figure*}、表の場合は\begin{table*}~ \end{table*}とする。

3. 2コラムレイアウトの実行例

 以下はducumentclassオプションを指定する方法で、図に関してはサイズを調整して2コラムに納まるようにして、表については1コラムで表示している。

\documentclass[twocolumn, a4j]{jarticle}

\setlength{\columnsep}{5mm}

\begin{document}

 \columnseprule=0.2mm
\twocolumn[
\maketitle
\begin{abstract}
 \ ここに概要を記述する。この文章は\LaTeX の機能と表示結果を表示する説明書です。概要は1コラム、本文は2コラムで書かれています。図の挿入については2コラムに収まるように表示サイズを調整していますが、表については2コラムのレイアウトに納まらないのでtable環境使用時にtable*とすることで1コラムで表示するようにしています。
 \newline
 
 \end{abstract}
]

本文

\begin{table*}[htb]
\centering
  \caption{スペック比較:セル水平垂直結合(multirow)}
  \begin{tabular}{|l|c|c|r|c|}  \hline
    機種 & バージョン &ディスプレイ & 値段 & CPUコア \\ \hline \hline
    iphone12 & pro & \multirow{2}{*}{6.1"} & 106,800円  &\\ \cline{1-2} \cline{4-4}
     \multicolumn{2}{|c|}{iphone12} &   & 85,800円 & A14 Bionic \\ \cline{1-4}
    iphone12 & mini & 5.4" & 74,800円 & \\ \hline
  \end{tabular}
\label{tb:table}
\end{table*}
\end{document}

以下実行例を下に示す。図や数式含めて2コラムでレイアウトされていることがわかる。

"2コラムレイアウト"
2コラムレイアウト

表について1コラムでレイアウトされている。

"2コラムレイアウト(表部分)"
2コラムレイアウト(表部分)

4. multicolパッケージを利用する方法

 documentclassのオプションでは1コラムか2コラムのみの指定となるが、multicolパッケージは2コラム以外に3コラムや4コラムなど指定できる。multicolパッケージを利用する場合はプリアンブル領域で\usepackage{multicol}としてロードして、multicols環境内\begin{multicols}{コラム数}~\end{multicols}で文書を作成するとオプションで指定したコラムレイアウトになる。 documentoclassのオプションでは2コラムにしない部分を\twocolumn[~]で指定していたが、multicolでは2コラムにする部分を\begin{multicols}{2}~\end{multicols}で指定する。またmulticols内で1コラムにする図、表は上と同様に\begin{table*}~ \end{table*}とした。(multicolsで細かく指定する手もあるかも)

\documentclass[a4j]{jarticle}

\usepackage{multicol}

\setlength{\columnsep}{5mm}
 \columnseprule=0.2mm

\begin{document}
\maketitle
\begin{abstract}
  ここに概要を記述する。
 \newline
 
 \end{abstract}

\begin{multicols}{2}
本文を記述
\end{multicols}

\end{document}

実行例を下に示す。abstract環境の処理がdocumentclassの場合と異なっていて、フォントサイズが小さいことと、概要が中央揃いになっている。

"multocolを利用した2コラムレイアウト"
multocolを利用した2コラムレイアウト

5. まとめ

 LaTeX文書で概要を1コラム、本文を2コラムで表示する方法について紹介した。論文投稿などでは、事前にTeXフォーマットをダウンロードできるケースが多いので、内々の報告以外で自分で論文のようなフォーマットを作成するという機会はあまりないのかもしれない。