FC2ブログ

天地有情

[LaTeX] kvmap --- Karnaughマップを作成する

§1 はじめに

kvmapは,隣接する"1"のグルーピング化を含むKarnaughマップをタイプセットするための
ユーザフレンドリーな方法を提供しています.
このパッケージは,xparse(expl3),tikz,およびenvironに依存します.

Karnaughマップを描くのは珍しいことではなく,CTANですでにタイプされているパッケージを利用できるように
なっています.

拙著ブログでも,次が公開されています.

askmaps --- カルノー図を描く
karnaugh-map --- カルノーマップを最大6変数まで描画する
kvmacros --- カルノー図を描く

今回,提供される kvmap が最もやり易いと思われます.


1.1 インストール

必要に応じて,CTAN( https://ctan.org/pkg/kvmap )から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc kvmap を実行するか,
上記に同梱の kvmap.pdf をお読み下さい.

§2 使い方

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

2.2 簡単な例

(1)\kvlist による方法

\kvlist{<width>}{<height>}{<1,0[,…]>}{<a,b[,…].>}

行列の幅と高さを指定し,要素を行単位で入力します.
最後の引数は,コンマで区切られた変数名のリストで構成されます.
それらは数式モードでタイプセットされています.

kvmap-HH01.png



(2)kvmatrix環境による方法

\begin{kvmatrix}{<a,b,c[,…]>}
<environment content>
\end{kvmatrix}


この環境は,表形式の環境と同様に行と列を入力する構造化された方法を
提供します.こちらの方が,推奨されています.


kvmap-HH02.png



(3)バンドル(グルーピング)

\bundle[<key-value pairs>]{<x1>}{<y1>}{<x2>}{<y2>}

このパッケージのもう1つの特徴は,少なくとも隣接する1または0(インプリカントとも呼ばれます)を視覚化する
長方形(グルーピング)を描く方法を \bundleコマンドで行います.

kvmap-HH03.png


\bundle は,2つのコーナーで指定された領域の周囲に矩形を描画します. オプションの invert はバンドルを
外側に開き、overlapmarginsは,エッジがマージンにどれだけ引き込まれるかを長さで指定します.
color を使用すると,境界線の色を変更することができ,reducepace によって,bumdle の幅を狭くするか広げるかを
指定できます.オプションの使い方については,下記のサンプルをご覧ください.


§3 サンプル

kvmap-HH04.png



\begin{kvmap}[<key-value pairs>]
<environment content>
\end{kvmap}

この環境は,最初の子要素としてkvmatrixまたは\kvlistをもつべきtikzpicutreへのインタフェースです.



(EOF)
スポンサーサイト



  1. 2018/10/21(日) 17:02:27|
  2. LaTeX Tools