天地有情

[LaTeX] spreadtab -- スプレッドシート機能をもつtabular環境

spreadtab -- スプレッドシート機能をもつtabular環境

§1 概 要

このパッケージでは LaTeX tabular環境 のためにスプレッドシート機能が提供されます.
表のセルは行と列のインデックスをもっており,他のセルの値を生成するための式を使用することができます.
全tabular環境と互換性があり,'&'と'\\'が使われます.
なお,パッケージはセルの値に対する演算を行う FPパッケージ と XSTRINGパッケージ を必要とします.

複雑なスプレッドシート機能が要求される場合には Excel2LaTex のようなツールの利用を考慮したほうが
良さそうです.

1.1 インストール

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

1.2 マニュアル

コマンドラインから texdoc spreadtab を実行してください.

§2 代表的な書式例

spread09.png


  ★ クラスファイルは ltjsarticle を使っていますが,scrartcl や article などでも構いません.
  ★ 文字コードは UTF-8 とします.

2.1 コンパイルの仕方

  luajitlatex foo.tex
  または
  lualatex foo.tex

2.2 コンパイルの結果

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

§3 簡単なサンプルと説明

この例では,各行および各列の和を計算し,総合計を計算する例です.

spread01.png


【説 明】

(1)セルの座標

    通常のスプレッドシートと同様に
      [列]は A~Z の26文字のみで,Aが左側の最初の列です.大文字/小文字 どちらでも使えます.
      [行]は 1, 2, 3, ... n の整数とします.行番号 1 が一番上の行です.

spread02.png



(2)セルの参照

    セルの参照には[絶対参照]と[相対参照]の2通りが用意されています.
      [絶対参照] [列][行]のペアの内容で指定された識別子です.例: A1, B1, ...など
      [相対参照] [x,y] 形式で表します.

spread03.png


現在のセル位置(D6)にあり,この位置から
      ❶(B2)は [-2,-4]
      ❷(C9)は [-1,3]
      ❸(F8)は [2,2]
      ❹(E3)は [1,-3]
のように相対指定します.

(3)構文

   \begin {spreadtab} {{<name>} {<parameters>}}
      数式や数値をもつテーブル
   \end {spreadtab}

<name> : LaTeX で利用可能な任意のテーブル環境の名前(tabular, tabularx, など)
<parameters> : カラムパラメータ(l, c, r)

テーブルは横列または縦列に配列されたセルの集合とみなすことができるセルの長方形のアレイです.
デフォルトでは spreadtab は列の区分に '&' ラインの最後に '\\'が使われます.

(4)演算子と数値

    セル同士の演算子: 加減乗除( +, -, *, / )が行えます.
    数値: 整数, 実数が使えます.


§4 単純な例題

(1)下図のような spreadtab を作成し,部分に計算式を立てて実行することにします.

spread04.png


補足説明:

■ テキストセルについて
セル内にテキストだけを置きたい場合は,セルが計算されるべきではないことを spreadtab 伝える必要があります.
文字を配置するセル内に「@」を文字列の先頭に付加します.例えば,@品名, @数量 などのようにします.
(@は\catcode で処理されています)このセルは不活性セルとなり,spreadtab によって無視されます.
セルが空白で満たれた空であれば,spreadtab はテキストセルとなります.

(2)LaTeX ファイル の作成

spread05.png


【説 明】

● 最上段行 および 最左端列 の各項目はテキストセルです.@を付加します.

● B,C列は絶対参照(例:b2*c2など)で演算していますが,E列は相対参照(1.08*[-1,0])で演算しています.

(3)結果

spread06.png


§5 混合セルについて

実際には,各セルは2つのフィールドで構成され,次の形式となります.
すなわち,数値フィールドとテキストフィールド(FPによって無視され,計算に考慮されません)の構成です

<text field> := {numeric field} < end of text field >

例: テキスト :={100}冊
数値フィールドが計算されると,' := {数値フィールド} ' は数値に置き換えられます.
なお,セルが'@'文字が含まれている場合は,全体のセルがテキストフィールドです.

(1)例題

spread07.png


(2)結果

spread08.png



スポンサーサイト
  1. 2014/11/25(火) 10:17:08|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0
<<[LaTeX] pgf-soroban / randomwalk --- 面白いパッケージ | ホーム | [pTeX-ng] pTeX-ng 備忘録 -- 新しい TeX 処理系>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/91-22fb7715
この記事にトラックバックする(FC2ブログユーザー)