From fe77ff4cdab25604b424a273c726920830f63abc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 29 Sep 2006 14:02:32 +0000 Subject: screenplay update (26sep06) git-svn-id: svn://tug.org/texlive/trunk@2219 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/screenplay/screenplay.cls | 481 +++++---------------- 1 file changed, 119 insertions(+), 362 deletions(-) (limited to 'Master/texmf-dist/tex/latex/screenplay') diff --git a/Master/texmf-dist/tex/latex/screenplay/screenplay.cls b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls index cfb30df3f5e..ad0e778436e 100644 --- a/Master/texmf-dist/tex/latex/screenplay/screenplay.cls +++ b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls @@ -1,238 +1,125 @@ -% $Header: /home/johnny/html/Sacrifice/LaTeX/RCS/screenplay.cls,v 1.451 2006/09/23 08:39:25 johnny Exp $ -% -% -% Provides markup mostly along the lines of -% http://www.oscars.org/nicholl/format.html -% -% Authored by and Copyright (C) 2006 by -% John Pate -% http://dvc.org.uk -% -% See specs, licence, at end. -% ``It works for me.'' -% I'm no kind of TeXpert! YOUR MILEAGE MAY VARY -% -% Tested with ... -% pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4) -% dvips(k) 5.95a -% kpathsea version 3.5.4 -% article 2004/02/16 v1.4f - - -% Version used in testing ... +%% +%% This is file `screenplay.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% screenplay.dtx (with options: `class') +%% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +%% +%% Authored by and Copyright (C)2006 by +%% John Pate +%% http://dvc.org.uk +%% Latest version is available as: +%% http://dvc.org.uk/sacrific.txt/screenplay.zip +%% +%% This program is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License as +%% published by the Free Software Foundation; either version 2 of +%% the License, or (at your option) any later version. +%% +%% This program 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. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public +%% License along with this program; if not, write to the Free +%% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +%% MA 02110-1301 USA +%% +%% GPL v2 text also available as: +%% http://dvc.org.uk/gplv2.txt +%% +%% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= \NeedsTeXFormat{LaTeX2e}[2003/12/01] - -\ProvidesClass{screenplay}[2006/09/23 v1.451 LaTeX2e Draft Screenplay document class - (C)2006 John Pate - released under GNU General Public License.] - -% Some initialization... - -% Needed for testing for optional args ... -% +\ProvidesClass{screenplay}[2006/09/27 v1.487 +LaTeX2e Draft Screenplay document class +(C)2006 John Pate +released under the GNU General Public License] +\DeclareOption*{% + \PackageError{screenplay}{Unwanted option '\CurrentOption'}% + {There are no options available for class screenplay v1.487}} +\ProcessOptions\relax \RequirePackage{ifthen} - - -% MUST be 12pt, MUST be American letter paper NOT A4 ... -% -\LoadClass[12pt,letterpaper]{article} -% -% geometry package makes dvips/pdf do the right thing ... -% -\usepackage[dvips,letterpaper]{geometry} -% -% and make sure your printer driver knows letter. -% Yes, you NEED American 8.5"x11" letter paper not A4 -% stationers in the UK call it `quarto' paper, see ... -% http://www.gwydir.demon.co.uk/jo/units/print.htm - - -% MUST have Courier as font (may cause warnings about -% font stuff, ignore) ... -% -\usepackage{courier} +\LoadClass[12pt,letterpaper,onecolumn,oneside]{article}[2004/02/16] +\RequirePackage[dvips,letterpaper]{geometry} +\setlength{\paperheight}{11in} +\setlength{\paperwidth}{8.5in} +\RequirePackage{courier} \renewcommand*\familydefault{\ttdefault} - - -% Can load hyphenation ability for non-standard font ... -%\usepackage[htt]{hyphenat} -% but DON'T, you should NOT hyphenate for Nicholl format -% you want this ... -% \raggedright -% -% You'll have to nuke \raggedright wherever found to test out -% hyphenation -% -% You will likely have to add a few \\ to some of the dialogue -% text blocks (and even maybe in the scene descriptions) -% to help \TeX\ out with linebreaks, or you'll get extra space -% where you don't want it (sometimes even where `Overfull \hbox' -% warnings are absent). -% -% LaTeX isn't really meant for fixed pitch but we're -% pretending to be a typewriter here. - -% end intialization - - -% Page Numbers top right ... +\pagenumbering{arabic} \pagestyle{myheadings} - - -% Line spacing / Pitch / parindent -% -% fixed pitch, 10pt ... -\setlength{\baselineskip}{10pt plus 0pt minus 0pt} -% AFAICS floats not involved ... -\renewcommand*{\textfraction}{1} -\renewcommand*{\topfraction}{0} -\renewcommand*{\bottomfraction}{0} -%\setlength{\floatsep}{\baselineskip} -%\setlength{\textfloatsep}{\floatsep} -%\setlength{\intextsep}{\floatsep} -% -% skip one line between paras ... +\setlength{\baselineskip}{12pt plus 0pt minus 0pt} +\renewcommand*{\baselinestretch}{0.8} +\newcommand{\dialfix}{\vspace{3pt}} \setlength{\parskip}{\baselineskip} -% no paragraph indent ... \setlength{\parindent}{0in} - - -% Margins and such, see specs at end -% fudge factors needed to resemble the `correct' -% layout - take a ruler to it and `script.pdf' ... -% -% left margin 1.5", default 1" + ... \setlength{\evensidemargin}{0.5in} \setlength{\oddsidemargin}{0.5in} -% -% top margin (0.5" to number, 1" to body) ... \setlength{\topmargin}{-0.5in} \setlength{\headsep}{0.4in} \setlength{\topskip}{0in} -% -% 11" - (1" top margin) - (0.5" bottom) = \setlength{\textheight}{9.5in} -% bottom can go to 1.5" for page breaking purposes -% -% 6" for 1" right margin ... -\setlength{\textwidth}{6.1in} % 0.1" fudge -% -% extra inter-word spacing in sluglines ... +\setlength{\textwidth}{6.1in} \newcommand{\slugspace}{\hspace{2.0em plus 0em minus 0em}} -%\newcommand{\slugspace}{ - } -%\newcommand{\slugspace}{\quad} -% -% tabbing / spacing for dialogues ... -\newcommand{\dialwidth}{3.2in} % 3" wide with 0.2" fudge -\newcommand{\dialtab}{\hspace*{1.5in}} % 3" from left edge -\newcommand{\dialnametab}{\hspace*{1.2in}} % NAME, tab in 4.2" from left -\newcommand{\parenwidth}{1.7in} %parenthetical 1.5" with 0.2" fudge -\newcommand{\parentab}{\hspace{0.7in}} % paren, tab in 3.7" from left -% -\newcommand{\dialfix}{\vspace{5pt}} % adjust space above dialogue -% -% fix for formatting of multi-line parenthetical ... +\newcommand{\dialwidth}{3.2in} +\newcommand{\dialtab}{\hspace*{1.5in}} +\newcommand{\dialnametab}{\hspace*{1.2in}} +\newcommand{\parenwidth}{1.7in} +\newcommand{\parentab}{\hspace{0.7in}} \newcommand{\parenkludge}{\dialfix} -% ... more missing space to put back -% (I really should look at the TeX source sometime.) - - -% Title Page - Author details ... -% -% use one of \titleauthor, \nicholl, \titleextra to taste ... -% this must be the first command after \begin{document} -% -% you may have to adjust the \titlesepspace if you put in a lot of text -% +\renewcommand*{\textfraction}{1} +\renewcommand*{\topfraction}{0} +\renewcommand*{\bottomfraction}{0} +\newcommand{\nicholl}[1]{ +\thispagestyle{empty} +\vspace*{2.25in} +\begin{center}\MakeUppercase{#1}\end{center} +\newpage\setcounter{page}{1} +}%nicholl \newcommand{\titlesepspace}{\vspace{3.75in plus 0in minus 1.0in}} -% there's also a the space occupied by the optional copyright year \newcommand{\copyspace}{\vspace*{2ex plus 0ex minus 0ex}} -% - -% \titleauthor[year]{title}{author's name}{contact details\\email etc} -% [the copyright notice doesn't fit the spec so optional... if you -% put it on the web tho, copyright certainly won't hurt!] -% \newcommand{\titleauthor}[4][]{ - \thispagestyle{empty} % no page number - \vspace*{2.25in} - \begin{center}{\textbf{\MakeUppercase{#2}}}\\ - \vspace{\baselineskip} - by\\ - \vspace{\baselineskip} - #3\\ - \vspace*{\baselineskip} - \ifthenelse{\not\equal{#1}{}} - { - \scriptsize\copyright\normalsize#1 - }{ - \copyspace - } - \end{center} - \titlesepspace - \hspace*{4.0in}\parbox[t]{2.0in}{\raggedright#4} -% reset page numbers for actual blurb ... - \newpage\setcounter{page}{1} -} %titleauthor - -% \nicholl{title of your magnum opus} -% for Nicholl Competition -- just the title, not bolded ... -% -\newcommand{\nicholl}[1]{ - \thispagestyle{empty} - \vspace*{2.25in} - \begin{center}\MakeUppercase{#1}\end{center} -% reset page numbers for actual blurb ... - \newpage\setcounter{page}{1} -} %nicholl - -% \titleextra{extra blurb}{title}{author's name}{contact details\\email etc} -% for title page - author details with extra blurb -% not recommended by the Academy but by popular request, apparently -% some people like to put in copyright and WGA registration details -% +\thispagestyle{empty} +\vspace*{2.25in} +\begin{center}{\textbf{\MakeUppercase{#2}}}\\ +\vspace{\baselineskip} +by\\ +\vspace{\baselineskip} +#3\\ +\vspace*{\baselineskip} +\ifthenelse{\not\equal{#1}{}} +{ +\scriptsize\copyright\normalsize#1 +}{ +\copyspace +} +\end{center} +\titlesepspace +\hspace*{4.0in}\parbox[t]{2.0in}{\raggedright#4} +\newpage\setcounter{page}{1} +}%titleauthor \newcommand{\titleextra}[4]{ - \thispagestyle{empty} - \vspace*{2.25in} - \begin{center}{\textbf{\MakeUppercase{#2}}}\\ - \vspace{\baselineskip} - by\\ - \vspace{\baselineskip} - #3\\ - \vspace*{\baselineskip} - \copyspace - \end{center} - \titlesepspace - \parbox[t]{2.0in}{\raggedright#1}\hspace*{2.0in}\parbox[t]{2.0in}{\raggedright#4} -% reset page numbers for actual blurb ... - \newpage\setcounter{page}{1} -} %titleextra - -% -% end title page - author details - - -% \paren{hello world} -% parenthetical within dialogue env stage dirs ... -% only for _very short_ text (directions) within dialogue env -% the [optional arg] is for internal use only -% +\thispagestyle{empty} +\vspace*{2.25in} +\begin{center}{\textbf{\MakeUppercase{#2}}}\\ +\vspace{\baselineskip} +by\\ +\vspace{\baselineskip} +#3\\ +\vspace*{\baselineskip} +\copyspace +\end{center} +\titlesepspace +\parbox[t]{2.0in}{\raggedright#1}\hspace*{2.0in} +\parbox[t]{2.0in}{\raggedright#4} +\newpage\setcounter{page}{1} +}%titleextra \newcommand{\paren}[2][\\]{% #1\parentab\parbox[t]{\parenwidth}{\raggedright(#2)\parenkludge}\\ -} %paren - - -% dialogue environment ... -% -% \begin{dialogue}[directions]{character name} ... \end{dialogue} -% \begin{dialogue}{character name} ... \end{dialogue} -% -% minipage won't allow pagebreaks, see below for new manual -% pagebreak command for this env. -% NAME is outside \minipage to mitigate `Overfull \hbox' -% warnings with long names -% +}%paren \newenvironment{dialogue}[2][]{ \dialtab\dialnametab\hbox{\MakeUppercase{#2}}\nopagebreak\\ @@ -246,19 +133,7 @@ }{ \end{minipage} -}% end dialogue - -% Forcing pagebreak in dialogue, -% -% \dailbreak{Character} -% \dailbreak[directions]{Character} -% -% (need to know character name -- LaTeX scoping rules don't seem to -% like global vars, somebody tell me otherwise) -% NOTE: -% only do any manual pagebreaks when you absolutely positively -% have killed every muthafucka in the room! ... -% +}%dialogue \newcommand{\dialbreak}[2][]{ \\\dialnametab\hbox{(MORE)}% \end{dialogue} @@ -268,15 +143,8 @@ \begin{dialogue}[#1]{\MakeUppercase{#2} (CONT'D)} }{ \begin{dialogue}{\MakeUppercase{#2} (CONT'D)} -}%ifthenelse } - - -% INT and EXT sluglines with [optional] arg for night/day ... -% -% \intslug[time of day]{description text} -% \intslug{description text} -% +}%dialbreak \newcommand{\intslug}[2][]{ \MakeUppercase{INT. #2}% @@ -284,14 +152,9 @@ {% \slugspace\MakeUppercase{#1}\hspace{\fill} }{} -\nopagebreak - +\nopagebreak -}% intslug - -% \extslug[time of day]{description text} -% \extslug{description text} -% +}%intslug \newcommand{\extslug}[2][]{ \MakeUppercase{EXT. #2}% @@ -301,13 +164,7 @@ }{} \nopagebreak - -}% extslug - -% Apparently people do this ... -% \intextslug[time of day]{description text} -% \intextslug{description text} -% +}%extslug \newcommand{\intextslug}[2][]{ \MakeUppercase{INT./EXT. #2}% @@ -317,13 +174,7 @@ }{} \nopagebreak - -}% intextslug - -% and/or this ... -% \extintslug[time of day]{description text} -% \extintextslug{description text} -% +}%intextslug \newcommand{\extintslug}[2][]{ \MakeUppercase{EXT./INT. #2}% @@ -333,14 +184,7 @@ }{} \nopagebreak - -}% extintslug - -% Title over ... -% -% \begin{titleover} ... \end{titleover} -% as pseudo dialogue env (think ``Star Wars'') -% +}%extintslug \newenvironment{titleover}[1][]{ \ifthenelse{\not\equal{#1}{}} @@ -354,133 +198,46 @@ TITLE OVER:\\ \dialtab\begin{minipage}[b]{\dialwidth} \raggedright }{ - \end{minipage} -} - -% pagebreak for titleover environment ... -% +}%titleover \newcommand{\titbreak}{ \\\dialnametab\hbox{(MORE)}% \end{titleover} \pagebreak \begin{titleover}[CONT'D] -} - -% title over for short text, most often a date -% \centretitle{short text} -% +}%titbreak \newcommand{\centretitle}[1]{ - TITLE OVER: \nopagebreak \hspace*{\fill}{#1}\hspace{\fill} - -} %titleover - - -% \fadein -% +}%centretitle \newcommand{\fadein}{ - FADE IN: - -} %fadein - - -% \fadeout -% +}%fadein \newcommand{\fadeout}{ - \hspace*{\fill}FADE OUT: - -} %fadeout - - -% \intercut -% +}%fadeout \newcommand{\intercut}{ - \hspace*{\fill}INTERCUT WITH: - -} %intercut - - -% IMHO this stuff is useful for description ... -% +}%intercut \newcommand{\pov}{P.O.V. } \newcommand{\nb}{NOTE: } - -% yeah! \newcommand{\theend}{ - \hspace*{\fill}THE END\hspace{\fill} - -} %THE END - - -% specs from the Academy ... -% http://www.oscars.org/nicholl/format.html -% -% Letter paper 8.5"x11.0" -% Courier 12pt, 10 pitch -% -% PAGE -% Top margin: 1.0" -% Bottom margin:0.5"-1.5" -% Left margin: 1.5" -% Right margin: 1.0" -% -% DIALOGUE -% tab NAME to: 4.2" -% Left margin: 3.0" -% Right margin: 2.5" -% Parenthetical -% Left margin: 3.7" -% Right margin: 3.3" -% -% Numbering: Top Right, Arabic -% Top margin: 0.5" -% Right margin: 0.75" -% -% INT/EXT. SLUG LINE DESCRIPTION DAY/NIGHT -% ^^^ some kind of extra spacing -% -% $Id: screenplay.cls,v 1.451 2006/09/23 08:39:25 johnny Exp $ -% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= -% -% Latest version is available as: -% http://dvc.org.uk/sacrific.txt/screenplay.cls -% -% Copyright (C) 2006 John Pate -% -% This program is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by the -% Free Software Foundation; either version 2 of the License, or (at your -% option) any later version. -% -% This program 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. See the GNU General Public License -% for more details. -% -% You should have received a copy of the GNU General Public License along -% with this program; if not, write to the Free Software Foundation, Inc., -% 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -% -% GPL v2 text also available as: -% http://dvc.org.uk/gplv2.txt -% -% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +}%THE END +%% +%% Hail Eris! All Hail Discordia! +%% +%% End of file `screenplay.cls'. -- cgit v1.2.3