summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fp/fp.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/fp/fp.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/fp/fp.tex')
-rw-r--r--macros/latex/contrib/fp/fp.tex49
1 files changed, 49 insertions, 0 deletions
diff --git a/macros/latex/contrib/fp/fp.tex b/macros/latex/contrib/fp/fp.tex
new file mode 100644
index 0000000000..39f62d60b3
--- /dev/null
+++ b/macros/latex/contrib/fp/fp.tex
@@ -0,0 +1,49 @@
+%load the fp-package for TeX
+\chardef\FPcatamp=\the\catcode`\@
+\catcode`@=11
+
+\def\NeedsTeXFormat#1{}
+\def\ProvidesPackage#1[#2]{}
+\def\DeclareOption#1#2{}
+\let\ProcessOptions\relax
+
+%the for-loop of latex2e
+\def\@nnil{\@nil}
+\def\@empty{}
+\def\@fornoop#1\@@#2#3{}
+
+\def\@for#1:=#2\do#3{\edef\@fortmp{#2}\ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+
+\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}
+
+\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \let\@nextwhile\@fornoop \else
+ #4\relax\let\@nextwhile\@iforloop\fi\@nextwhile#2\@@#3{#4}}
+
+\edef\FP@loadedfiles{fp.tex}
+
+\def\FP@alreadyloaded#1{}
+\def\FP@notyetloaded#1{
+ \edef\FP@loadedfiles{\FP@loadedfiles,#1}
+ \input #1.sty
+}
+\def\RequirePackage#1{%
+ \let\FP@in@\FP@notyetloaded%
+ \edef\@tempb{#1}%
+ \@for\@tempa:=\FP@loadedfiles\do{%
+ \ifx\@tempa\@tempb%
+ \let\FP@in@\FP@alreadyloaded%
+ \fi%
+ }%
+ \FP@in@{#1}%
+}
+
+\def\loop#1\repeat{\def\iterate{#1\relax\expandafter\iterate\fi}%
+ \iterate \let\iterate\relax}
+\let\repeat=\fi
+
+\RequirePackage{fp}
+
+\catcode`\@=\FPcatamp