%% %% This is file `niceframe.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% niceframe.dtx (with options: `package') %% %% This file is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %% %% 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'. %% %% The Current Maintainer of this work is Marcus Ohlhaut. %% %% This work consists of the files niceframe.dtx and niceframe.ins %% and the derived file niceframe.sty. %% %% Copyright (C) 2009 Marcus Ohlhaut (marcus@ohlhaut.de). %% All rights reserved. %% %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \def\fileversion{1.1c} \def\filedate{2009/31/08} \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesPackage{niceframe}[\filedate\space v\fileversion\space niceframe package (MO)] \typeout{Package: niceframe v\fileversion\space <\filedate> (Marcus Ohlhaut)} \RequirePackage{calc} \font\ding dingbat scaled 1200 \newlength{\nicefr@mechar} \settowidth{\nicefr@mechar}{\ding\char'141} \newlength{\nicefr@mewidth} \setlength{\nicefr@mewidth}{\hsize} \newlength{\nicefr@meheight} \setlength{\nicefr@meheight}{\vsize} \newlength{\@ldhsize} \setlength{\@ldhsize}{\hsize} \newcommand{\upd@ublerulefill}{\xleaders\hbox to 10pt {\hss\ding\char'142 \hss}\hfill} \newcommand{\dnd@ublerulefill}{\xleaders\hbox to 10pt {\hss\ding\char'147 \hss}\hfill} \newcommand{\ltd@ublerulefill}{\xleaders\vbox to 10pt {\vss\hbox{\ding\char'144}\vss}\vfill} \newcommand{\rtd@ublerulefill}{\xleaders\vbox to 10pt {\vss\hbox{\ding\char'145}\vss}\vfill} \newcommand{\niceframe}[2][\textwidth]{{ \setlength{\hsize}{#1 - 2\nicefr@mechar} \setbox0=\vbox{#2} \setlength{\nicefr@meheight}{\ht0 + \dp0} \setlength{\nicefr@mewidth}{\wd0 + 2\nicefr@mechar} \vbox{% \hbox to\nicefr@mewidth{\ding\char'141\upd@ublerulefill\char'143} \hbox to\nicefr@mewidth{\vbox to\nicefr@meheight{\ltd@ublerulefill} \hss\raise\dp0\box0\hss \vbox to\nicefr@meheight{\rtd@ublerulefill}} \hbox to\nicefr@mewidth{\ding\char'146\dnd@ublerulefill\char'150} } }} \newcommand{\curlyframe}[2][\textwidth]{{ \setlength{\hsize}{#1 - 2\nicefr@mechar} \setbox0=\vbox{#2} \setlength{\nicefr@meheight}{\ht0 + \dp0} \setlength{\nicefr@mewidth}{\wd0 + 2\nicefr@mechar} \vbox{% \hbox to\nicefr@mewidth{\ding\char'105\hfill\char'106} \vskip-\baselineskip \hbox to\nicefr@mewidth{\hss\raise\dp0\box0\hss} \vskip-\baselineskip \hbox to\nicefr@mewidth{\ding\char'110\hfill\char'107} } }} \newcommand{\artdecoframe}[2][\textwidth]{{ \setlength{\hsize}{#1 - 2\nicefr@mechar} \setbox0=\vbox{#2} \setlength{\nicefr@meheight}{\ht0 + \dp0} \setlength{\nicefr@mewidth}{\wd0 + 2\nicefr@mechar} \vbox{% \hbox to\nicefr@mewidth{\ding\char'115\hfill\char'114} \hbox to\nicefr@mewidth{\hss\raise\dp0\box0\hss} \hbox to\nicefr@mewidth{\ding\char'112\hfill\char'113} } }} \newcounter{times} \newlength{\fr@mecharTT} \newlength{\fr@mecharLL} \newlength{\fr@mewidth} \newlength{\fr@meheight} \newcommand{\generalframe}[9]{{ \settowidth{\fr@mecharTT}{#2} \settoheight{\fr@mecharLL}{#4} \setcounter{times}{1 * \ratio{\hsize}{\fr@mecharTT}} \setlength{\fr@mewidth}{\fr@mecharTT * \value{times}} \setlength{\hsize}{\fr@mewidth - 2\fr@mecharTT - 2\fboxsep} \setbox0=\vbox{#9} \setlength{\fr@meheight}{\ht0 + \dp0 + 2\fboxsep} \setcounter{times}{1 * \ratio{\fr@meheight}{\fr@mecharLL}} \setcounter{times}{\value{times} + 1} \setlength{\fr@meheight}{\fr@mecharLL * \value{times}} \newcommand{\up@fill}{\leaders\hbox{#2}\hfill} \newcommand{\lt@fill}{\leaders\vbox{\hbox{#4}}\vfill} \newcommand{\rt@fill}{\leaders\vbox{\hbox{#5}}\vfill} \newcommand{\dn@fill}{\leaders\hbox{#7}\hfill} \vbox{% \hbox to\fr@mewidth{#1\up@fill#3}\nointerlineskip \hbox to\fr@mewidth{\vbox to\fr@meheight{\lt@fill}% \hfill% \vbox to\fr@meheight{\vfill\box0\vfill}% \hfill% \vbox to\fr@meheight{\rt@fill}% }\nointerlineskip \hbox to\fr@mewidth{#6\dn@fill#8}\nointerlineskip } }} \endinput %% %% End of file `niceframe.sty'.