/[escript]/trunk/doc/user/fncychap.sty
ViewVC logotype

Annotation of /trunk/doc/user/fncychap.sty

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1388 - (hide annotations)
Fri Jan 11 07:45:58 2008 UTC (12 years, 2 months ago) by trankine
File size: 10359 byte(s)
And get the *(&(*&(* name right
1 jgs 82 %%% Derived from the original fncychap.sty,
2     %%% but changed ``TWELV'' to ``TWELVE''.
3    
4     %%% Copyright Ulf A. Lindgren
5     %%% Department of Applied Electronics
6     %%% Chalmers University of Technology
7     %%% S-412 96 Gothenburg, Sweden
8     %%% E-mail lindgren@ae.chalmers.se
9     %%%
10     %%% Note Permission is granted to modify this file under
11     %%% the condition that it is saved using another
12     %%% file and package name.
13     %%%
14     %%% Revision 1.1
15     %%%
16     %%% Jan. 8th Modified package name base date option
17     %%% Jan. 22th Modified FmN and FmTi for error in book.cls
18     %%% \MakeUppercase{#}->{\MakeUppercase#}
19     %%% Apr. 6th Modified Lenny option to prevent undesired
20     %%% skip of line.
21     %%% Nov. 8th Fixed \@chapapp for AMS
22     %%% Feb. 11th Fixed appendix problem related to Bjarne
23     %%% Last modified Feb. 11th 1998
24    
25     \NeedsTeXFormat{LaTeX2e}[1995/12/01]
26     \ProvidesPackage{fncychap}
27     [1997/04/06 v1.11
28     LaTeX package (Revised chapters)]
29    
30     %%%% DEFINITION OF Chapapp variables
31     \newcommand{\CNV}{\huge\bfseries}
32     \newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}}
33    
34    
35     %%%% DEFINITION OF TheChapter variables
36     \newcommand{\CNoV}{\huge\bfseries}
37     \newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}}
38    
39     \newif\ifUCN
40     \UCNfalse
41     \newif\ifLCN
42     \LCNfalse
43     \def\ChNameLowerCase{\LCNtrue\UCNfalse}
44     \def\ChNameUpperCase{\UCNtrue\LCNfalse}
45     \def\ChNameAsIs{\UCNfalse\LCNfalse}
46    
47     %%%%% Fix for AMSBook 971008
48    
49     \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}
50    
51    
52     %%%%% Fix for Bjarne and appendix 980211
53    
54     \newif\ifinapp
55     \inappfalse
56     \renewcommand\appendix{\par
57     \setcounter{chapter}{0}%
58     \setcounter{section}{0}%
59     \inapptrue%
60     \renewcommand\@chapapp{\appendixname}%
61     \renewcommand\thechapter{\@Alph\c@chapter}}
62    
63     %%%%%
64    
65     \newcommand{\FmN}[1]{%
66     \ifUCN
67     {\MakeUppercase#1}\LCNfalse
68     \else
69     \ifLCN
70     {\MakeLowercase#1}\UCNfalse
71     \else #1
72     \fi
73     \fi}
74    
75    
76     %%%% DEFINITION OF Title variables
77     \newcommand{\CTV}{\Huge\bfseries}
78     \newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}}
79    
80     %%%% DEFINITION OF the basic rule width
81     \newlength{\RW}
82     \setlength{\RW}{1pt}
83     \newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}}
84    
85     \newif\ifUCT
86     \UCTfalse
87     \newif\ifLCT
88     \LCTfalse
89     \def\ChTitleLowerCase{\LCTtrue\UCTfalse}
90     \def\ChTitleUpperCase{\UCTtrue\LCTfalse}
91     \def\ChTitleAsIs{\UCTfalse\LCTfalse}
92     \newcommand{\FmTi}[1]{%
93     \ifUCT
94    
95     {\MakeUppercase#1}\LCTfalse
96     \else
97     \ifLCT
98     {\MakeLowercase#1}\UCTfalse
99     \else #1
100     \fi
101     \fi}
102    
103    
104    
105     \newlength{\mylen}
106     \newlength{\myhi}
107     \newlength{\px}
108     \newlength{\py}
109     \newlength{\pyy}
110     \newlength{\pxx}
111    
112    
113     \def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@}
114    
115     \newcommand{\DOCH}{%
116     \CNV\FmN{\@chapapp}\space \CNoV\thechapter
117     \par\nobreak
118     \vskip 20\p@
119     }
120     \newcommand{\DOTI}[1]{%
121     \CTV\FmTi{#1}\par\nobreak
122     \vskip 40\p@
123     }
124     \newcommand{\DOTIS}[1]{%
125     \CTV\FmTi{#1}\par\nobreak
126     \vskip 40\p@
127     }
128    
129     %%%%%% SONNY DEF
130    
131     \DeclareOption{Sonny}{%
132     \ChNameVar{\Large\sf}
133     \ChNumVar{\Huge}
134     \ChTitleVar{\Large\sf}
135     \ChRuleWidth{0.5pt}
136     \ChNameUpperCase
137     \renewcommand{\DOCH}{%
138     \raggedleft
139     \CNV\FmN{\@chapapp}\space \CNoV\thechapter
140     \par\nobreak
141     \vskip 40\p@}
142     \renewcommand{\DOTI}[1]{%
143     \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
144     \vskip 5\p@
145     \CTV\FmTi{#1}\par\nobreak
146     \mghrulefill{\RW}\par\nobreak
147     \vskip 40\p@}
148     \renewcommand{\DOTIS}[1]{%
149     \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
150     \vskip 5\p@
151     \CTV\FmTi{#1}\par\nobreak
152     \mghrulefill{\RW}\par\nobreak
153     \vskip 40\p@}
154     }
155    
156     %%%%%% LENNY DEF
157    
158     \DeclareOption{Lenny}{%
159    
160     \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
161     \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
162     \ChTitleVar{\Huge\bfseries\rm}
163     \ChRuleWidth{1pt}
164     \renewcommand{\DOCH}{%
165     \settowidth{\px}{\CNV\FmN{\@chapapp}}
166     \addtolength{\px}{2pt}
167     \settoheight{\py}{\CNV\FmN{\@chapapp}}
168     \addtolength{\py}{1pt}
169    
170     \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
171     \addtolength{\mylen}{1pt}
172     \settowidth{\pxx}{\CNoV\thechapter}
173     \addtolength{\pxx}{-1pt}
174    
175     \settoheight{\pyy}{\CNoV\thechapter}
176     \addtolength{\pyy}{-2pt}
177     \setlength{\myhi}{\pyy}
178     \addtolength{\myhi}{-1\py}
179     \par
180     \parbox[b]{\textwidth}{%
181     \rule[\py]{\RW}{\myhi}%
182     \hskip -\RW%
183     \rule[\pyy]{\px}{\RW}%
184     \hskip -\px%
185     \raggedright%
186     \CNV\FmN{\@chapapp}\space\CNoV\thechapter%
187     \hskip1pt%
188     \mghrulefill{\RW}%
189     \rule{\RW}{\pyy}\par\nobreak%
190     \vskip -\baselineskip%
191     \vskip -\pyy%
192     \hskip \mylen%
193     \mghrulefill{\RW}\par\nobreak%
194     \vskip \pyy}%
195     \vskip 20\p@}
196    
197    
198     \renewcommand{\DOTI}[1]{%
199     \raggedright
200     \CTV\FmTi{#1}\par\nobreak
201     \vskip 40\p@}
202    
203     \renewcommand{\DOTIS}[1]{%
204     \raggedright
205     \CTV\FmTi{#1}\par\nobreak
206     \vskip 40\p@}
207     }
208    
209    
210     %%%%%%% GLENN DEF
211    
212    
213     \DeclareOption{Glenn}{%
214     \ChNameVar{\bfseries\Large\sf}
215     \ChNumVar{\Huge}
216     \ChTitleVar{\bfseries\Large\rm}
217     \ChRuleWidth{1pt}
218     \ChNameUpperCase
219     \ChTitleUpperCase
220     \renewcommand{\DOCH}{%
221     \settoheight{\myhi}{\CTV\FmTi{Test}}
222     \setlength{\py}{\baselineskip}
223     \addtolength{\py}{\RW}
224     \addtolength{\py}{\myhi}
225     \setlength{\pyy}{\py}
226     \addtolength{\pyy}{-1\RW}
227    
228     \raggedright
229     \CNV\FmN{\@chapapp}\space\CNoV\thechapter
230     \hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak}
231    
232     \renewcommand{\DOTI}[1]{%
233     \addtolength{\pyy}{-4pt}
234     \settoheight{\myhi}{\CTV\FmTi{#1}}
235     \addtolength{\myhi}{\py}
236     \addtolength{\myhi}{-1\RW}
237     \vskip -1\pyy
238     \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
239     \raggedleft\CTV\FmTi{#1}\par\nobreak
240     \vskip 80\p@}
241    
242     \renewcommand{\DOTIS}[1]{%
243     \setlength{\py}{10pt}
244     \setlength{\pyy}{\py}
245     \addtolength{\pyy}{\RW}
246     \setlength{\myhi}{\baselineskip}
247     \addtolength{\myhi}{\pyy}
248     \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
249     % \addtolength{}{}
250     \vskip -1\baselineskip
251     \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
252     \raggedleft\CTV\FmTi{#1}\par\nobreak
253     \vskip 60\p@}
254     }
255    
256     %%%%%%% CONNY DEF
257    
258     \DeclareOption{Conny}{%
259     \ChNameUpperCase
260     \ChTitleUpperCase
261     \ChNameVar{\centering\Huge\rm\bfseries}
262     \ChNumVar{\Huge}
263     \ChTitleVar{\centering\Huge\rm}
264     \ChRuleWidth{2pt}
265    
266     \renewcommand{\DOCH}{%
267     \mghrulefill{3\RW}\par\nobreak
268     \vskip -0.5\baselineskip
269     \mghrulefill{\RW}\par\nobreak
270     \CNV\FmN{\@chapapp}\space \CNoV\thechapter
271     \par\nobreak
272     \vskip -0.5\baselineskip
273     }
274     \renewcommand{\DOTI}[1]{%
275     \mghrulefill{\RW}\par\nobreak
276     \CTV\FmTi{#1}\par\nobreak
277     \vskip 60\p@
278     }
279     \renewcommand{\DOTIS}[1]{%
280     \mghrulefill{\RW}\par\nobreak
281     \CTV\FmTi{#1}\par\nobreak
282     \vskip 60\p@
283     }
284     }
285    
286     %%%%%%% REJNE DEF
287    
288     \DeclareOption{Rejne}{%
289    
290     \ChNameUpperCase
291     \ChTitleUpperCase
292     \ChNameVar{\centering\Large\rm}
293     \ChNumVar{\Huge}
294     \ChTitleVar{\centering\Huge\rm}
295     \ChRuleWidth{1pt}
296     \renewcommand{\DOCH}{%
297     \settoheight{\py}{\CNoV\thechapter}
298     \addtolength{\py}{-1pt}
299     \CNV\FmN{\@chapapp}\par\nobreak
300     \vskip 20\p@
301     \setlength{\myhi}{2\baselineskip}
302     \setlength{\px}{\myhi}
303     \addtolength{\px}{-1\RW}
304     \rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip
305     10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip
306     10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak
307     \vskip -1\p@
308     }
309     \renewcommand{\DOTI}[1]{%
310     \setlength{\mylen}{\textwidth}
311     \addtolength{\mylen}{-2\RW}
312     {\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule
313     width\RW}\par\nobreak
314     \vskip
315     -1pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip}
316     \vskip 60\p@
317     }
318     \renewcommand{\DOTIS}[1]{%
319     \setlength{\py}{\fboxrule}
320     \setlength{\fboxrule}{\RW}
321     \setlength{\mylen}{\textwidth}
322     \addtolength{\mylen}{-2\RW}
323     \fbox{\parbox{\mylen}{\vskip
324     2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}}
325     \setlength{\fboxrule}{\py}
326     \vskip 60\p@
327     }
328     }
329    
330    
331     %%%%%%% BJARNE DEF
332    
333     \DeclareOption{Bjarne}{%
334     \ChNameUpperCase
335     \ChTitleUpperCase
336     \ChNameVar{\raggedleft\normalsize\rm}
337     \ChNumVar{\raggedleft \bfseries\Large}
338     \ChTitleVar{\raggedleft \Large\rm}
339     \ChRuleWidth{1pt}
340    
341    
342     %% Note thechapter -> c@chapter fix appendix bug
343    
344     \newcounter{AlphaCnt}
345     \newcounter{AlphaDecCnt}
346     \newcommand{\AlphaNo}{%
347     \ifcase\number\theAlphaCnt
348     \ifnum\c@chapter=0
349     ZERO\else{}\fi
350     \or ONE\or TWO\or THREE\or FOUR\or FIVE
351     \or SIX\or SEVEN\or EIGHT\or NINE\or TEN
352     \or ELEVEN\or TWELVE\or THIRTEEN\or FOURTEEN\or FIFTEEN
353     \or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi
354     }
355    
356     \newcommand{\AlphaDecNo}{%
357     \setcounter{AlphaDecCnt}{0}
358     \@whilenum\number\theAlphaCnt>0\do
359     {\addtocounter{AlphaCnt}{-10}
360     \addtocounter{AlphaDecCnt}{1}}
361     \ifnum\number\theAlphaCnt=0
362     \else
363     \addtocounter{AlphaDecCnt}{-1}
364     \addtocounter{AlphaCnt}{10}
365     \fi
366    
367    
368     \ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or
369     FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi
370     }
371     \newcommand{\TheAlphaChapter}{%
372    
373     \ifinapp
374     \thechapter
375     \else
376     \setcounter{AlphaCnt}{\c@chapter}
377     \ifnum\c@chapter<20
378     \AlphaNo
379     \else
380     \AlphaDecNo\AlphaNo
381     \fi
382     \fi
383     }
384     \renewcommand{\DOCH}{%
385     \mghrulefill{\RW}\par\nobreak
386     \CNV\FmN{\@chapapp}\par\nobreak
387     \CNoV\TheAlphaChapter\par\nobreak
388     \vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak
389     \vskip 20\p@
390     }
391     \renewcommand{\DOTI}[1]{%
392     \CTV\FmTi{#1}\par\nobreak
393     \vskip 40\p@
394     }
395     \renewcommand{\DOTIS}[1]{%
396     \CTV\FmTi{#1}\par\nobreak
397     \vskip 40\p@
398     }
399     }
400    
401     \DeclareOption*{%
402     \PackageWarning{fancychapter}{unknown style option}
403     }
404    
405     \ProcessOptions* \relax
406    
407     \def\@makechapterhead#1{%
408     \vspace*{50\p@}%
409     {\parindent \z@ \raggedright \normalfont
410     \ifnum \c@secnumdepth >\m@ne
411     \DOCH
412     \fi
413     \interlinepenalty\@M
414     \DOTI{#1}
415     }}
416     \def\@schapter#1{\if@twocolumn
417     \@topnewpage[\@makeschapterhead{#1}]%
418     \else
419     \@makeschapterhead{#1}%
420     \@afterheading
421     \fi}
422     \def\@makeschapterhead#1{%
423     \vspace*{50\p@}%
424     {\parindent \z@ \raggedright
425     \normalfont
426     \interlinepenalty\@M
427     \DOTIS{#1}
428     \vskip 40\p@
429     }}
430    
431     \endinput
432    
433    

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26