texlive multicolum

tex目次
まずこれは、非常に心の折れる作業である。表や図の挿入に至っては個別にその場その場で完全手動で調整対処するしかない。

やり方は

  1. documentclass[twocolum]
  2. document直後\twocolmn[タイトル、アブスト]
  3. begin{multicols}{2}

の3種ある。いづれでも完璧というのは難しい。

Title,Abstract 小型の図表 大型の図表
documentclass 1ページ目と2ページ目で段組分離。1ページ目はタイトルのみ。2ページ目からアブストも二段組で表示* figure,table figure*,table*(次ページ描写)
twocolumn[
タイトル
アブスト
]
1ページ目と2ページ目で分離しない。タイトルとアブストは特殊な表記をする。 figure,table figure*,table*(次ページ描写)
multicol 一ページ内に多段組レイアウトが共存できるため気にしなくて良い。 figurehere,tablehere 通常通りfigure*,table*で次ページ描写あるいは、前後でmulticolsを一旦切って自前で\newpageなどで調整

※それでもやり方はあるようです。タイトルの中にabstractも入れたい


/file/texlive multicolum/titulo.png

texで他段組を扱うには\documentclass[10pt,a4paper,twocolumn]{book}などtwocolumnをdocumentで宣言せずに優秀なmulticolumnパッケージを使ったほうが容易い。 http://www.tex.ac.uk/CTAN/macros/latex/required/tools/multicol.pdf

スタイルファイルとしてjsarticleを利用しており、reportではないことを断っておきます。

pLaTeX 関連の覚え書きが非常に参考になった。

ソースコード

\documentclass[10pt,a4paper]{jsarticle}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{framed}
\usepackage{tabu}
\usepackage[table]{xcolor}
\usepackage{multicol}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\title{てぃてぅろ}
\author{俺}

\definecolor{lightgray}{rgb}{0.75,0.75,0.75}
\definecolor{ttb}{RGB}{195,195,195}
\definecolor{thf}{RGB}{102,128,128}
\definecolor{thb}{RGB}{229,238,204}

%解説:の左にバーを入れるために使った関数。前々々略。
%Execise③を枠中に書くために使った関数。前々略。

\makeatletter
\newenvironment{tablehere}
  {\def\@captype{table}}
  {}
\newenvironment{figurehere}
  {\def\@captype{figure}}
  {}
\makeatother

\begin{document}
\maketitle

\begin{abstract}
   俺は馬鹿。じゃあ君は?
\end{abstract}

\begin{multicols}{2}
   長い文章。前略。
\end{multicols}

%大型の表
\begin{table}[tbc]
{
\taburulecolor{ttb}
\arrayrulewidth=0.1pt
\tabulinesep=4pt
\begin{center}
\small
\begin{tabu}{|[2pt]X[5,c]|c|c|c|c|c|[2pt]}\tabucline[2pt]{-}
\rowfont[c]{\color{thf}}\rowcolor{thb}
    $*$ & $a$ & $b$ & $c$ & $d$ & $e$ \\\hline
    $a$ & $a$ & $b$ & $c$ & $b$ & $d$ \\\hline
    $b$ & $b$ & $c$ & $a$ & $e$ & $c$ \\\hline
    $c$ & $c$ & $a$ & \cellcolor{thb}{\color{thf}$b$} & $b$ & $a$ \\\hline
    $d$ & $b$ & $e$ & $b$ & $e$ & $d$ \\\hline
    $e$ & $d$ & $b$ & $a$ & $d$ & $c$ \\\tabucline[2pt]{-}
\end{tabu}
\caption{ほう}
\end{center}
}
\end{table}
\newpage

\begin{multicols}{2}
   長い文章。中略
%小型の表
\begin{tablehere}
{
\taburulecolor{ttb}
\arrayrulewidth=0.1pt
\tabulinesep=4pt
\begin{center}
\small
\begin{tabu}{|[2pt]X[5,c]|c|c|c|c|c|[2pt]}\tabucline[2pt]{-}
\rowfont[c]{\color{thf}}\rowcolor{thb}
    $*$ & $a$ & $b$ & $c$ & $d$ & $e$ \\\hline
    $a$ & $a$ & $b$ & $c$ & $b$ & $d$ \\\hline
    $b$ & $b$ & $c$ & $a$ & $e$ & $c$ \\\hline
    $c$ & $c$ & $a$ & \cellcolor{thb}{\color{thf}$b$} & $b$ & $a$ \\\hline
    $d$ & $b$ & $e$ & $b$ & $e$ & $d$ \\\hline
    $e$ & $d$ & $b$ & $a$ & $d$ & $c$ \\\tabucline[2pt]{-}
\end{tabu}
\caption{ほう}
\end{center}
}
\end{tablehere}
   非常に長い文章。後略
\end{multicols}

\end{document}
ダウンロード /file/texlive multicolum/mucsample.tex

表やグラフの一段組

完全な形では不可能
方法1

/file/texlive multicolum/conc.png
Cambridge UniversityLaTeX multicolsの中でfigureやtableを使う方法より引用

\makeatletter
\newenvironment{tablehere}
  {\def\@captype{table}}
  {}

\newenvironment{figurehere}
  {\def\@captype{figure}}
  {}
\makeatother

入れて、小型の表や図ならこのtablehere,figurehereで、大型なら前後で \end{multicols} , start{multicols}{2} して、普通に start{figure}[tbc] , begin{table}[tbc] 。出来上がり見ながら\newpage入れて整えろ。ってあれ?、それワードで体裁整えてる作業と変わんなくね?むしろ面倒じゃね?な話ではある。

方法2

/file/texlive multicolum/mc1.png

\begin{multicols}{2} 
表*
\end{multicols}

とする。但し、写真のように必ず紙面の上段に配置され下部に置かれることはない。延々と挿入を後回しにされ、非常に遠い最後の最後のページの方でやっと差し込まれることになることもある。 少なくともdocumentclass[twocolumn]を使った場合次のページに差し込まれることが判明。しかしつまりこれは二段組の最初のページには絶対にぶちぬきの図を入れられないことを意味する。class宣言でない場合のabstractの入れ方は下で説明する。 また小型の表や図を入れるときはやはり上のtablehere,figurehereが必要になる。
/file/texlive multicolum/perf.png
求めている状態。以下の失敗例に合わせて個別で\newpage等するか、あるいはabstract直後のmulticolumsする前に表を[btc]属性で入れてしまわないと実現不能である。
/file/texlive multicolum/btch.png
そのabstract直後の挿入際[btch]も入れてしまうとこのようになる。また、うまく行ってもその後3ページ目や10ページ目のmulticolsが始まった後の挿入には対応できない。

失敗例

/file/texlive multicolum/mcol.png

\begin{multicols}{2} 
\end{multicols}
表* (表 でも同様)
\begin{multicols}{2}
\end{multicols}

とすると上書きされる誤った出力になる

\begin{multicols}{2} 
表
\end{multicols}

すると表がそもそも出力されない

\begin{multicols}{2} 
表*
\end{multicols}

とmulticolsを切らずにフロートにすると通常通り次のページに描写される。
/file/texlive multicolum/skir.png
三木研究室より usepakage{mikibase} してみる。失敗とは言えないがfigure{}[tbc]していないので中途半端な配置位置となってしまった。
/file/texlive multicolum/aiu.png
multicols解消したんだからtable使えばいいんじゃない!?、で、またこうなる。

\twocolumn[]を利用してかつabstractを一段組にする

/file/texlive multicolum/twocols.png
ぶちぬきはfigure*,table*にし、次の頁の上部に表示される。つまり二段組のページ1枚目にぶち抜きを入れることはできない。
twocolumn における title と abstract[TeX],3.6 段組を制御するより引用。

\documentclass[10pt,a4paper]{jsarticle}%twocolumnはここでは宣言しない
%中略
\begin{document}
\twocolumn[
\maketitle
\begin{abstract}
勉強しないで遊んでばかりでは馬鹿になる。勉強しないで遊んでばかりでは馬鹿になる。
勉強しないで遊んでばかりでは馬鹿になる。勉強しないで遊んでばかりでは馬鹿になる。
勉強しないで遊んでばかりでは馬鹿になる。勉強しないで遊んでばかりでは馬鹿になる。
\end{abstract}
]
    last modified: 15 July 2013 [ View wiki source Close ]
     
SEARCH DIFFERENCE ATTACHMENT RECENT POST