summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/thmbox
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-03-23 22:38:22 +0000
committerKarl Berry <karl@freefriends.org>2009-03-23 22:38:22 +0000
commit65f1c49e016a267ad2fdabc1e07ad38a8c6e10a5 (patch)
tree0917750eef4d18a989fbe3dec80dd9e240f50e44 /Master/texmf-dist/tex/latex/thmbox
parentda44abf54037ab8597fd36e09b8dc5a255acae4d (diff)
add 2005 latex package thmbox (Herbert Voss mail, 23 Mar 2009 15:06:01)
git-svn-id: svn://tug.org/texlive/trunk@12501 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/thmbox')
-rw-r--r--Master/texmf-dist/tex/latex/thmbox/thmbox.sty236
1 files changed, 236 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/thmbox/thmbox.sty b/Master/texmf-dist/tex/latex/thmbox/thmbox.sty
new file mode 100644
index 00000000000..9535863f54c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/thmbox/thmbox.sty
@@ -0,0 +1,236 @@
+%%
+%% This is file `thmbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% thmbox.dtx
+%%
+%% This is the thmbox package.
+%% (c) Emmanuel Beffara, 2002--2005 (LPPL)
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{thmbox}[2005/04/24 v2.0 fancy theorem outlining]
+\RequirePackage{keyval}
+\newcommand\thmboxoptions{\setkeys{thmbox}}
+\let\thmbox@style=M
+\define@key{thmbox}{style}{\let\thmbox@style=#1}
+\define@key{thmbox}{S}[]{\let\thmbox@style=S}
+\define@key{thmbox}{M}[]{\let\thmbox@style=M}
+\define@key{thmbox}{L}[]{\let\thmbox@style=L}
+\newdimen\thmbox@leftmargin \thmbox@leftmargin=\parindent
+\newdimen\thmbox@rightmargin \thmbox@rightmargin=0pt
+\newdimen\thmbox@hskip \thmbox@hskip=.4em
+\newdimen\thmbox@vskip \thmbox@vskip=.4em
+\newdimen\thmbox@thickness \thmbox@thickness=.6pt
+\define@key{thmbox}{leftmargin}{\thmbox@leftmargin=#1\relax}
+\define@key{thmbox}{rightmargin}{\thmbox@rightmargin=#1\relax}
+\define@key{thmbox}{hskip}{\thmbox@hskip=#1\relax}
+\define@key{thmbox}{vskip}{\thmbox@vskip=#1\relax}
+\define@key{thmbox}{thickness}{\thmbox@thickness=#1\relax}
+\newif\ifthmbox@cut
+\thmbox@cuttrue
+\define@key{thmbox}{cut}[true]{%
+ \expandafter\let\expandafter\ifthmbox@cut\csname if#1\endcsname}
+\define@key{thmbox}{nocut}[]{\thmbox@cutfalse}
+\DeclareOption{cut}{\thmbox@cuttrue}
+\DeclareOption{nocut}{\thmbox@cutfalse}
+\newif\ifthmbox@underline
+\thmbox@underlinetrue
+\define@key{thmbox}{underline}[true]{%
+ \expandafter\let\expandafter\ifthmbox@underline\csname if#1\endcsname}
+\define@key{thmbox}{nounderline}[]{\thmbox@underlinefalse}
+\DeclareOption{underline}{\thmbox@underlinetrue}
+\DeclareOption{nounderline}{\thmbox@underlinefalse}
+\newcommand\thmbox@headstyle[2]{\bfseries\boldmath#1 #2}
+\define@key{thmbox}{headstyle}{\def\thmbox@headstyle##1##2{#1}}
+\newcommand\thmbox@titlestyle[1]{ (\textit{#1\/})}
+\define@key{thmbox}{titlestyle}{\def\thmbox@titlestyle##1{#1}}
+\newcommand\thmbox@bodystyle{\slshape\noindent}
+\define@key{thmbox}{bodystyle}{\def\thmbox@bodystyle{#1}}
+\newif\ifthmbox@newtheorem
+\thmbox@newtheoremtrue
+\DeclareOption{nothm}{\thmbox@newtheoremfalse}
+\DeclareOption*{\expandafter\thmboxoptions\expandafter{\CurrentOption}}
+\ProcessOptions\relax
+\newbox\thmbox@box
+\newbox\thmbox@box@
+\newdimen\thmbox@dim
+\def\thmbox@put#1{
+ \vskip\z@%
+ \noindent%
+ \hbox{%
+ {\dimen0=\thmbox@leftmargin%
+ \advance\dimen0-\thmbox@hskip%
+ \advance\dimen0-\thmbox@thickness%
+ \hskip\dimen0}%
+ \vrule width \thmbox@thickness%
+ \hskip\thmbox@hskip%
+ \box#1%
+ \ifx\thmbox@style L%
+ \hskip\thmbox@hskip%
+ \vrule width \thmbox@thickness%
+ \fi}%
+ \par\nobreak}
+\def\thmbox@start{%
+ \ifthmbox@cut%
+ \ifdim\pagetotal>\vsize%
+ \thmbox@dim=2\vsize%
+ \else%
+ \thmbox@dim=\vsize%
+ \fi%
+ \advance\thmbox@dim -\pagetotal%
+ \ifdim\thmbox@dim>\ht\thmbox@box%
+ \thmbox@put\thmbox@box%
+ \else%
+ \setbox\thmbox@box@=\vsplit\thmbox@box to \thmbox@dim%
+ \thmbox@put\thmbox@box@%
+ \thmbox@page%
+ \fi%
+ \else%
+ \thmbox@put\thmbox@box%
+ \fi}
+\def\thmbox@page{%
+ \ifvoid\thmbox@box%
+ \else%
+ \eject%
+ \ifdim\vsize<\ht\thmbox@box%
+ \setbox\thmbox@box@=\vsplit\thmbox@box to \vsize%
+ \thmbox@put\thmbox@box@%
+ \thmbox@page%
+ \else%
+ \thmbox@put\thmbox@box%
+ \fi%
+ \fi}
+\def\thmbox@head#1{%
+ \par\noindent\vbox{%
+ \setbox\thmbox@box@=\hbox{%
+ \vrule width 0mm height 0mm depth \thmbox@vskip%
+ #1}%
+ \copy\thmbox@box@%
+ \ifthmbox@underline%
+ \hrule width \wd\thmbox@box@ height \thmbox@thickness%
+ \fi}%
+ \hrule height 0mm\relax}
+\def\thmbox@tail{%
+ \hrule height 0mm%
+ \ifx\thmbox@style M%
+ \thmbox@dim=1cm%
+ \else\ifx\thmbox@style L%
+ \thmbox@dim=\hsize%
+ \advance\thmbox@dim-\thmbox@leftmargin%
+ \advance\thmbox@dim-\thmbox@rightmargin%
+ \advance\thmbox@dim2\thmbox@hskip%
+ \advance\thmbox@dim2\thmbox@thickness%
+ \fi\fi%
+ \noindent%
+ {\dimen0=\thmbox@leftmargin%
+ \advance\dimen0-\thmbox@hskip%
+ \advance\dimen0-\thmbox@thickness%
+ \hskip\dimen0}%
+ \vrule width \thmbox@dim height \thmbox@thickness%
+ \par}
+\newenvironment{thmbox}[2][]{%
+ \parskip\z@%
+ \setkeys{thmbox}{#1}%
+ \ifx\thmbox@style S\else\ifx\thmbox@style M\else\ifx\thmbox@style L\else%
+ \PackageWarning{thmbox}{\thmbox@style\ is not a valid style for
+ \string\thmbox, using M}%
+ \let\thmbox@style=M%
+ \fi\fi\fi%
+ \thmbox@head{{#2}}\nobreak\relax%
+ \thmbox@dim=\hsize%
+ \advance\thmbox@dim-\leftskip%
+ \advance\thmbox@dim-\rightskip%
+ \setbox\thmbox@box=\vbox\bgroup%
+ \hsize=\thmbox@dim%
+ \advance\hsize -\thmbox@leftmargin%
+ \advance\hsize -\thmbox@rightmargin%
+ \textwidth=\hsize%
+ \linewidth=\hsize%
+ \vskip\thmbox@vskip%
+ \begingroup}{\endgroup%
+ \vskip\thmbox@vskip%
+ \egroup%
+ \thmbox@start%
+ \ifx\thmbox@style S\else\thmbox@tail\fi%
+ \@endparenv}
+\newenvironment{leftbar}[1][]{%
+ \setkeys{thmbox}{#1}%
+ \par\vskip\thmbox@vskip%
+ \setbox\thmbox@box=\vbox\bgroup%
+ \hsize=\textwidth%
+ \advance\hsize -\thmbox@leftmargin%
+ \advance\hsize -\thmbox@rightmargin%
+ \begingroup}{\endgroup%
+ \vskip\thmbox@vskip%
+ \egroup%
+ \thmbox@start%
+ \vskip\thmbox@vskip\par}
+\def\newboxtheorem{%
+ \@ifnextchar[{\thmbox@newA}{\thmbox@newA[]}}%
+\def\thmbox@newA[#1]#2{%
+ \def\thmbox@temp##1{#1}%
+ \@ifnextchar[{\thmbox@newC{#2}}{\thmbox@newD{#2}}}
+\def\thmbox@newC#1[#2]#3{%
+ \expandafter\thmbox@new\expandafter{\thmbox@temp{####1}}{#1}{#3}{#2}}
+\def\thmbox@newD#1#2{%
+ \@ifnextchar[{\thmbox@newE{#1}{#2}}{%
+ \newcounter{#1}%
+ \expandafter\thmbox@new\expandafter{\thmbox@temp{####1}}{#1}{#2}{#1}}}
+\def\thmbox@newE#1#2[#3]{%
+ \newcounter{#1}[#3]%
+ \expandafter\def\csname the#1\endcsname{%
+ \csname the#3\endcsname.\arabic{#1}}
+ \expandafter\thmbox@new\expandafter{\thmbox@temp{####1}}{#1}{#2}{#1}}
+\def\thmbox@new#1#2#3#4{%
+ \expandafter\def\csname#2\endcsname{%
+ \setkeys{thmbox}{#1}%
+ \@ifnextchar[{\thmbox@beginA{#3}{#4}}{%
+ \thmbox@begin{#3}{#4}{}}}%
+ \expandafter\def\csname end#2\endcsname{%
+ \endthmbox\smallbreak}}
+\def\thmbox@beginA#1#2[#3]{%
+ \thmbox@begin{#1}{#2}{\thmbox@titlestyle{#3}}}
+\def\thmbox@begin#1#2#3{%
+ \medbreak%
+ \refstepcounter{#2}%
+ \thmbox{\thmbox@headstyle{#1}{\csname the#2\endcsname}#3}%
+ \thmbox@bodystyle\ignorespaces}
+\ifthmbox@newtheorem
+\let\newtheorem\newboxtheorem
+\fi
+\def\example{}
+\@ifundefined{examplename}{\def\examplename{Example}}{}
+\renewenvironment{example}[1][\examplename]{%
+ \par\smallbreak\small%
+ \list{\hspace\labelsep\textbf{#1\,:}}{%
+ \leftmargin=\parindent%
+ \labelwidth=\parindent}%
+ \item\relax}{%
+ \endlist}
+\def\proof{}
+\@ifundefined{proofname}{\def\proofname{Proof}}{}
+\renewenvironment{proof}[1][]{%
+ \small%
+ \list{\hspace\labelsep\textbf{\proofname\ #1\unskip\,:}}{%
+ \topsep=\smallskipamount%
+ \partopsep=0pt%
+ \leftmargin=\parindent%
+ \rightmargin=\parindent%
+ \listparindent=\parindent%
+ \labelwidth=\parindent}%
+ \item\relax\ignorespaces}%
+ {\parskip\z@%
+ \par\noindent%
+ \setbox\thmbox@box=\hbox{%
+ \kern .5em\vbox{%
+ \hrule width .7em height .7em
+ \vskip\baselineskip}}%
+ \wd\thmbox@box=0mm%
+ \ht\thmbox@box=0mm%
+ \hfill\box\thmbox@box%
+ \endlist\par}
+\endinput
+%%
+%% End of file `thmbox.sty'.