summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/flags.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-02-21 23:54:19 +0000
committerKarl Berry <karl@freefriends.org>2007-02-21 23:54:19 +0000
commit038a5dc7d31591d03bb7dd2bee2ca5e89f0ff26a (patch)
tree0206f1532eaf8dea0c935a4e7b66a593f15ac1c4 /Master/texmf-dist/tex/latex/oberdiek/flags.sty
parentd13b89bc23ac3bf2bce2bd534b97ed97e0b091c1 (diff)
oberdiek bookmark0.2, hypcap1.6 (20feb07)
git-svn-id: svn://tug.org/texlive/trunk@3977 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/flags.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/flags.sty115
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'.