| %%% Copyright Ulf A. Lindgren |
| %%% Department of Applied Electronics |
| %%% Chalmers University of Technology |
| %%% S-412 96 Gothenburg, Sweden |
| %%% E-mail lindgren@ae.chalmers.se |
| %%% |
| %%% Note Permission is granted to modify this file under |
| %%% the condition that it is saved using another |
| %%% file and package name. |
| %%% |
| %%% Revision 1.1 |
| %%% |
| %%% Jan. 8th Modified package name base date option |
| %%% Jan. 22th Modified FmN and FmTi for error in book.cls |
| %%% \MakeUppercase{#}->{\MakeUppercase#} |
| %%% Apr. 6th Modified Lenny option to prevent undesired |
| %%% skip of line. |
| %%% Nov. 8th Fixed \@chapapp for AMS |
| %%% Feb. 11th Fixed appendix problem related to Bjarne |
| %%% Last modified Feb. 11th 1998 |
| |
| \NeedsTeXFormat{LaTeX2e}[1995/12/01] |
| \ProvidesPackage{fncychap} |
| [1997/04/06 v1.11 |
| LaTeX package (Revised chapters)] |
| |
| %%%% DEFINITION OF Chapapp variables |
| \newcommand{\CNV}{\huge\bfseries} |
| \newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}} |
| |
| |
| %%%% DEFINITION OF TheChapter variables |
| \newcommand{\CNoV}{\huge\bfseries} |
| \newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}} |
| |
| \newif\ifUCN |
| \UCNfalse |
| \newif\ifLCN |
| \LCNfalse |
| \def\ChNameLowerCase{\LCNtrue\UCNfalse} |
| \def\ChNameUpperCase{\UCNtrue\LCNfalse} |
| \def\ChNameAsIs{\UCNfalse\LCNfalse} |
| |
| %%%%% Fix for AMSBook 971008 |
| |
| \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{} |
| |
| |
| %%%%% Fix for Bjarne and appendix 980211 |
| |
| \newif\ifinapp |
| \inappfalse |
| \renewcommand\appendix{\par |
| \setcounter{chapter}{0}% |
| \setcounter{section}{0}% |
| \inapptrue% |
| \renewcommand\@chapapp{\appendixname}% |
| \renewcommand\thechapter{\@Alph\c@chapter}} |
| |
| %%%%% |
| |
| \newcommand{\FmN}[1]{% |
| \ifUCN |
| {\MakeUppercase#1}\LCNfalse |
| \else |
| \ifLCN |
| {\MakeLowercase#1}\UCNfalse |
| \else #1 |
| \fi |
| \fi} |
| |
| |
| %%%% DEFINITION OF Title variables |
| \newcommand{\CTV}{\Huge\bfseries} |
| \newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}} |
| |
| %%%% DEFINITION OF the basic rule width |
| \newlength{\RW} |
| \setlength{\RW}{1pt} |
| \newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}} |
| |
| \newif\ifUCT |
| \UCTfalse |
| \newif\ifLCT |
| \LCTfalse |
| \def\ChTitleLowerCase{\LCTtrue\UCTfalse} |
| \def\ChTitleUpperCase{\UCTtrue\LCTfalse} |
| \def\ChTitleAsIs{\UCTfalse\LCTfalse} |
| \newcommand{\FmTi}[1]{% |
| \ifUCT |
| |
| {\MakeUppercase#1}\LCTfalse |
| \else |
| \ifLCT |
| {\MakeLowercase#1}\UCTfalse |
| \else #1 |
| \fi |
| \fi} |
| |
| |
| |
| \newlength{\mylen} |
| \newlength{\myhi} |
| \newlength{\px} |
| \newlength{\py} |
| \newlength{\pyy} |
| \newlength{\pxx} |
| |
| |
| \def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@} |
| |
| \newcommand{\DOCH}{% |
| \CNV\FmN{\@chapapp}\space \CNoV\thechapter |
| \par\nobreak |
| \vskip 20\p@ |
| } |
| \newcommand{\DOTI}[1]{% |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@ |
| } |
| \newcommand{\DOTIS}[1]{% |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@ |
| } |
| |
| %%%%%% SONNY DEF |
| |
| \DeclareOption{Sonny}{% |
| \ChNameVar{\Large\sf} |
| \ChNumVar{\Huge} |
| \ChTitleVar{\Large\sf} |
| \ChRuleWidth{0.5pt} |
| \ChNameUpperCase |
| \renewcommand{\DOCH}{% |
| \raggedleft |
| \CNV\FmN{\@chapapp}\space \CNoV\thechapter |
| \par\nobreak |
| \vskip 40\p@} |
| \renewcommand{\DOTI}[1]{% |
| \CTV\raggedleft\mghrulefill{\RW}\par\nobreak |
| \vskip 5\p@ |
| \CTV\FmTi{#1}\par\nobreak |
| \mghrulefill{\RW}\par\nobreak |
| \vskip 40\p@} |
| \renewcommand{\DOTIS}[1]{% |
| \CTV\raggedleft\mghrulefill{\RW}\par\nobreak |
| \vskip 5\p@ |
| \CTV\FmTi{#1}\par\nobreak |
| \mghrulefill{\RW}\par\nobreak |
| \vskip 40\p@} |
| } |
| |
| %%%%%% LENNY DEF |
| |
| \DeclareOption{Lenny}{% |
| |
| \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont} |
| \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont} |
| \ChTitleVar{\Huge\bfseries\rm} |
| \ChRuleWidth{1pt} |
| \renewcommand{\DOCH}{% |
| \settowidth{\px}{\CNV\FmN{\@chapapp}} |
| \addtolength{\px}{2pt} |
| \settoheight{\py}{\CNV\FmN{\@chapapp}} |
| \addtolength{\py}{1pt} |
| |
| \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter} |
| \addtolength{\mylen}{1pt} |
| \settowidth{\pxx}{\CNoV\thechapter} |
| \addtolength{\pxx}{-1pt} |
| |
| \settoheight{\pyy}{\CNoV\thechapter} |
| \addtolength{\pyy}{-2pt} |
| \setlength{\myhi}{\pyy} |
| \addtolength{\myhi}{-1\py} |
| \par |
| \parbox[b]{\textwidth}{% |
| \rule[\py]{\RW}{\myhi}% |
| \hskip -\RW% |
| \rule[\pyy]{\px}{\RW}% |
| \hskip -\px% |
| \raggedright% |
| \CNV\FmN{\@chapapp}\space\CNoV\thechapter% |
| \hskip1pt% |
| \mghrulefill{\RW}% |
| \rule{\RW}{\pyy}\par\nobreak% |
| \vskip -\baselineskip% |
| \vskip -\pyy% |
| \hskip \mylen% |
| \mghrulefill{\RW}\par\nobreak% |
| \vskip \pyy}% |
| \vskip 20\p@} |
| |
| |
| \renewcommand{\DOTI}[1]{% |
| \raggedright |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@} |
| |
| \renewcommand{\DOTIS}[1]{% |
| \raggedright |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@} |
| } |
| |
| |
| %%%%%%% GLENN DEF |
| |
| |
| \DeclareOption{Glenn}{% |
| \ChNameVar{\bfseries\Large\sf} |
| \ChNumVar{\Huge} |
| \ChTitleVar{\bfseries\Large\rm} |
| \ChRuleWidth{1pt} |
| \ChNameUpperCase |
| \ChTitleUpperCase |
| \renewcommand{\DOCH}{% |
| \settoheight{\myhi}{\CTV\FmTi{Test}} |
| \setlength{\py}{\baselineskip} |
| \addtolength{\py}{\RW} |
| \addtolength{\py}{\myhi} |
| \setlength{\pyy}{\py} |
| \addtolength{\pyy}{-1\RW} |
| |
| \raggedright |
| \CNV\FmN{\@chapapp}\space\CNoV\thechapter |
| \hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak} |
| |
| \renewcommand{\DOTI}[1]{% |
| \addtolength{\pyy}{-4pt} |
| \settoheight{\myhi}{\CTV\FmTi{#1}} |
| \addtolength{\myhi}{\py} |
| \addtolength{\myhi}{-1\RW} |
| \vskip -1\pyy |
| \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt |
| \raggedleft\CTV\FmTi{#1}\par\nobreak |
| \vskip 80\p@} |
| |
| \renewcommand{\DOTIS}[1]{% |
| \setlength{\py}{10pt} |
| \setlength{\pyy}{\py} |
| \addtolength{\pyy}{\RW} |
| \setlength{\myhi}{\baselineskip} |
| \addtolength{\myhi}{\pyy} |
| \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak |
| % \addtolength{}{} |
| \vskip -1\baselineskip |
| \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt |
| \raggedleft\CTV\FmTi{#1}\par\nobreak |
| \vskip 60\p@} |
| } |
| |
| %%%%%%% CONNY DEF |
| |
| \DeclareOption{Conny}{% |
| \ChNameUpperCase |
| \ChTitleUpperCase |
| \ChNameVar{\centering\Huge\rm\bfseries} |
| \ChNumVar{\Huge} |
| \ChTitleVar{\centering\Huge\rm} |
| \ChRuleWidth{2pt} |
| |
| \renewcommand{\DOCH}{% |
| \mghrulefill{3\RW}\par\nobreak |
| \vskip -0.5\baselineskip |
| \mghrulefill{\RW}\par\nobreak |
| \CNV\FmN{\@chapapp}\space \CNoV\thechapter |
| \par\nobreak |
| \vskip -0.5\baselineskip |
| } |
| \renewcommand{\DOTI}[1]{% |
| \mghrulefill{\RW}\par\nobreak |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 60\p@ |
| } |
| \renewcommand{\DOTIS}[1]{% |
| \mghrulefill{\RW}\par\nobreak |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 60\p@ |
| } |
| } |
| |
| %%%%%%% REJNE DEF |
| |
| \DeclareOption{Rejne}{% |
| |
| \ChNameUpperCase |
| \ChTitleUpperCase |
| \ChNameVar{\centering\Large\rm} |
| \ChNumVar{\Huge} |
| \ChTitleVar{\centering\Huge\rm} |
| \ChRuleWidth{1pt} |
| \renewcommand{\DOCH}{% |
| \settoheight{\py}{\CNoV\thechapter} |
| \addtolength{\py}{-1pt} |
| \CNV\FmN{\@chapapp}\par\nobreak |
| \vskip 20\p@ |
| \setlength{\myhi}{2\baselineskip} |
| \setlength{\px}{\myhi} |
| \addtolength{\px}{-1\RW} |
| \rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip |
| 10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip |
| 10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak |
| \vskip -1\p@ |
| } |
| \renewcommand{\DOTI}[1]{% |
| \setlength{\mylen}{\textwidth} |
| \addtolength{\mylen}{-2\RW} |
| {\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule |
| width\RW}\par\nobreak |
| \vskip |
| -1pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip} |
| \vskip 60\p@ |
| } |
| \renewcommand{\DOTIS}[1]{% |
| \setlength{\py}{\fboxrule} |
| \setlength{\fboxrule}{\RW} |
| \setlength{\mylen}{\textwidth} |
| \addtolength{\mylen}{-2\RW} |
| \fbox{\parbox{\mylen}{\vskip |
| 2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}} |
| \setlength{\fboxrule}{\py} |
| \vskip 60\p@ |
| } |
| } |
| |
| |
| %%%%%%% BJARNE DEF |
| |
| \DeclareOption{Bjarne}{% |
| \ChNameUpperCase |
| \ChTitleUpperCase |
| \ChNameVar{\raggedleft\normalsize\rm} |
| \ChNumVar{\raggedleft \bfseries\Large} |
| \ChTitleVar{\raggedleft \Large\rm} |
| \ChRuleWidth{1pt} |
| |
| |
| %% Note thechapter -> c@chapter fix appendix bug |
| |
| \newcounter{AlphaCnt} |
| \newcounter{AlphaDecCnt} |
| \newcommand{\AlphaNo}{% |
| \ifcase\number\theAlphaCnt |
| \ifnum\c@chapter=0 |
| ZERO\else{}\fi |
| \or ONE\or TWO\or THREE\or FOUR\or FIVE |
| \or SIX\or SEVEN\or EIGHT\or NINE\or TEN |
| \or ELEVEN\or TWELV\or THIRTEEN\or FOURTEEN\or FIFTEEN |
| \or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi |
| } |
| |
| \newcommand{\AlphaDecNo}{% |
| \setcounter{AlphaDecCnt}{0} |
| \@whilenum\number\theAlphaCnt>0\do |
| {\addtocounter{AlphaCnt}{-10} |
| \addtocounter{AlphaDecCnt}{1}} |
| \ifnum\number\theAlphaCnt=0 |
| \else |
| \addtocounter{AlphaDecCnt}{-1} |
| \addtocounter{AlphaCnt}{10} |
| \fi |
| |
| |
| \ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or |
| FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi |
| } |
| \newcommand{\TheAlphaChapter}{% |
| |
| \ifinapp |
| \thechapter |
| \else |
| \setcounter{AlphaCnt}{\c@chapter} |
| \ifnum\c@chapter<20 |
| \AlphaNo |
| \else |
| \AlphaDecNo\AlphaNo |
| \fi |
| \fi |
| } |
| \renewcommand{\DOCH}{% |
| \mghrulefill{\RW}\par\nobreak |
| \CNV\FmN{\@chapapp}\par\nobreak |
| \CNoV\TheAlphaChapter\par\nobreak |
| \vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak |
| \vskip 20\p@ |
| } |
| \renewcommand{\DOTI}[1]{% |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@ |
| } |
| \renewcommand{\DOTIS}[1]{% |
| \CTV\FmTi{#1}\par\nobreak |
| \vskip 40\p@ |
| } |
| } |
| |
| \DeclareOption*{% |
| \PackageWarning{fancychapter}{unknown style option} |
| } |
| |
| \ProcessOptions* \relax |
| |
| \def\@makechapterhead#1{% |
| \vspace*{50\p@}% |
| {\parindent \z@ \raggedright \normalfont |
| \ifnum \c@secnumdepth >\m@ne |
| \DOCH |
| \fi |
| \interlinepenalty\@M |
| \DOTI{#1} |
| }} |
| \def\@schapter#1{\if@twocolumn |
| \@topnewpage[\@makeschapterhead{#1}]% |
| \else |
| \@makeschapterhead{#1}% |
| \@afterheading |
| \fi} |
| \def\@makeschapterhead#1{% |
| \vspace*{50\p@}% |
| {\parindent \z@ \raggedright |
| \normalfont |
| \interlinepenalty\@M |
| \DOTIS{#1} |
| \vskip 40\p@ |
| }} |
| |
| \endinput |
| |
| |