Latex

 

・2段組の方法

LaTeXで2段組みにしたいときの覚え書き。

方法は二つ。

twocolumn クラスオプションを指定。文書全体が2段組み

\twocolumn コマンドを利用。特定範囲のみ2段組み


twocolumn クラスオプションの指定。

プリアンブルの部分に

\documentclass[twocolumn]{jarticle}のように書く。これで文書全体が2段組みになる。ただし、article系のドキュメントクラスでは、\maketitle1段組みで、以降は2段組みとなる。



\twocolumn コマンドの利用方法。

\twocolumn のみ→その場所で改ページ&以降すべて2段組み

   \twocolumn[「1段組み文章」] のみ→上記に加え、ページ先頭には「1段組み文章」を表示し、以降すべて2段組み 

   \twocolumn ~ \onecolumn ではさんだ範囲を2段組みに。改ページは\twocolumn および \onecolumn の部分で行われる

   \twocolumn[「1段組み文章」] ~ \onecolumn。 上記に加え、ページ先頭には「1段組み文章」が表示される


1段組みと2段組みの違い

・本文中のカラムが左右に、分割されない/される

abstract環境が、quotation環境扱い/section扱い

\newpageが、改ページ/改カラム


同一ページで1段組み、2段組みの混在させたい。3段組み以上やりたい。

multicolパッケージを使う。まずプリアンブルに

\documentstyle[multicol,epsf]{jarticle}

と書くか、

\usepackage{multicol}

と書く。


使い方は

\begin{multicols}{2}

  ここに書いた文章は2段組みになる

\begin{multicols}


\begin{multicols}{3}

  ここに書いた文章は2段組みになる

\begin{multicols}

など、自然な感じで使える。



caption中で改行する方法

図や表などのcaption中で改行する時、¥¥では、エラーが出てしまう。そんなときは、¥newlineを用いると

エラーが出ずに改行される。



・図や表を横長に表示する方法

まず、

¥usepackage{lscape}

のパッケージを使う。

そして、横長にしたい図のところで

¥begin{landscape}

¥begin{figure}


¥end{figure}

¥end{landscape}

とすれば、図や表が横長になる。


・特殊文字を表示する方法

例えば、ウムラウトやチルダの表示方法は

・ウムラウト

ä ⇒ ¥”a  (バックスラッシュ、shift+2、a)

・チルダ

ã ⇒ ¥~a (バックスラッシュ、shift+^、a)


・2語の単語を改行で離したくないとき

例えば、「Leo I」を改行で離したくないときは

Leo~I

と打つと1セットで表示され、改行で離れることがなくなる。


BibTexのbstファイルの場所

/opt/local/share/texmf-dist/bibtex/bst/natbib/



plainnat.bst 内にある{format.names} のdefault setting


FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}