From b011dfd20897559ef970207b0e472be0aec72140 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 22 Oct 2020 20:50:15 +0000 Subject: askmaps (22oct20) git-svn-id: svn://tug.org/texlive/trunk@56730 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/askmaps/askmaps.sty | 571 +++++++++++++++--------- 1 file changed, 371 insertions(+), 200 deletions(-) (limited to 'Master/texmf-dist/tex/latex/askmaps') diff --git a/Master/texmf-dist/tex/latex/askmaps/askmaps.sty b/Master/texmf-dist/tex/latex/askmaps/askmaps.sty index 9ff0122fbb0..ab77400992a 100644 --- a/Master/texmf-dist/tex/latex/askmaps/askmaps.sty +++ b/Master/texmf-dist/tex/latex/askmaps/askmaps.sty @@ -1,34 +1,62 @@ %% %% askmaps.sty %% -%% American Style K-maps (2, 3, 4 and 5 variables) +%% American Style K-maps (1, 2, 3, 4 and 5 variables) %% -%% (c)2013 Jesse op den Brouw, +%% (c)2020 Jesse op den Brouw, %% %% LPPL LaTeX Public Project License +%% +%% +%% Original rel 0.1 : 2013-12-04 +%% Update rel 0.2 : 2020-10-23 +%% added option oldstylef +%% added option newstylef +%% added askmapi - a K-map for one variable +%% added askmapiiialt - alternate (vertical) version op K-map III +%% added formatting index size, contents size and bit combination size. +%% added support for \kvindex and \nokvindex macros when kvmacros.tex is +%% loaded +%% added formatting for left-placed variables +%% implemented a debug possibility +%% implemented linelength of variable separator +%% resolved an issue with multiple overfull \hbox'es +%% added a section on creating covers +%% changed the use of \askmapindexsize et al. to include the size and +%% shape of the fonts used +%% %% \NeedsTeXFormat{LaTeX2e}[1994/06/01] %% Version and date -\gdef\askmapsversion{0.1} -\gdef\askmapsdate{2013/12/04} +\gdef\askmapsversion{0.2} +\gdef\askmapsdate{2020/10/23} % \ProvidesPackage{askmaps}[\askmapsdate\space Version \askmapsversion\space LaTeX package for drawing American Style Karnaugh maps] -%% This package provides 2, 3, 4 and 5 variable Karnaugh maps that can +%% This package provides 1, 2, 3, 4 and 5 variable Karnaugh maps that can %% be found in numerous american text books on digital design. Note %% that it is possible to draw many different K-maps that are all %% legitimate as long as a square (minterm) differs only in one -%% literal with its adjacent squares. +%% literal with its adjacent squares. There is an alternate form of the +%% 3 variable K-map available. %% This package draws K-maps where the most significant input variables %% are placed on top of the columns and the least significant variables -%% are placed left of the rows. Such K-maps can be found in the text books: -%% Design of Logic Systems, 2nd, Lewin & Protheroe -%% Digital System Design with VHDL, 2nd, Zwolinski +%% are placed left of the rows. %% Packages needed \RequirePackage{pict2e} +%% Get the only possible option +\newcommand{\askmap@usecapf}{\askmap@optftrue} +\DeclareOption{disablef}{\renewcommand{\askmap@usecapf}{\askmap@optffalse}} +\DeclareOption*{\PackageWarning{askmaps}{Unknown '\CurrentOption' in package askmaps}} +\ProcessOptions\relax + +%% For debugging purposes, currently draw rectangles around the maps +%% Use only for debugging purposes +\newif\ifaskmap@debug\askmap@debugfalse + %% The macros \askmapargumentstring, \askmapgetchar and \askmapgetonechar are %% needed to process the variable-length parameters in \askmapxxx: %% These routine politely reused from karnaugh package @@ -40,17 +68,23 @@ \newdimen\askmapunitlength \askmapunitlength=10mm +%% The sizes (and shapes) of the text in the maps +\newcommand{\askmapindexsize}{\scriptsize\slshape} +\newcommand{\askmapcontentsize}{\normalsize} +\newcommand{\askmapbitcombinationsize}{\footnotesize} + +%% Length of the line separating the input variables top-right and +%% middle-left +\newcommand{\askmapvarsep}{0.70} + %% Some use options \newif\ifaskmap@opti% want indexes \newif\ifaskmap@optf% want output function printed \newif\ifaskmap@optb% want input variable bit combinations at columns and rows -%% We want bit combinations along with the columns and rows -%\askmap@optbtrue - %% Process user options \def\askmap@processoptions#1{% - \askmap@optifalse\askmap@optftrue\askmap@optbtrue% + \askmap@optifalse\askmap@usecapf\askmap@optbtrue% \@tfor\askmap@opt:=#1\do{% \if i\askmap@opt\askmap@optitrue\fi% \if I\askmap@opt\askmap@optifalse\fi% @@ -69,26 +103,81 @@ %% #3 = function input variables %% #4 = list of function values %% #5 = user picture commands +%\newcommand{\askmap}[5]{}% +% Starred version or not +%\@ifstar{\gdef\askmap@printoutputname{f}\askmap@askmap}{\gdef\askmap@printoutputname{F}\askmap@askmap}% +%} +%\newcommand{\askmap@askmap}[5]{% \newcommand{\askmap}[5]{% -\if 2#1\relax - \askmapii{#2}{#3}{f}{#4}{#5}% +\def\askmap@printoutputname{f} +%% Check if the \kvcurrentindex is set to using indexes +\def\askmap@printindex{i} +\ifx\kvcurrentindex\undefined +\def\askmap@printindex{I} \else - \if 3#1\relax - \askmapiii{#2}{#3}{f}{#4}{#5}% - \else - \if 4#1\relax - \askmapiv{#2}{#3}{f}{#4}{#5}% - \else - \if 5#1\relax - \askmapv{#2}{#3}{f}{#4}{#5}% - \else - \PackageWarning{askmaps}{Sorry, no K-maps with #1 variables supported by package askmaps!} - \fi% - \fi% - \fi% -\fi% +\ifx\kvcurrentindex\empty +\def\askmap@printindex{I} +\fi +\fi +%% Sort out the 'call' to the right macro +\ifcase#1\relax + \PackageWarning{askmaps}{Sorry, no K-maps with #1 variables supported by +package askmaps!} +\or + \askmapi{#2}{#3}{\askmap@printoutputname\askmap@printindex}{#4}{#5}% +\or + \askmapii{#2}{#3}{\askmap@printoutputname\askmap@printindex}{#4}{#5}% +\or + \askmapiii{#2}{#3}{\askmap@printoutputname\askmap@printindex}{#4}{#5}% +\or + \askmapiv{#2}{#3}{\askmap@printoutputname\askmap@printindex}{#4}{#5}% +\or + \askmapv{#2}{#3}{\askmap@printoutputname\askmap@printindex}{#4}{#5}% +\else + \PackageWarning{askmaps}{Sorry, no K-maps with #1 variables supported by +package askmaps!} +\fi }% +%% #1= output function variable +%% #2= 1 input variable +%% #3= options list +%% #4= 2 function values +%% #5= user defined picture commands +\newcommand{\askmapi}[5]{% +{\unitlength\askmapunitlength% +\askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% +\begin{picture}(4.4,2)(-1.2,0)% +\linethickness{1pt}% +\put(0,0){\framebox(2,1){}}% +\put(1,0){\line(0,1){1}}% +\ifaskmap@optf% +\put(2.35,1.25){\askmapcontentsize#1}% +\put(1.9,0.9){\line(1,1){0.4}}% +\fi% +\askmapargumentstring{#2}% +\put(-0.4,1.55){\askmapcontentsize\askmapgetchar}% +\ifaskmap@opti% +\put(0.01,0.03){\askmapindexsize 0}% +\put(1.03,0.03){\askmapindexsize 1}% +\fi% +\ifaskmap@optb% +\put(0.5,1.1){\makebox(0,0)[b]{\askmapbitcombinationsize 0}}% +\put(1.5,1.1){\makebox(0,0)[b]{\askmapbitcombinationsize 1}}% +\fi% +\askmapargumentstring{#4}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\thicklines% +\put(0,1){\line(-1,1){\askmapvarsep}}% +\thinlines% +#5% +\end{picture}% +\ifaskmap@debug}\else\fi% +}% +}% end \askmapi + %% #1= output function variable %% #2= 2 input variables %% #3= options list @@ -97,42 +186,47 @@ \newcommand{\askmapii}[5]{% {\unitlength\askmapunitlength% \askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% \begin{picture}(4.4,3)(-1.2,0)% \linethickness{1pt}% -\put(0,0){\framebox(2,2)}% +\put(0,0){\framebox(2,2){}}% \put(1,0){\line(0,1){2}}% \put(0,1){\line(1,0){2}}% \ifaskmap@optf% -\put(2.35,2.25){#1}% +\put(2.35,2.25){\askmapcontentsize#1}% \put(1.9,1.9){\line(1,1){0.4}}% \fi% \askmapargumentstring{#2}% -\put(-0.4,2.55){\askmapgetchar}% -\put(-0.9,2.1){\makebox(0.5,0){\askmapgetchar}}% +\put(-0.4,2.55){\askmapcontentsize\askmapgetchar}% +%\put(-0.9,2.1){\askmapcontentsize\askmapgetchar}% +%\put(-1.0,1.9){\framebox(0.5,0.5)[r]{\askmapcontentsize\askmapgetchar}}% +\put(-0.5,2.1){\makebox(0.0,0.0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-0.9,2.1){\makebox(0.5,0){\askmapcontentsize\askmapgetchar}}% \ifaskmap@opti% -\put(0.01,1.05){\scriptsize{\textsl{0}}}% a little bit to the edge because -\put(0.01,0.03){\scriptsize{\textsl{1}}}% the edge line is thick -\put(1.03,1.05){\scriptsize{\textsl{2}}}% -\put(1.03,0.03){\scriptsize{\textsl{3}}}% +\put(0.01,1.05){\askmapindexsize 0}% a little bit to the edge because +\put(0.01,0.03){\askmapindexsize 1}% the edge line is thick +\put(1.03,1.05){\askmapindexsize 2}% +\put(1.03,0.03){\askmapindexsize 3}% \fi% \ifaskmap@optb% -\put(-0.6,1.5){\makebox(0.5,0)[r]{\footnotesize{0}}}% -\put(-0.6,0.5){\makebox(0.5,0)[r]{\footnotesize{1}}}% -\put(0.5,2.2){\makebox(0,0){\footnotesize{0}}}% -\put(1.5,2.2){\makebox(0,0){\footnotesize{1}}}% +\put(-0.6,1.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 0}}% +\put(-0.6,0.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 1}}% +\put(0.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 0}}% +\put(1.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 1}}% \fi% \askmapargumentstring{#4}% -\put(0.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,0.5){\makebox(0,0){\askmapgetchar}}% +\put(0.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% \thicklines% -\put(0,2){\line(-1,1){0.70}}% +\put(0,2){\line(-1,1){\askmapvarsep}}% \thinlines% #5% \end{picture}% -}% +\ifaskmap@debug}\else\fi% }% end \askmapii +} %% #1= output function variable %% #2= 3 input variables @@ -142,53 +236,121 @@ \newcommand{\askmapiii}[5]{% {\unitlength\askmapunitlength% \askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% \begin{picture}(6.4,3)(-1.2,0)% \linethickness{1pt}% -\put(0,0){\framebox(4,2)}% +\put(0,0){\framebox(4,2){}}% \multiput(1,0)(1,0){3}{\line(0,1){2}}% \put(0,1){\line(1,0){4}}% \ifaskmap@optf% -\put(4.35,2.25){#1}% +\put(4.35,2.25){\askmapcontentsize#1}% \put(3.9,1.9){\line(1,1){0.4}}% \fi% \askmapargumentstring{#2}% -\put(-0.4,2.55){\askmapgetchar\askmapgetchar}% -\put(-0.9,2.1){\makebox(0.5,0){\askmapgetchar}}% +\put(-0.4,2.55){\askmapcontentsize\askmapgetchar\askmapgetchar}% +%\put(-0.9,2.1){\framebox(0.5,0.5)[rt]{\askmapcontentsize\askmapgetchar}}% +%\put(-1.0,1.9){\framebox(0.5,0.5)[rt]{\askmapcontentsize\askmapgetchar}}% +%\put(-1.0,1.9){\framebox(0.5,0.5)[r]{\askmapcontentsize\askmapgetchar}}% +%\put(-0.9,2.1){\askmapcontentsize\askmapgetchar}% +%\put(-0.9,2.1){\makebox(0.5,0){\askmapcontentsize\askmapgetchar}}% +\put(-0.5,2.1){\makebox(0.0,0.0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-1.0,1.9){\makebox(0.5,0.45)[rt]{\askmapcontentsize\askmapgetchar}}% \ifaskmap@opti% -\put(0.01,1.05){\scriptsize{\textsl{0}}}% -\put(0.01,0.03){\scriptsize{\textsl{1}}}% -\put(1.03,1.05){\scriptsize{\textsl{2}}}% -\put(1.03,0.03){\scriptsize{\textsl{3}}}% -\put(3.03,1.05){\scriptsize{\textsl{4}}}% -\put(3.03,0.03){\scriptsize{\textsl{5}}}% -\put(2.03,1.05){\scriptsize{\textsl{6}}}% -\put(2.03,0.03){\scriptsize{\textsl{7}}}% +\put(0.01,1.05){\askmapindexsize 0}% +\put(0.01,0.03){\askmapindexsize 1}% +\put(1.03,1.05){\askmapindexsize 2}% +\put(1.03,0.03){\askmapindexsize 3}% +\put(3.03,1.05){\askmapindexsize 4}% +\put(3.03,0.03){\askmapindexsize 5}% +\put(2.03,1.05){\askmapindexsize 6}% +\put(2.03,0.03){\askmapindexsize 7}% \fi% \askmapargumentstring{#4}% -\put(0.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,0.5){\makebox(0,0){\askmapgetchar}}% +\put(0.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% \ifaskmap@optb% -\put(-0.6,1.5){\makebox(0.5,0)[r]{\footnotesize{0}}}% -\put(-0.6,0.5){\makebox(0.5,0)[r]{\footnotesize{1}}}% -\put(0.5,2.2){\makebox(0,0){\footnotesize{00}}}% -\put(1.5,2.2){\makebox(0,0){\footnotesize{01}}}% -\put(2.5,2.2){\makebox(0,0){\footnotesize{11}}}% -\put(3.5,2.2){\makebox(0,0){\footnotesize{10}}}% +\put(-0.6,1.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 0}}% +\put(-0.6,0.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 1}}% +\put(0.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 00}}% +\put(1.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 01}}% +\put(2.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 11}}% +\put(3.5,2.1){\makebox(0,0)[b]{\askmapbitcombinationsize 10}}% \fi% \thicklines% -\put(0,2){\line(-1,1){0.70}}% +\put(0,2){\line(-1,1){\askmapvarsep}}% \thinlines% #5% \end{picture}% +\ifaskmap@debug}\else\fi% }% }% end \askmapiii +%% #1= output function variable +%% #2= 4 input variables +%% #3= options list +%% #4= 16 function values +%% #5= user defined picture commands +\newcommand{\askmapiiialt}[5]{% +{\unitlength\askmapunitlength% +\askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% +\begin{picture}(4.4,5)(-1.2,0)% +\linethickness{1pt}% +\put(0,0){\framebox(2,4){}}% +\put(1,0){\line(0,1){4}}% +\multiput(0,1)(0,1){3}{\line(1,0){2}}% +\ifaskmap@optf% +\put(2.35,4.25){\askmapcontentsize#1}% +\put(1.9,3.9){\line(1,1){0.4}}% +\fi% +\askmapargumentstring{#2}% +\put(-0.4,4.55){\askmapcontentsize\askmapgetchar}% +%\put(-1.0,4.1){\framebox(0.5,0){\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-1.0,3.9){\framebox(0.5,0.5)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +\put(-0.5,4.1){\makebox(0.0,0.0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-0.9,4.1){\makebox(0.5,0){\askmapcontentsize\askmapgetchar\askmapgetchar}}% +\ifaskmap@opti% +\put(0.01,3.05){\askmapindexsize 0}% +\put(0.01,2.05){\askmapindexsize 1}% +\put(0.01,0.03){\askmapindexsize 2}% +\put(0.01,1.05){\askmapindexsize 3}% +\put(1.03,3.05){\askmapindexsize 4}% +\put(1.03,2.05){\askmapindexsize 5}% +\put(1.03,0.03){\askmapindexsize 6}% +\put(1.03,1.05){\askmapindexsize 7}% +\fi% +\askmapargumentstring{#4}% +\put(0.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\ifaskmap@optb% +\put(-0.6,3.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 00}}% +\put(-0.6,2.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 01}}% +\put(-0.6,1.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 11}}% +\put(-0.6,0.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 10}}% +\put(0.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 0}}% +\put(1.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 1}}% +\fi +\thicklines% +\put(0,4){\line(-1,1){\askmapvarsep}}% +\thinlines% +#5% +\end{picture}% +\ifaskmap@debug}\else\fi% +}% +}% end \askmapiiialt + %% #1= output function variable %% #2= 4 input variables %% #3= options list @@ -197,68 +359,72 @@ \newcommand{\askmapiv}[5]{% {\unitlength\askmapunitlength% \askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% \begin{picture}(6.4,5)(-1.2,0)% \linethickness{1pt}% -\put(0,0){\framebox(4,4)}% +\put(0,0){\framebox(4,4){}}% \multiput(1,0)(1,0){3}{\line(0,1){4}}% \multiput(0,1)(0,1){3}{\line(1,0){4}}% \ifaskmap@optf% -\put(4.35,4.25){#1}% +\put(4.35,4.25){\askmapcontentsize#1}% \put(3.9,3.9){\line(1,1){0.4}}% \fi% \askmapargumentstring{#2}% -\put(-0.4,4.55){\askmapgetchar\askmapgetchar}% -\put(-1.0,4.1){\makebox(0.5,0){\askmapgetchar\askmapgetchar}}% +\put(-0.4,4.55){\askmapcontentsize\askmapgetchar\askmapgetchar}% +%\put(-1.0,4.1){\framebox(0.5,0){\askmapcontentsize\askmapgetchar\askmapgetchar}}% +\put(-0.5,4.1){\makebox(0.0,0.0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-1.0,4.1){\makebox(0.5,0){\askmapcontentsize\askmapgetchar\askmapgetchar}}% \ifaskmap@opti% -\put(0.01,3.05){\scriptsize{\textsl{0}}}% -\put(0.01,2.05){\scriptsize{\textsl{1}}}% -\put(0.01,0.03){\scriptsize{\textsl{2}}}% -\put(0.01,1.05){\scriptsize{\textsl{3}}}% -\put(1.03,3.05){\scriptsize{\textsl{4}}}% -\put(1.03,2.05){\scriptsize{\textsl{5}}}% -\put(1.03,0.03){\scriptsize{\textsl{6}}}% -\put(1.03,1.05){\scriptsize{\textsl{7}}}% -\put(3.03,3.05){\scriptsize{\textsl{8}}}% -\put(3.03,2.05){\scriptsize{\textsl{9}}}% -\put(3.03,0.03){\scriptsize{\textsl{10}}}% -\put(3.03,1.05){\scriptsize{\textsl{11}}}% -\put(2.03,3.05){\scriptsize{\textsl{12}}}% -\put(2.03,2.05){\scriptsize{\textsl{13}}}% -\put(2.03,0.03){\scriptsize{\textsl{14}}}% -\put(2.03,1.05){\scriptsize{\textsl{15}}}% +\put(0.01,3.05){\askmapindexsize 0}% +\put(0.01,2.05){\askmapindexsize 1}% +\put(0.01,0.03){\askmapindexsize 2}% +\put(0.01,1.05){\askmapindexsize 3}% +\put(1.03,3.05){\askmapindexsize 4}% +\put(1.03,2.05){\askmapindexsize 5}% +\put(1.03,0.03){\askmapindexsize 6}% +\put(1.03,1.05){\askmapindexsize 7}% +\put(3.03,3.05){\askmapindexsize 8}% +\put(3.03,2.05){\askmapindexsize 9}% +\put(3.03,0.03){\askmapindexsize 10}% +\put(3.03,1.05){\askmapindexsize 11}% +\put(2.03,3.05){\askmapindexsize 12}% +\put(2.03,2.05){\askmapindexsize 13}% +\put(2.03,0.03){\askmapindexsize 14}% +\put(2.03,1.05){\askmapindexsize 15}% \fi% \askmapargumentstring{#4}% -\put(0.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,1.5){\makebox(0,0){\askmapgetchar}}% +\put(0.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% \ifaskmap@optb% -\put(-0.6,3.5){\makebox(0.5,0)[r]{\footnotesize{00}}}% -\put(-0.6,2.5){\makebox(0.5,0)[r]{\footnotesize{01}}}% -\put(-0.6,1.5){\makebox(0.5,0)[r]{\footnotesize{11}}}% -\put(-0.6,0.5){\makebox(0.5,0)[r]{\footnotesize{10}}}% -\put(0.5,4.2){\makebox(0,0){\footnotesize{00}}}% -\put(1.5,4.2){\makebox(0,0){\footnotesize{01}}}% -\put(2.5,4.2){\makebox(0,0){\footnotesize{11}}}% -\put(3.5,4.2){\makebox(0,0){\footnotesize{10}}}% +\put(-0.6,3.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 00}}% +\put(-0.6,2.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 01}}% +\put(-0.6,1.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 11}}% +\put(-0.6,0.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 10}}% +\put(0.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 00}}% +\put(1.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 01}}% +\put(2.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 11}}% +\put(3.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 10}}% \fi \thicklines% -\put(0,4){\line(-1,1){0.70}}% +\put(0,4){\line(-1,1){\askmapvarsep}}% \thinlines% #5% \end{picture}% +\ifaskmap@debug}\else\fi% }% }% end \askmapiv @@ -270,104 +436,109 @@ \newcommand{\askmapv}[5]{% {\unitlength\askmapunitlength% \askmap@processoptions{#3}% +\ifaskmap@debug\fboxsep0pt\fbox{\else\fi% \begin{picture}(10.4,5)(-1.2,0)% \linethickness{1pt}% -\put(0,0){\framebox(8,4)}% +\put(0,0){\framebox(8,4){}}% \multiput(1,0)(1,0){7}{\line(0,1){4}}% \multiput(0,1)(0,1){3}{\line(1,0){8}}% \ifaskmap@optf% -\put(8.35,4.25){#1}% +\put(8.35,4.25){\askmapcontentsize#1}% \put(7.9,3.9){\line(1,1){0.4}}% \fi% \askmapargumentstring{#2}% -\put(-0.4,4.55){\askmapgetchar\askmapgetchar\askmapgetchar}% -\put(-1.0,4.1){\makebox(0.5,0){\askmapgetchar\askmapgetchar}}% +\put(-0.4,4.55){\askmapcontentsize\askmapgetchar\askmapgetchar\askmapgetchar}% +%\put(-1.0,3.9){\framebox(0.5,0.5)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-1.0,4.1){\framebox(0.5,0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}} +\put(-0.5,4.1){\makebox(0.0,0.0)[r]{\askmapcontentsize\askmapgetchar\askmapgetchar}}% +%\put(-1.0,4.1){\makebox(0.5,0){\askmapcontentsize\askmapgetchar\askmapgetchar}}% \ifaskmap@opti% -\put(0.01,3.05){\scriptsize{\textsl{0}}}% -\put(0.01,2.05){\scriptsize{\textsl{1}}}% -\put(0.01,0.03){\scriptsize{\textsl{2}}}% -\put(0.01,1.05){\scriptsize{\textsl{3}}}% -\put(1.03,3.05){\scriptsize{\textsl{4}}}% -\put(1.03,2.05){\scriptsize{\textsl{5}}}% -\put(1.03,0.03){\scriptsize{\textsl{6}}}% -\put(1.03,1.05){\scriptsize{\textsl{7}}}% -\put(3.03,3.05){\scriptsize{\textsl{8}}}% -\put(3.03,2.05){\scriptsize{\textsl{9}}}% -\put(3.03,0.03){\scriptsize{\textsl{10}}}% -\put(3.03,1.05){\scriptsize{\textsl{11}}}% -\put(2.03,3.05){\scriptsize{\textsl{12}}}% -\put(2.03,2.05){\scriptsize{\textsl{13}}}% -\put(2.03,0.03){\scriptsize{\textsl{14}}}% -\put(2.03,1.05){\scriptsize{\textsl{15}}}% -\put(7.03,3.05){\scriptsize{\textsl{16}}}% -\put(7.03,2.05){\scriptsize{\textsl{17}}}% -\put(7.03,0.03){\scriptsize{\textsl{18}}}% -\put(7.03,1.05){\scriptsize{\textsl{19}}}% -\put(6.03,3.05){\scriptsize{\textsl{20}}}% -\put(6.03,2.05){\scriptsize{\textsl{21}}}% -\put(6.03,0.03){\scriptsize{\textsl{22}}}% -\put(6.03,1.05){\scriptsize{\textsl{23}}}% -\put(4.03,3.05){\scriptsize{\textsl{24}}}% -\put(4.03,2.05){\scriptsize{\textsl{25}}}% -\put(4.03,0.03){\scriptsize{\textsl{26}}}% -\put(4.03,1.05){\scriptsize{\textsl{27}}}% -\put(5.03,3.05){\scriptsize{\textsl{28}}}% -\put(5.03,2.05){\scriptsize{\textsl{29}}}% -\put(5.03,0.03){\scriptsize{\textsl{30}}}% -\put(5.03,1.05){\scriptsize{\textsl{31}}}% +\put(0.01,3.05){\askmapindexsize 0}% +\put(0.01,2.05){\askmapindexsize 1}% +\put(0.01,0.03){\askmapindexsize 2}% +\put(0.01,1.05){\askmapindexsize 3}% +\put(1.03,3.05){\askmapindexsize 4}% +\put(1.03,2.05){\askmapindexsize 5}% +\put(1.03,0.03){\askmapindexsize 6}% +\put(1.03,1.05){\askmapindexsize 7}% +\put(3.03,3.05){\askmapindexsize 8}% +\put(3.03,2.05){\askmapindexsize 9}% +\put(3.03,0.03){\askmapindexsize 10}% +\put(3.03,1.05){\askmapindexsize 11}% +\put(2.03,3.05){\askmapindexsize 12}% +\put(2.03,2.05){\askmapindexsize 13}% +\put(2.03,0.03){\askmapindexsize 14}% +\put(2.03,1.05){\askmapindexsize 15}% +\put(7.03,3.05){\askmapindexsize 16}% +\put(7.03,2.05){\askmapindexsize 17}% +\put(7.03,0.03){\askmapindexsize 18}% +\put(7.03,1.05){\askmapindexsize 19}% +\put(6.03,3.05){\askmapindexsize 20}% +\put(6.03,2.05){\askmapindexsize 21}% +\put(6.03,0.03){\askmapindexsize 22}% +\put(6.03,1.05){\askmapindexsize 23}% +\put(4.03,3.05){\askmapindexsize 24}% +\put(4.03,2.05){\askmapindexsize 25}% +\put(4.03,0.03){\askmapindexsize 26}% +\put(4.03,1.05){\askmapindexsize 27}% +\put(5.03,3.05){\askmapindexsize 28}% +\put(5.03,2.05){\askmapindexsize 29}% +\put(5.03,0.03){\askmapindexsize 30}% +\put(5.03,1.05){\askmapindexsize 31}% \fi% \askmapargumentstring{#4}% -\put(0.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(0.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(1.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(3.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(2.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(7.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(7.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(7.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(7.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(6.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(6.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(6.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(6.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(4.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(4.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(4.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(4.5,1.5){\makebox(0,0){\askmapgetchar}}% -\put(5.5,3.5){\makebox(0,0){\askmapgetchar}}% -\put(5.5,2.5){\makebox(0,0){\askmapgetchar}}% -\put(5.5,0.5){\makebox(0,0){\askmapgetchar}}% -\put(5.5,1.5){\makebox(0,0){\askmapgetchar}}% +\put(0.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(0.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(1.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(3.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(2.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(7.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(7.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(7.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(7.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(6.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(6.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(6.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(6.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(4.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(4.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(4.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(4.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(5.5,3.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(5.5,2.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(5.5,0.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% +\put(5.5,1.5){\makebox(0,0){\askmapcontentsize\askmapgetchar}}% \ifaskmap@optb% -\put(-0.6,3.5){\makebox(0.5,0)[r]{\footnotesize{00}}}% -\put(-0.6,2.5){\makebox(0.5,0)[r]{\footnotesize{01}}}% -\put(-0.6,1.5){\makebox(0.5,0)[r]{\footnotesize{11}}}% -\put(-0.6,0.5){\makebox(0.5,0)[r]{\footnotesize{10}}}% -\put(0.5,4.2){\makebox(0,0){\footnotesize{000}}}% -\put(1.5,4.2){\makebox(0,0){\footnotesize{001}}}% -\put(2.5,4.2){\makebox(0,0){\footnotesize{011}}}% -\put(3.5,4.2){\makebox(0,0){\footnotesize{010}}}% -\put(4.5,4.2){\makebox(0,0){\footnotesize{110}}}% -\put(5.5,4.2){\makebox(0,0){\footnotesize{111}}}% -\put(6.5,4.2){\makebox(0,0){\footnotesize{101}}}% -\put(7.5,4.2){\makebox(0,0){\footnotesize{100}}}% +\put(-0.6,3.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 00}}% +\put(-0.6,2.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 01}}% +\put(-0.6,1.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 11}}% +\put(-0.6,0.5){\makebox(0.5,0)[r]{\askmapbitcombinationsize 10}}% +\put(0.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 000}}% +\put(1.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 001}}% +\put(2.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 011}}% +\put(3.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 010}}% +\put(4.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 110}}% +\put(5.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 111}}% +\put(6.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 101}}% +\put(7.5,4.1){\makebox(0,0)[b]{\askmapbitcombinationsize 100}}% \fi% \thicklines% -\put(0,4){\line(-1,1){0.70}}% +\put(0,4){\line(-1,1){\askmapvarsep}}% \thinlines% #5% \end{picture}% +\ifaskmap@debug}\else\fi% }% }% end \askmapv -- cgit v1.2.3