From fca59bea770346cf1c1f9b0e00cb48a61b44a8f3 Mon Sep 17 00:00:00 2001
From: Harald Welte <laforge@gnumonks.org>
Date: Sun, 25 Oct 2015 21:00:20 +0100
Subject: import of old now defunct presentation slides svn repo

---
 .../OLS2004-proceedings/TEMPLATES/eclepsf.sty      | 278 +++++++++++++++++++++
 1 file changed, 278 insertions(+)
 create mode 100644 2004/netfilter-failover-ols2004/OLS2004-proceedings/TEMPLATES/eclepsf.sty

(limited to '2004/netfilter-failover-ols2004/OLS2004-proceedings/TEMPLATES/eclepsf.sty')

diff --git a/2004/netfilter-failover-ols2004/OLS2004-proceedings/TEMPLATES/eclepsf.sty b/2004/netfilter-failover-ols2004/OLS2004-proceedings/TEMPLATES/eclepsf.sty
new file mode 100644
index 0000000..3f41d65
--- /dev/null
+++ b/2004/netfilter-failover-ols2004/OLS2004-proceedings/TEMPLATES/eclepsf.sty
@@ -0,0 +1,278 @@
+% EPSF macros by Kazuhiro Kazama and modified by Hideki ISOZAKI
+%   based on Trevor J. Darrell's psfig.tex
+%
+% All software, documentation, and related files in this distribution of
+% psfig/tex are Copyright (c) 1987 Trevor J. Darrell
+%
+% Permission is granted for use and non-profit distribution of psfig/tex 
+% providing that this notice be clearly maintained, but the right to
+% distribute any portion of psfig/tex for profit or as part of any commercial
+% product is specifically reserved for the author.
+\endlinechar=-1
+
+\typeout{EPSF macro package for LaTeX. version 1.5 - Released May 11, 1992}
+\newcount\@arga
+\newcount\@argb
+\newcount\@argc
+\newcount\@ctmpa
+\newcount\@ctmpb
+\newcount\@ctmpc
+\newcount\@ctmpd
+\newcount\@ctmpe
+\newdimen\@darg
+\newdimen\@bblen
+\newif\ifepsfdraft
+\epsfdraftfalse
+
+\def\@setpsfile#1{
+		\def\@psfile{#1}
+                \bb@search
+}
+\def\@setpsheight#1{
+		\@darg=#1\relax
+   		\edef\@psheight{\number\@darg}
+}
+\def\@setpswidth#1{
+		\@darg=#1\relax
+   		\edef\@pswidth{\number\@darg}
+}
+\def\@setpsscale#1{
+		\def\@pshscale{#1}
+		\def\@psvscale{#1}
+}
+\def\@setpshscale#1{
+		\def\@pshscale{#1}
+}
+
+\def\@setpsvscale#1{
+		\def\@psvscale{#1}
+}
+
+
+
+%
+% Go through the options setting things up.
+%
+\def\parse@ps@parms#1{
+        \def\@bbw{0}\def\@bbh{0}
+	\def\@pshscale{1}\def\@psvscale{1}
+        \def\@psheight{0}\def\@pswidth{0}% in sp
+        \@for\@epsfopt:=#1\do
+           {\expandafter\@setparms\@epsfopt,}}
+
+\def\@setparms#1=#2,{\@nameuse{@setps#1}{#2}}
+
+%
+% Compute %%BoundingBox height and width
+%
+\newif\ifcontinue
+
+\catcode`\%=12\relax
+
+\newread\ps@stream
+\def\bb@search{\continuetrue
+        \typeout{analyzing \@psfile}
+	\openin\ps@stream=\@psfile
+	\catcode`\%=12\relax
+	\ifeof\ps@stream\errmessage{epsf: \@psfile\space not found}\fi
+	\loop
+		\read\ps@stream to \epsf@line
+                \expandafter\epsf@getbb\epsf@line%%BoundingBox:\end@getbb
+		\ifnum\@bbw=\z@\else \continuefalse\fi
+                \ifeof\ps@stream \continuefalse \fi
+	\ifcontinue \repeat
+        \closein\ps@stream
+	\catcode`\%=14
+}	
+
+\def\epsf@getbb #1%%BoundingBox:#2\end@getbb{
+   \def\epsf@tmp{#1}\def\epsf@atend{ (atend)}
+   \ifx\epsf@tmp\empty
+     \edef\epsf@tmp{#2}
+     \ifx\epsf@tmp\epsf@atend
+       \errmessage{%%BoundingBox: (atend)}
+     \else
+       \epsf@bbarg #2 0 0 0 0 0 %%BoundingBox\end@getbb
+     \fi
+   \fi}
+
+\def\epsf@bbarg #1 #2 #3 #4 #5%%BoundingBox#6\end@getbb{
+  \def\epsf@tmp{#1}
+  \ifx\epsf@tmp\empty
+    \@darg=#4bp \advance\@darg-#2bp \edef\@bbw{\number\@darg}
+    \@darg=#5bp \advance\@darg-#3bp \edef\@bbh{\number\@darg}
+  \else
+    \@darg=#3bp \advance\@darg-#1bp \edef\@bbw{\number\@darg}
+    \@darg=#4bp \advance\@darg-#2bp \edef\@bbh{\number\@darg}
+  \fi
+  {\@arga=\@bbw \divide\@arga by 186468\relax
+   \@argb=\@bbh \divide\@argb by 186468\relax
+   \message{original: \the\@arga mm x \the\@argb mm}}
+}
+
+\catcode`\%=14\relax
+
+
+% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds,
+%	then leaves the result in @result
+%
+
+\def\in@hundreds#1#2#3{\@argb=#2 \@argc=#3
+		     \@ctmpa=\@argb	% @ctmpa is first digit #2/#3
+		     \divide\@ctmpa by \@argc
+		     \@ctmpb=\@ctmpa
+		     \multiply\@ctmpb by \@argc
+		     \advance\@argb by -\@ctmpb
+		     \multiply\@argb by 10
+		     \@ctmpb=\@argb	% @ctmpb is second digit of #2/#3
+		     \divide\@ctmpb by \@argc
+		     \@ctmpc=\@ctmpb
+		     \multiply\@ctmpc by \@argc
+		     \advance\@argb by -\@ctmpc
+		     \multiply\@argb by 10
+		     \@ctmpc=\@argb	% @ctmpc is the third digit
+		     \divide\@ctmpc by \@argc
+		     \@arga=#1\@ctmpe=0
+		     \@ctmpd=\@arga
+			\multiply\@ctmpd by \@ctmpa
+		 	\advance\@ctmpe by \@ctmpd
+		     \@ctmpd=\@arga
+			\divide\@ctmpd by 10
+			\multiply\@ctmpd by \@ctmpb
+			\advance\@ctmpe by \@ctmpd
+			%
+		     \@ctmpd=\@arga
+			\divide\@ctmpd by 100
+			\multiply\@ctmpd by \@ctmpc
+			\advance\@ctmpe by \@ctmpd
+			%
+		     \edef\@result{\number\@ctmpe}
+}
+
+\def\compute@wfromh{
+                \ifnum\@psheight>\z@
+		  \in@hundreds{\@psheight}{\@bbw}{\@bbh}
+                  \edef\@pswidth{\@result}
+                \else
+		  \in@hundreds{-\@psheight}{\@bbw}{\@bbh}
+                  \edef\@pswidth{\number-\@result}
+                \fi
+}
+\def\compute@hfromw{
+		% computing : height = width * (bbh / bbw)
+                \ifnum\@pswidth>\z@
+		  \in@hundreds{\@pswidth}{\@bbh}{\@bbw}
+                  \edef\@psheight{\@result}
+                \else
+                  \in@hundreds{-\@pswidth}{\@bbh}{\@bbw}
+                  \edef\@psheight{\number-\@result}
+                \fi
+}
+\def\compute@handw{
+	\ifnum\@psheight=\z@ 
+		\ifnum\@pswidth=\z@ 
+                        \@darg=\@bbh sp \@darg=\@psvscale\@darg
+		        \edef\@psheight{\number\@darg}
+                        \@darg=\@bbw sp \@darg=\@pshscale\@darg
+                        \edef\@pswidth{\number\@darg}
+                \else
+			\compute@hfromw
+		\fi
+	\else 
+		\ifnum\@pswidth=\z@ 
+			\compute@wfromh
+		\fi
+	\fi
+}
+{\catcode`\p=12\catcode`\t=12
+\gdef\remove@dim@frac#1.#2pt{#1}}
+
+%
+% \epsfile
+% usage : \epsfile{file=, height=, width=}
+% usage : \epsfile{file=, scale=}
+% usage : \epsfile{file=, vscale=, hscale=}
+%
+\def\epsfile{\@ifnextchar[{\@epsfile}{\@epsfile[]}}
+\def\@epsfile[#1]#2{{
+  \parse@ps@parms{#2}
+  \compute@handw
+  {\@arga=\@pswidth \divide\@arga by 186468\relax
+    \@argb=\@psheight \divide\@argb by 186468\relax
+    \message{becomes \the\@arga mm x \the\@argb mm}}
+  \@arga=\@psheight  \divide\@arga by 65782\relax
+  \edef\@psvsize{\number\@arga}
+  \@arga=\@pswidth   \divide\@arga by 65782\relax
+  \edef\@pshsize{\number\@arga}
+  \leavevmode
+  \ifnum\@pswidth>\z@ 
+    \hbox to \@pswidth sp\bgroup
+  \else
+    \hbox to -\@pswidth sp\bgroup
+    \hfill
+  \fi
+    \ifnum\@psheight>\z@
+      \vrule\@width\z@\@height\@psheight sp \@depth\z@
+      \raise\@psheight sp 
+    \else
+      \vrule\@width\z@\@height-\@psheight sp \@depth\z@
+    \fi
+    \hbox to\z@\bgroup
+    \ifnum\@psheight=\z@
+       \ifnum\@pswidth=\z@
+         \edef\epsf@tmpa{\@pshscale,\@psvscale}
+         \edef\epsf@tmp{1,1}
+         \ifx\epsf@tmpa\epsf@tmp
+           \special{epsfile=\@psfile \space}
+         \else
+           \special{epsfile=\@psfile \space
+              vscale=\@psvscale \space hscale=\@pshscale \space}
+         \fi
+       \else
+         \special{epsfile=\@psfile \space hsize=\@pshsize \space}
+       \fi
+    \else
+       \ifnum\@pswidth=\z@
+         \special{epsfile=\@psfile \space vsize=\@psvsize \space}
+       \else
+         \special{epsfile=\@psfile \space 
+           hsize=\@pshsize \space vsize=\@psvsize \space}
+       \fi
+    \fi
+    \egroup
+    \ifnum\@psheight>\z@
+      \vrule\@width\z@\@height\@psheight sp \@depth\z@
+    \else
+      \vrule\@width\z@\@height-\@psheight sp \@depth\z@
+      \raise-\@psheight sp 
+    \fi
+    \hbox to\z@{#1}\hfil
+  \egroup
+}}
+
+% You can put anything on the original picture.
+% \epsfat puts it on the correct position
+%             even if you change the picture size.
+
+\def\epsfat(#1,#2)#3{\@killglue{
+    \@darg=#1 \edef\epsf@atx{\number\@darg}
+    \ifnum\@pswidth>\z@
+      \in@hundreds{\epsf@atx}{\@pswidth}{\@bbw}
+      \edef\epsf@atx{\@result}
+    \else
+      \in@hundreds{\epsf@atx}{-\@pswidth}{\@bbw}
+      \edef\epsf@atx{\number-\@result}
+    \fi
+    \@darg=#2 \edef\epsf@aty{\number\@darg}
+    \ifnum\@psheight>\z@
+      \in@hundreds{\epsf@aty}{\@psheight}{\@bbh}
+      \edef\epsf@aty{\@result}
+    \else
+      \in@hundreds{\epsf@aty}{-\@psheight}{\@bbh}
+      \edef\epsf@aty{\number-\@result}
+    \fi
+    \smash{\raise\epsf@aty sp
+    \hbox to \z@{\kern\epsf@atx sp\relax#3\hss}}}\ignorespaces}
+
+\endlinechar=13\relax
+\endinput
-- 
cgit v1.2.3

