天地有情

[LaTeX] bnumexpr--任意に大きな整数を生成する

文字色[LaTeX] bnumexpr--任意に大きな整数を生成する

§1 はじめに

xint から派生した姉妹パッケージと思われます.
\bnumexpr は、パッケージ xintexpr から \xintiiexpr のスケールダウンバージョンです.

デフォルトでは bnumexpr は xintcore をloadし,算術マクロ 加算(+),減算(-)、乗算(*)、除算(/)を提供します.
また,オプションを付加することにより,べき乗演算(^)も可能です.

1.1 インストール

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

1.2 マニュアル

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

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

2.1 書式のサンプル

プリアンブルに
  \usepackage[option]{bnumexpr} を記述します.
  べき乗演算(^)の場合にはオプション [allowpower] が必要となります.

提供されるコマンドは,

  (1) \thebnumexpr <expression with +,-,*,/,(,)> \relax
  (2) \the\numexpr <expression with +,-,*,/,(,)> \relax

(1)と(2)の違いは,例えば,

  \thebnumexpr 2*1234567890\relax

(1)の場合,出力は `2469135780` --TeXの整数限界を超えても算術オーバーフローになりません.
(2)の \the\numexpr ではTeXの整数限界 `2147483647` を超えるため 算術オーバーフローとなります.

  以下にサンプルの書式を示します.

  foo.tex
bnum01.png

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

2.2 コンパイルの仕方
(クラスファイルが ltjsarticle の場合)

  luajitlatex foo.tex
  または
  lualatex foo.tex

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

§3.サンプル(1)

■■■■■■■■■■■■■■■■■■■■■■
\documentclass{ltjsarticle}
\usepackage[allowpower]{bnumexpr}
\begin{document}
(1) $\thebnumexpr 123/188\relax$ → 1

(2) $\thebnumexpr 123/188*188,123/(188*188)\relax$ → 188,0

(3) $\thebnumexpr 2179878*987654321-2152966419779999\relax$ → −493827161

(4) $\thebnumexpr (1^10+2^10+3^10+4^10+5^10+6^10)^3\relax$ → 363084368099778773753851
\end{document}
■■■■■■■■■■■■■■■■■■■■■■

§4.サンプル(2)

bnum04.png


結果は次の通りです.

----------------------------------
bnum03.png
----------------------------------

(EOF)
スポンサーサイト
  1. 2015/03/10(火) 13:06:53|
  2. LaTeX Tools