]> git.lyx.org Git - lyx.git/blob - lib/tex/broadway.cls
0b2e5b4ec16c1dd78d8375664132a9017a857ea7
[lyx.git] / lib / tex / broadway.cls
1 %% Author: Garst R. Reese  reese@isn.net
2 %% This is file `broadway.cls', which provides a format for writing
3 %% plays.
4 %% Derived from report.cls. There is probably still a lot of stuff
5 %% that could be deleted.
6 \NeedsTeXFormat{LaTeX2e}
7 \ProvidesClass{broadway} [1999/02/09 v1.0 uses broadway.layout]
8 \renewcommand{\ref}[1]{#1}
9 \newcommand\@ptsize{}
10 \newif\if@restonecol
11 \newif\if@titlepage
12 \@titlepagetrue
13 \newif\if@openright
14 \DeclareOption{letterpaper}
15    {\setlength\paperheight {11in}%
16     \setlength\paperwidth  {8.5in}}
17 \DeclareOption{12pt}{\renewcommand\@ptsize{0}}
18 \DeclareOption{12pt}{\renewcommand\@ptsize{1}}
19 \DeclareOption{12pt}{\renewcommand\@ptsize{2}}
20 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
21 \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
22 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
23 \DeclareOption{final}{\setlength\overfullrule{0pt}}
24 \DeclareOption{titlepage}{\@titlepagetrue}
25 \DeclareOption{notitlepage}{\@titlepagefalse}
26 \DeclareOption{openright}{\@openrighttrue}
27 \DeclareOption{openany}{\@openrightfalse}
28 \DeclareOption{onecolumn}{\@twocolumnfalse}
29 \ExecuteOptions{letterpaper,12pt,oneside,onecolumn,final,openany}
30 \ProcessOptions
31 \input{size1\@ptsize.clo}
32 \setlength\lineskip{1\p@}
33 \setlength\normallineskip{1\p@}
34 \renewcommand\baselinestretch{}
35 \setlength\parskip{0\p@ \@plus \p@}
36 \@lowpenalty   51
37 \@medpenalty  151
38 \@highpenalty 301
39 \setcounter{topnumber}{2}
40 \renewcommand\topfraction{.7}
41 \setcounter{bottomnumber}{1}
42 \renewcommand\bottomfraction{.3}
43 \setcounter{totalnumber}{3}
44 \renewcommand\textfraction{.2}
45 \renewcommand\floatpagefraction{.5}
46 \setcounter{dbltopnumber}{2}
47 \renewcommand\dbltopfraction{.7}
48 \renewcommand\dblfloatpagefraction{.5}
49   \def\ps@headings{%
50     \let\@oddfoot\@empty
51     \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
52     \let\@mkboth\markboth
53 }
54 \def\ps@myheadings{%
55     \let\@oddfoot\@empty\let\@evenfoot\@empty
56     \def\@evenhead{\thepage\hfil\slshape\leftmark}%
57     \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
58     \let\@mkboth\@gobbletwo
59     }
60   \if@titlepage
61 \newcommand{\address}{\renewcommand{\@address}}
62 \newcommand{\@address}{}
63   \newcommand\maketitle{\begin{titlepage}%
64   \let\footnotesize\small
65   \let\footnoterule\relax
66   \let \footnote \thanks
67   \null\vfil
68   \vskip 60\p@
69   \begin{center}%
70     { \underline{\@title} \par}%
71     \vskip 3em%
72     {\lineskip .75em%
73       \begin{tabular}[t]{c}%
74         \@author
75       \end{tabular}\par}%
76       \vskip 1.5em%
77   \end{center}\par
78 \raggedleft
79 \vfill
80 \begin{tabular}{l}%
81 \ignorespaces
82 \@address
83 \end{tabular}\par%
84   \@thanks
85 %  \vfil\null
86   \end{titlepage}%
87   \setcounter{footnote}{0}%
88   \global\let\thanks\relax
89   \global\let\maketitle\relax
90 % \global\let\@address\@empty
91   \global\let\@thanks\@empty
92   \global\let\@author\@empty
93   \global\let\@date\@empty
94   \global\let\@title\@empty
95 % \global\let\address\relax
96   \global\let\title\relax
97   \global\let\author\relax
98   \global\let\date\relax
99   \global\let\and\relax
100 }
101 \fi
102   \setlength\leftmargini  {2.5em}
103 \leftmargin  \leftmargini
104 \setlength  \labelsep  {.1em}
105 \setlength  \labelwidth{\leftmargini}
106 \addtolength\labelwidth{-\labelsep}
107 \@beginparpenalty -\@lowpenalty
108 \@endparpenalty   -\@lowpenalty
109 \@itempenalty     -\@lowpenalty
110 \newenvironment{titlepage}
111     {%
112       \if@twocolumn
113         \@restonecoltrue\onecolumn
114       \else
115         \@restonecolfalse\newpage
116       \fi
117       \thispagestyle{empty}%
118       \setcounter{page}\@ne
119     }%
120     {\if@restonecol\twocolumn \else \newpage \fi
121      \if@twoside\else
122         \setcounter{page}\@ne
123      \fi
124     }
125 \setlength\tabbingsep{\labelsep}
126 \skip\@mpfootins = \skip\footins
127 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
128 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
129 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
130 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
131 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
132 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
133 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
134 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
135 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
136 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
137 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
138 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
139 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
140 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
141 \newcommand\@pnumwidth{1.55em}
142 \newcommand\@tocrmarg{2.55em}
143 \newcommand\@dotsep{4.5}
144 \setcounter{tocdepth}{2}
145 \setlength\columnsep{10\p@}
146 \setlength\columnseprule{0\p@}
147 \pagestyle{plain}
148 \pagenumbering{arabic}
149 \if@twoside
150 \else
151   \raggedbottom
152 \fi
153 \if@twocolumn
154   \twocolumn
155   \sloppy
156   \flushbottom
157 \else
158   \onecolumn
159 \fi
160 \usepackage{fancyhdr}
161 \usepackage{extramarks}
162 \usepackage{ifthen}
163 \usepackage{lastpage}
164 \pagestyle{fancy}
165 \lhead{\TheTitle}
166 \chead{\TheAuthor}
167 \cfoot{}
168 \rhead{\thepage}
169 % We do not want any hyphenation
170   \sloppy
171 \newcommand{\TheAuthor}{}
172 \newcommand{\Author}[1]{\renewcommand{\TheAuthor}{#1}}
173 \newcommand{\TheTitle}{}
174 \newcommand{\Title}[1]{\renewcommand{\TheTitle}{#1}}
175
176 \newcommand{\dialogue}[1]%
177 {\raggedright
178 \hspace{1in}
179 \parbox{4in}{#1}
180 }
181
182 \newcommand{\narrative}[1]%
183 {\filbreak
184 \raggedright{#1}
185 }
186
187 \newcommand{\speaker}[1]%
188 {\filbreak
189 \vspace{12pt}
190 \hspace{2.25in}{#1}
191 \vspace{6pt}
192 }
193
194 \newcommand{\parenthetical}[1]%
195 {\raggedright
196 \hspace{1.75in}
197 \parbox{3in}{(#1)}
198 \vspace{6pt}}
199
200 \newcounter{actctr}
201 \newcounter{scenectr}[actctr]
202 \renewcommand{\theactctr}{\Roman{actctr}}
203 \renewcommand{\thescenectr}{\arabic{scenectr}}
204 \providecommand{\atrise}[1]{\par\raggedright AT RISE: #1 }%
205 \providecommand{\scenestar}[1]{\filbreak\par\centering SCENE #1 }%
206 \providecommand{\scene}{%
207 \filbreak\par\stepcounter{scenectr}\centering SCENE \thescenectr}%
208 \providecommand{\act}{%
209 \stepcounter{actctr}\filbreak\setcounter{scenectr}{0}\par\centering ACT \theactctr\par}%
210 \providecommand{\curtain}{\filbreak\par\centering CURTAIN \par}%
211
212 \endinput
213 %%
214 %% End of file `broadway.cls'.