mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	 b75d021081
			
		
	
	
		b75d021081
		
	
	
	
	
		
			
			Added note at top, since LaTeX style writers like to force name changes when someone else makes a change to the style. I'm sending a note to the author reporting the error and asking for an updated version. This cannot be distributed in this form. This will be resolved when I get a response from Ulf Lindgren. Typo reported by rwolff@noao.edu (Richard Wolff).
		
			
				
	
	
		
			433 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			433 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| %%% Derived from the original fncychap.sty,
 | |
| %%% but changed ``TWELV'' to ``TWELVE''.
 | |
| 
 | |
| %%% 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 TWELVE\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
 | |
| 
 | |
| 
 |