summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/slidenotes/obox.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/slidenotes/obox.sty')
-rw-r--r--macros/latex/contrib/slidenotes/obox.sty67
1 files changed, 67 insertions, 0 deletions
diff --git a/macros/latex/contrib/slidenotes/obox.sty b/macros/latex/contrib/slidenotes/obox.sty
new file mode 100644
index 0000000000..4959ef64a8
--- /dev/null
+++ b/macros/latex/contrib/slidenotes/obox.sty
@@ -0,0 +1,67 @@
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{obox}[1995/09/04 vs 1.2]
+%-------------------------------------------------------------------------------
+% produce from #1{dimen} or #1(number) -> #1{number\unitlength}
+\def\@pickonedim#1{\@ifnextchar(%)
+ {\@@pickonedim{#1}}{#1}}
+\def\@@pickonedim#1(#2){#1{#2\unitlength}}
+%-------------------------------------------------------------------------------
+% redefinition of oval uit picture omgeving
+% \oval[position](width,height)[optional lrtb=parts]
+% position where placed:
+% o midpoint (default as in LaTeX picture environment)
+% t top of oval at baseline
+% b bottom of oval at baseline
+% c halfheight of oval at baseline
+% n neutral placement
+\gdef\oval{\@ifnextchar[%]
+ {\@oval}{\@oval[o]}}
+\gdef\@oval[#1](#2,#3){\@ifnextchar[%]
+ {\@@oval[#1](#2,#3)}{\@@oval[#1](#2,#3)[]}}
+\gdef\@@oval[#1](#2,#3)[#4]{\begingroup\boxmaxdepth \maxdimen
+ \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+ \@tfor\reserved@a :=#4\do{\csname @ov\reserved@a false\endcsname}%
+ \@ovxx #2\unitlength \@ovyy #3\unitlength
+ \@tempdimb \ifdim\the@ovalradius=\z@
+ \ifdim \@ovyy >\@ovxx \@ovxx \else \@ovyy \fi
+ \else \the@ovalradius \fi
+ \advance \@tempdimb -\tw@\p@
+ \@getcirc \@tempdimb
+ \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+ \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+ \@circlefnt \setbox\@tempboxa
+ \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+ \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
+ \if@ovt \@ovhorz \kern -\@ovxx \fi
+ \if@ovb \raise \@ovyy \@ovhorz \fi}%
+ \advance\@ovdx\@ovro \advance\@ovdy\@ovro
+ \if#1t\@ovdx\z@\@ovdy\tw@\@ovdy\fi
+ \if#1b\@ovdx\z@\@ovdy\z@\fi
+ \if#1c\@ovdx\z@\fi
+ \if#1n\@ovdx\z@\@ovdy\dp\@tempboxa\fi
+ \ht\@tempboxa\z@ \dp\@tempboxa\z@
+ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+ \endgroup}
+%-------------------------------------------------------------------------------
+% \obox[optional ovalradius(length)][optional linethickness-cmd]{box-contents}
+\def\obox{\@ifnextchar[%]
+ {\@obox}{\@@obox[][]}}
+\def\@obox[#1]{\@ifnextchar[%]
+ {\@@obox[#1]}{\@@obox[#1][]}}
+\def\@@obox[#1][#2]#3{%
+ \begingroup
+ \@ifemptyarg{#1}{}{\ovalradius{#1}}%
+ \setbox\z@\hbox{\advance\fboxsep\@wholewidth \fboxrule\z@ \fbox{#3}}%
+ \dimen@\ht\z@ \advance\dimen@\dp\z@ #2\let\unitlength\@empty
+ \leavevmode\oval[n](\wd\z@,\dimen@)\box\z@
+ \endgroup}
+%-------------------------------------------------------------------------------
+\def\ovalradius{\@pickonedim\@ovalradius}
+\def\@ovalradius#1{\@tempdima#1\relax
+ \edef\the@ovalradius{\number\@tempdima sp}\ignorespaces}
+\def\ovalfraction#1{%
+ \edef\the@ovalradius{#1\noexpand\@tempdimb}\ignorespaces}
+\ovalradius{0pt} % initialisation
+%-------------------------------------------------------------------------------
+\endinput