CTAN Comprehensive TeX Archive Network

Directory macros/latex/contrib/boolexpr

README
% boolexpr : Purely expandable boolean expressions and switch (eTeX - v3.1 2009/09/30)
%
% The \boolexpr macro evaluate boolean expressions in a *purely expandable way*.
%
% \boolexpr{ A \OR B \AND C } expands to 0 if the logical expression is TRUE.
%
% A, B, C may be :
%     - numeric expressions such as:  x = y,  x <> y,  x > y  or:  x < y
%     - boolean switches:             \iftrue 0\else 1\fi
%     - conditionals:                 \ifcsname whatsit\endcsname 0\else 1\fi
%     - another \boolexpr:            \boolexpr{ D \OR E \AND F }
%
% \boolexpr may be used with \ifcase:
%     \ifcase\boolexpr{ A \OR B \AND C }
%           What to do if true
%     \else
%           What to do if false
%     \fi
%
% \switch remains *purely expandable* (it may be used inside \csname...\endcsname f.ex.)
%
% \switch
% \case{ boolean expression} to do in first case
% \case{ boolean expression} to do in second case
% \otherwise to do if no case were true
% \endswitch
%
% \switch may have an optional argument to repeat in each \case evaluation, e.g. :
%
% \switch[\value{myCounter}]
%      %|--|        --------------------------------------------------->   |--|
% \case{>=12}It's $>=12$% => \case will expand to : \case{\value{myCounter}>=12}
% \case{=1}It's $1$%      => \case will expand to : \case{\value{myCounter}=1}
% \otherwise ...
% \endswitch
%
% or : *(NB the double curly braces)*
% \switch[\pdfstrcmp{dummy}}]
%      %|-----|   ------------------------------------------------>  |-----|
% \case{{first}}It's "FiRsT"% => \case{\lowercase{\ifstrequal{dummy}}{first}}
% \case{{second}}It"s "SeCoNd"%=> \case{\lowercase{\ifstrequal{dummy}}{second}
% \endswitch
%
% *********************************************************************************
% This work consists of the main source file boolexpr.dtx and the derived
% files :  boolexpr.sty, boolexpr.pdf, boolexpr.ins
%
% Some examples are included in the documentation: it is preferable (albeit
% not necessary) to install boolexpr.sty before compiling the documentation.
%
% Unpacking:
%    (a) If boolexpr.ins is present:
%           etex boolexpr.ins
%    (b) Without boolexpr.ins:
%           etex boolexpr.dtx
%    (c) If you insist on using LaTeX
%           latex \let\install=y\input{boolexpr.dtx}
%        (quote the arguments according to the demands of your shell)
%
% Documentation:
%           (pdf)latex boolexpr.dtx
%           makeindex -s gind.ist boolexpr.idx
%
% F Chervet - Jul-Sep 2009

Download the contents of this package in one zip archive (161.6k).

boolexpr – A boolean expression evaluator and a switch command

The \boolexpr macro evaluates boolean expressions in a purely expandable way.

\boolexpr{ A \OR B \AND C } expands to 0 if the logical expression is TRUE. A, B, C may be: numeric expressions such as: x=y, x<>y, x>y or x<y; – boolean switches: \iftrue 0\else 1\fi;
– conditionals: \ifcsname whatsit\endcsname 0\else 1\fi;
– another \boolexpr: \boolexpr{ D \OR E \AND F }:

\boolexpr may be used with \ifcase:
  \ifcase\boolexpr{ A \OR B \AND C }
    What to do if true
  \else
    What to do if false
  \fi

The \switch command (which is also expandable) has the form:
\switch
\case{<boolean expression>} ...
\case{<boolean expression>} ...
... \otherwise ...
\endswitch

Packageboolexpr
Version3.14
LicensesThe Project Public License
Copyright2009 Florent Chervet
MaintainerFlorent Chervet
Contained inTeX Live as boolexpr
MiKTeX as boolexpr
TopicsMacro support
...
Guest Book Sitemap Contact Contact Author