天地有情

[LaTeX] calc --- 算術計算 ~Review~

calc --- 算術計算 ~Review~

§1 はじめに

パッケージやクラスの作成に calc や ifthen を利用すると,もっと簡単に計算処理や制御構造が
組み立てられます.ここでは calcパッケージを,もう一度見直してみました.以下に特徴的な事柄を列挙します.

● TeXでの計算は \advance や \mutiplay など低レベルな操作を行うが,このパッケージには LaTeX で計算式を
  infix(挿入辞形式・中置記法)で記述するための機能が定義されている.

● LaTeX標準の \setcounter, \addtocounter, \setlength, \addtolength, などが再インプリメントされ,
  単純な数値や長さだけでなく整数や長さの式も記述できるようになっている.

● 「整数式」には整数値,TeXの整数レジスタ,LaTeXのカウンタ,小カッコ,二項演算子(+, -, *, /)が記述できる.
  小カッコは通常の優先順位を変更するために使用することができる.

● 「長さ」を扱う場合,加減算の部分式は同じ種類のものでなければならない.例えば,
  "2cm + 4" とは指定できないが,"2cm + 4pt" のような式は正しく処理される.また,乗除は整数でしか行えない.
  "2cm * 4" は正しいが "2cm * 4pt" とは記述できない.
  さらに,一つの式の中では「長さ」の部分を最初に記述しなければならない.従って, "4 * 2cm" とは記述できない.

● 整数でしか乗除ができないという制限は「長さ」の計算では緩和されており,\real{...}, \ratio{...}{...}コマンド
  で実数で計算できるようになっている.

● 「長さ」の演算結果の単位は「pt」で表示される.


§2 いくつかのサンプル

(1)

calc01.png

上図(Ex.02)において,
TeXは、整数に対する算術演算を実行すると,結果として小数部はすべて破棄されます.
この切り捨ては,複合式の逐次計算における中間結果に適用されます.例えば,

\setcounter{x}{3 * \real{1.6} * \real{1.7}} ⇒ 6

(2)新しく導入された最大値(\maxof)と最小値(\minof)マクロ

calc02.png

上図(Ex.03)において,演算は次のように行われます.

X= 3 * max(9,12) + min(3,4) = 39

(3)\ratio の例

calc03.png

演算結果の単位は「pt」表示となります.
単独で \ratio は使えず,ある長さを前置しておきます.


(EOF)
スポンサーサイト
  1. 2016/03/24(木) 09:27:30|
  2. LaTeX Tools