天地有情

[LaTeX] csvsimple -- CSVで表作成 ~初歩の初歩~

[LaTeX] csvsimple -- CSVで表作成 ~初歩の初歩~

§1.概要

LaTeX における表(テーブル)作成は,従来から標準的に tabular環境が利用されてきました.
今回,紹介するのは,csvsimple パッケージ で[カンマ形式]で表を作成できます.勿論,
tabular環境との融合が可能です.初歩的な内容となっています.下記のマニュアルを読むと
さらに理解が深まることでしょう.

■ インストール

TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
すぐに利用できる状態にあると思われます.

■ マニュアル

コマンドラインから texdoc csvsimple と打ち込んでください.

§2.LaTeX2e 文書での指定方法

プリアンブルに
   \usepackage{csvsimple} を記述します.

  foo.tex
  ■■■■■■■■■■■■■■■■■■■
  %% 文字コード:UTF-8
  
  \documentclass{ltjsarticle}
  \usepackage[ipa]{luatexja-preset}
  \usepackage{csvsimple}  %
  \begin{document}
    :
  \csvautotabular{foo.csv} %<--ここが重要
    :
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

  ★ 予め,カンマ形式の表(foo.csv)を準備しておきます.
  ★ クラスファイルは ltjsarticle を使っていますが,scrartcl や article などでも構いません.
  ★ 文字コードは UTF-8 とします.

■ コンパイルの仕方
  luajitlatex foo.tex
  または
  lualatex foo.tex

■ コンパイルの結果
  正しくコンパイルできたら foo.pdf が生成されます.

§3.基本的な例題

§3.1 簡単なサンプル-1:[CSVファイルあり]の例

(1)まずは,次に示す CSVファイル [fruit01.csv] を作成します.

  ■■■■■■■■■■■■■■■
  品名 , 単価(円) , 個数
  りんご , 100 , 5
  みかん , 50 , 10
  マンゴ , 300 , 8
  ■■■■■■■■■■■■■■■

(2)つぎに,LaTeX ファイル[sample01.tex]を作成します.

  ■■■■■■■■■■■■■■■■■■■
  \documentclass{ltjsarticle}
  \usepackage[ipa]{luatexja-preset}
  \usepackage{csvsimple}
  %
  \begin{document}
  \csvautotabular{fruit01.csv} % csvファイルを取り込む
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

(3)コンパイル
  luajitlatex sample01.tex

(4)実行結果

sample01.png


§3.2 簡単なサンプル-2:[CSVファイルなし]の例

CSVファイルを作成せず,直接 LaTeX ファイルに書き込む方法です.
なお,CSVファイル(fruit02.csv)は tcbverbatimwrite環境により,
自動的に生成されます.

(1)LaTeX ファイル[sample02.tex]を作成します.

  ■■■■■■■■■■■■■■■■■■■
  \documentclass{ltjsarticle}
  \usepackage[ipa]{luatexja-preset}
  \usepackage{csvsimple}
  \usepackage{tcolorbox} %for tcbverbatimwrite
  %
  \begin{document}
    \begin{tcbverbatimwrite}{fruit02.csv}
    品名 , 単価(円) , 個数
    りんご , 100 , 5
    みかん , 50 , 10
    マンゴ , 300 , 8
    \end{tcbverbatimwrite}
  %
  \csvautotabular{fruit02.csv}
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

(2)コンパイル
  luajitlatex sample02.tex

(3)実行結果
前例と同じ結果となります.

sample01.png


§3.3 tabular環境との組み合わせ-1

tabular環境と組み合わせてきめ細かい制御ができます.
次は項目の内,[個数]と[品名]だけを抽出して並べ替えた例です.

(1)LaTeX ファイル[sample03.tex]を作成します.

  ※ \csvreader コマンドを使った例

  ■■■■■■■■■■■■■■■■■■■
  \documentclass{ltjsarticle}
  \usepackage[ipa]{luatexja-preset}
  \usepackage{csvsimple}
  %
  \begin{tabular}{|r|l|}
  \hline
  個数 & 品名 \\\hline\hline
  \csvreader[late after line=\\\hline]{fruit01.csv}%
  {個数=\xxx,品名=\yyy}%
  {\xxx & \yyy}
  \end{tabular}
  \end{document}
  ■■■■■■■■■■■■■■■■■■■

(2)コンパイル
  luajitlatex sample03.tex

(3)実行結果

sample03.png


§3.4 tabular環境との組み合わせ-2

(1)LaTeX ファイル[sample04.tex]を作成します.

  ※ \csvstyleコマンドを使った例

  ■■■■■■■■■■■■■■■■■■■
  \documentclass{ltjsarticle}
  \usepackage[ipa]{luatexja-preset}
  \usepackage{csvsimple}
  %
  \begin{document}
  \csvstyle{myTableStyle}{tabular=|r|l|,
  table head=\hline 個数 & 品名 \\\hline\hline,
  late after line=\\\hline}

  \csvreader[myTableStyle]{fruit01.csv}{個数=\xxx,品名=\yyy}%
  {\xxx & \yyy}%
  ■■■■■■■■■■■■■■■■■■■

(2)コンパイル
  luajitlatex sample04.tex

(3)実行結果
前例と同じ結果となります.

sample04.png



スポンサーサイト
  1. 2014/08/15(金) 09:27:37|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0