diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/flags.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/oberdiek/flags.sty | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/flags.sty b/Master/texmf-dist/tex/latex/oberdiek/flags.sty new file mode 100644 index 00000000000..d27d287ff7d --- /dev/null +++ b/Master/texmf-dist/tex/latex/oberdiek/flags.sty @@ -0,0 +1,115 @@ +%% +%% This is file `flags.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% flags.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% This work consists of the main source file flags.dtx +%% and the derived files +%% flags.sty, flags.pdf, flags.ins, flags.drv. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{flags}% + [2007/02/18 v0.1 Flag setting in bit fields (HO)] +\newcommand*{\resetflags}[1]{% + \expandafter\let\csname flags@#1\endcsname\@empty +} +\newcommand*{\printflags}[1]{% + \expandafter\@printflags\csname flags@#1\endcsname +} +\def\@printflags#1{% + \expandafter\@firstofone\expandafter{% + \number\numexpr + \ifx#1\@empty + 0% + \else + \expandafter\@@printflags#1% + \fi + }% +} +\def\@@printflags#1#2\fi{% + \fi + #1% + \ifx\\#2\\% + \else + +2*\numexpr\expandafter\@@printflags#2% + \fi +} +\newcommand*{\setflag}[2]{% + \expandafter\@setflag\csname flags@#1\expandafter\endcsname + \expandafter{\romannumeral\number\numexpr#2-1\relax000}% +} +\def\@setflag#1#2{% + \edef#1{% + \expandafter\@@setflag\expandafter{#1}{#2}% + }% +} +\def\@@setflag#1#2{% + \ifx\\#1\\% + \FLAGS@zero#2\relax + 1% + \else + \ifx\\#2\\% + 1\@gobble#1% + \else + \@car#1\@nil + \expandafter\@@@setflag\expandafter{\@gobble#2}{#1}% + \fi + \fi +} +\def\@@@setflag#1#2\fi\fi{% + \fi\fi + \expandafter\@@setflag\expandafter{\@cdr#2\@nil}{#1}% +} +\newcommand*{\clearflag}[2]{% + \expandafter\@clearflag\csname flags@#1\expandafter\endcsname + \expandafter{\romannumeral\number\numexpr#2-1\relax000}% +} +\def\@clearflag#1#2{% + \edef#1{% + \expandafter\@@clearflag\expandafter{#1}{#2}% + }% +} +\def\@@clearflag#1#2{% + \ifx\\#1\\% + \else + \ifx\\#2\\% + 0\@gobble#1% + \else + \@car#1\@nil + \expandafter\@@@clearflag\expandafter{\@gobble#2}{#1}% + \fi + \fi +} +\def\@@@clearflag#1#2\fi\fi{% + \fi\fi + \expandafter\@@clearflag\expandafter{\@cdr#2\@nil}{#1}% +} +\def\FLAGS@zero#1{% + \ifx#1\relax + \else + 0% + \expandafter\FLAGS@zero + \fi +} +\endinput +%% +%% End of file `flags.sty'. |