From fe77ff4cdab25604b424a273c726920830f63abc Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
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
---
 .../source/latex/screenplay/screenplay.dtx         | 1099 ++++++++++++++++++++
 1 file changed, 1099 insertions(+)
 create mode 100644 Master/texmf-dist/source/latex/screenplay/screenplay.dtx

(limited to 'Master/texmf-dist/source/latex/screenplay/screenplay.dtx')

diff --git a/Master/texmf-dist/source/latex/screenplay/screenplay.dtx b/Master/texmf-dist/source/latex/screenplay/screenplay.dtx
new file mode 100644
index 00000000000..a497fa1de4c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/screenplay/screenplay.dtx
@@ -0,0 +1,1099 @@
+% \iffalse
+% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
+% screenplay.dtx
+% Latest version is available as:
+%	http://dvc.org.uk/sacrific.txt/screenplay.zip
+%
+% Authored by and Copyright (C)2006 by
+%        John Pate <johnny@dvc.org.uk>
+%                http://dvc.org.uk
+%
+% 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 
+% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
+% \fi
+%
+% \iffalse
+%<*dtx>
+\ProvidesFile{screenplay.dtx}
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+%</dtx>
+%<driver>\ProvidesFile{screenplay.drv}
+% \fi
+%\ProvidesFile{screenplay}[2006/09/27 v1.487
+%	LaTeX2e Draft Screenplay document class
+%	(C)2006 John Pate
+%	released under the GNU General Public License]
+% \iffalse
+%<*driver>
+\documentclass{article}
+\usepackage{doc}
+\usepackage[dvips,letterpaper]{geometry}
+\RecordChanges
+\CodelineIndex
+\begin{document}
+	\DocInput{screenplay.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{295}
+% \changes{1.0.0}{2006 Sep 23}{initial version of \texttt{.dtx}, class date
+% \texttt{[2006/09/23]}}
+% \changes{1.0.1}{2006 Sep 24}{minor code changes, revision to documentation}
+% \changes{1.0.2}{2006 Sep 26}{minor code changes, revision to documentation,
+% added \texttt{test} file, % \texttt{example} file, to \texttt{.dtx},
+% amended \texttt{.ins}}
+% \changes{1.0.3}{2006 Sep 27}{minor code changes, revision to documentation,
+% added change history}
+%
+% \MakeShortVerb{\|}
+%
+% \GetFileInfo{screenplay}
+% \title{\bfseries A \LaTeXe\ class for Draft Screenplays}
+% \author{by\\John Pate}
+% \date{This paper describes class \texttt{\filename}\\
+% version \fileversion, released \filedate}
+% \maketitle
+%
+% \section{Introduction}
+%
+% Every year \textit{The Academy of Motion Picture Arts
+% and Sciences} runs a competition for screenplay writers,
+% the \textit{Nicholl Fellowships in Screenwriting}.
+% Full-length feature film screenplays are submitted (for
+% a fee).  You can win money but, more importantly, placing in
+% the competition will make agents take notice.  The
+% \textit{Academy} recommends a particular format which this
+% \texttt{class} file attempts to duplicate, using a 
+% \texttt{.pdf} available from the Academy website as the
+% model.  This format has various functions, amongst which is a
+% gate-keeping function to show you have at least a first idea.
+% It also gives readers a better chance of assessing how long,
+% in filmic terms, your screenplay would be.  Formatted along
+% the lines recommended, you should aim to have your screenplay
+% in the region of 120 pages long.  Although they say A4
+% paper is acceptable, it is widely held that you severely
+% handicap yourself if you don't use American 8.5" by 11"
+% Letter size paper.  I have a ream on my lap as I type: 20
+% pound, 106 bright, acid free.  My sister brought it from
+% America for me---it's very expensive to buy outside the US
+% and not easy to find.  However, if all else fails you can
+% have a stationer cut down A3 80gsm paper for you.  It won't
+% be the same weight but it's unlikely anyone will notice. One
+% might imagine it's at the photocopy stage that dealing with A4
+% in America becomes a nuisance---one more reason to put
+% your magnum opus to the bottom of the pile.
+%
+% Of course, if you didn't know this already you likely
+% need to do some serious reading and research \emph{before}
+% you start writing.  I guess trying to understand what's
+% going on here is a start.
+%
+% The format specifications are pretty straightforward.
+% You'll have to believe me when I say it wasn't quite so
+% straightforward for me to start from a minimal understanding
+% of \TeX\ and \LaTeXe\ to a usable \texttt{.dtx} file.
+%
+% This is an attempt to turn \TeX\ into a typewriter emulator.
+% A crazy idea---which is why it appealed to me, obviously.
+% Fortunately I'm easily entertained.
+%
+% I hope \texttt{screenplay.dtx} proves of use (and
+% instruction) to others as it has to me.
+%
+% Anyhoo, on with the show\dots
+% \pagebreak
+% \section{Getting started}
+%
+% You should have: 
+%   \begin{itemize}
+%       \item\texttt{README}---plain text file 
+%       \item\texttt{screenplay.dtx}---the source file 
+%       \item\texttt{screenplay.ins}---driver file
+%       \item\texttt{screenplay.pdf}---the file I assume you're reading right now
+%       \item\texttt{test.pdf}---format test \texttt{.pdf} result
+%       \item\texttt{COPYING}---GNU General Public License
+%   \end{itemize}
+% 
+% If not, get \texttt{screenplay.zip} via
+% \texttt{http://dvc.org.uk/sacrific.txt/screenplay.zip}
+% 
+% You use the command, \\
+% \texttt{> latex screenplay.ins}  \\
+% to generate from \texttt{screenplay.dtx}\dots
+%   \begin{itemize}
+%       \item\texttt{screenplay.cls}---class file
+%       \item\texttt{example.tex}---example (very) mini-screenplay
+%       \item\texttt{test.tex}---format test source file
+%   \end{itemize}
+%
+% Once you've unpacked the bundle and generated the \texttt{class} 
+% file do, \\
+% \texttt{> latex test} \\
+% to generate the \texttt{test.dvi} you can compare with the
+% \texttt{test.pdf}.
+%
+% Make sure everything in the printing chain can deal properly
+% with \emph{letter paper}.  Print out your version of
+% \texttt{test} and the provided \texttt{test.pdf} (on letter
+% paper of course!) and compare them.  The two printouts should
+% be dimensionally identical. If you have an old, or broken,
+% version of \texttt{dvips} you'll need to fix it before you
+% proceed further.
+%
+% \section{Some example bits of markup}
+%
+% Although \texttt{screenplay.cls} builds on the standard \TeX\ document
+% class \texttt{article}, it is not intended you pass it any options
+% (except for the release date specification, see below). 
+% The formatting required is minimalist. \texttt{screenplay.cls} will
+% issue an error message if you use any options.
+%
+% |\documentclass{screenplay}[2006/09/27]| \\
+% is your first command, you can give the optional date argument in
+% case of any earlier copies of \texttt{screenplay.cls} lying around.
+% I'll try not to break things retro-actively with later revisions
+% but this can't be guaranteed. Per this revision, anything marked
+% with |[2006/09/23]| or later will produce the expected results.
+%
+% Your second command is, of course\ldots\\ 
+% |\begin{document}| 
+%
+% The first typesetting command, in the body of the document, must
+% be the one to build the title page.  For the
+% \textit{Nicholl Competition} this is simply,\\
+% |\nicholl{the title of your screenplay}| \\
+% for other formats, please refer to \textbf{The Coding} section or
+% \texttt{example.tex}.
+%
+% The next command is always |\fadein| to produce the words FADE~IN:
+% left justified. 
+%
+% Next would typically be a slugline, \\
+% |\intslug[day]{Johnny's House}| \\
+% which would produce\ldots \\
+% INT.~JOHNNY'S HOUSE \quad DAY 
+%
+% I made the time of day optional because my screenplay had
+% stuff happening in space where there is no time of
+% day.  You will likely \emph{always} use either \textit{day}
+% or \textit{night}.  (Refer to the \textit{Academy's} information
+% on formatting.)  Likewise there's an |\extslug[]{}| for EXT.
+%
+% After a slugline you would typically have some description.  This
+% is simply ordinary text with paragraph breaks as per usual.
+%
+% When you get to dialogue, you have the |dialogue environment|.
+%
+% |\begin{dialogue}{Johnny}| |After| |some| |description| |you|\\
+% |would| |typically| |have|\quad  |some| |dialogue.| |\end{dialogue}|
+% 
+% Directions (short) can be put inside dialogue text either as an optional
+% argument to the dialogue environment, |\begin{dialogue}[shouting]{Johnny}| 
+% which will result in parenthesized text below the dialogue name, or
+% the |\paren{}| command can be used to put parentheticals into the
+% blocks of dialogue text.
+% 
+% Do not put any blank lines in dialogue text.
+%
+% So you wander on with your screenplay requiring little in the
+% way of \LaTeXe's spiffy powers until you reach the end of the
+% final scene.  Personally I use \texttt{Elvis} with a selection
+% of macros in my \texttt{.exrc} to save me having to type the
+% commands I've invented.
+%
+% The  command at the end of the final scene is always
+% |\fadeout| to produce the words FADE~OUT: flushright. 
+%
+% Then it's simply a case of |\theend| and |\end{document}|.
+%
+% The only tricky parts of the formatting are deciding where to
+% put \emph{pagebreaks} and hunting down places where
+% \emph{linebreaks}\ldots\ |\\|\ \dots will help \TeX\ out with
+% formatting.  You may need to insert linebreaks manually even
+% where `|Overfull \hbox|' warnings are absent.  You'll know
+% when it is necessary by spotting extra vertical whitespace in
+% the document.  |example.tex| demonstrates this, read through
+% the raw |.tex| file and try modifying it as indicated.
+% It's likely you will have to put a quite a few linebreaks
+% manually into dialogue text due to the restricted margins.
+%
+% \textbf{Do not put in pagebreaks until you have really, really,
+% really finished editing.}
+%
+% Putting in pagebreaks will likely involve using the |\dialbreak| 
+% command, though for description text |\pagebreak| is all that
+% is required. 
+% 
+% The |\dialbreak| command needs to know the character name and any
+% optional directions as required.
+%
+% If you've used the |\titleover environment| you may
+% need the |\titbreak| command (more tea, vicar?).  However, mostly
+% for TITLE OVER: you'll be doing a date to accommodate flash\-backs
+% or flash\-forwards, I expect, so use the |\centretitle| command
+% as in\\
+% |\centretitle{December 21, 2012}|.\\ 
+% Yes, that's the English (or for that matter French and Canadian)
+% ``centre'' not ``center'' in a stunning break from tradition.
+%
+% For further enlightenment, you should scrutinise the raw text of
+% \texttt{example.tex} and peruse \textbf{The Coding}
+% section of this document.
+% 
+% You can see a completed script marked-up
+% via \LaTeXe\ and formatted with \texttt{screenplay.cls}
+% at \texttt{http://dvc.org.uk/sacrific.txt/}. 
+% There is also, at time of writing, a ``work-in-progress'' script
+% that has had manual linebreaks inserted but not manual pagebreaks.
+% 
+% \section{Specs from the Academy}
+%
+% Be sure to read and inwardly digest,
+% \texttt{http://www.oscars.org/nicholl/format.html}
+% and view, \texttt{http://www.oscars.org/nicholl/script.pdf},
+% the model document.
+%
+%   \begin{itemize}
+% \item Letter paper 8.5"x11.0" \\
+% Courier 12pt, 10 pitch 
+% 
+% \item\textbf{Page} \nopagebreak \\
+% Top margin:	1.0" \\
+% Bottom margin: 0.5"-1.5" \\
+% Left margin:	1.5" \\
+% Right margin:	1.0" 
+% 
+% \item\textbf{Dialogue} \nopagebreak \\
+% tab NAME to:	4.2" \\
+% Left margin:	3.0" \\
+% Right margin:	2.5" \\
+%   \textsl{Parenthetical}\nopagebreak \\
+% Left margin:	3.7" \\
+% Right margin:	3.3" 
+% 
+% \item\textbf{Numbering} \nopagebreak \\
+% top right, Arabic \\
+% Top margin:	0.5" \\
+% Right margin:	0.75" 
+%   \end{itemize}
+% 
+% INT/EXT. SLUG LINE DESCRIPTION \quad  DAY/NIGHT \nopagebreak \\
+%	(with some kind of extra spacing before time of day)
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \section{The Coding}
+%
+% \texttt{screenplay.cls v1.487} was tested with\ldots 
+% \begin{itemize}
+%	\item pdfe\TeX\ 3.141592-1.21a-2.2 (\Web2C\ 7.5.4)
+%	\item \texttt{dvips(k)} 5.95a
+%	\item \texttt{kpathsea} version 3.5.4
+%	\item \texttt{article} 2004/02/16 v1.4f
+% \end{itemize}
+%
+% IMHO, it's worth reading through the comments, there's
+% some useful stuff for you in there. \\
+% \vspace{1ex} \\
+%\iffalse
+%<*class>
+%\fi
+% We are a \LaTeXe\ thang\ldots
+%    \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+%    \end{macrocode}
+% Say it like it is\ldots
+%    \begin{macrocode}
+\ProvidesClass{screenplay}[2006/09/27 v1.487
+	LaTeX2e Draft Screenplay document class
+	(C)2006 John Pate
+	released under the GNU General Public License]
+%    \end{macrocode}
+% Whinge if the user is being a bozo\ldots
+%    \begin{macrocode}
+\DeclareOption*{%
+        \PackageError{screenplay}{Unwanted option '\CurrentOption'}%
+        {There are no options available for class screenplay v1.487}}
+\ProcessOptions\relax
+%    \end{macrocode}
+% |ifthen| needed for testing for optional args\ldots 
+%    \begin{macrocode}
+\RequirePackage{ifthen}
+%    \end{macrocode}
+% Use \texttt{article} class for its base functionality,
+% \emph{must} be
+% American letter paper \emph{not} A4, \texttt{screenplay.cls}
+% eats any papersize options and ignores them\ldots
+%    \begin{macrocode}
+\LoadClass[12pt,letterpaper,onecolumn,oneside]{article}[2004/02/16]
+%    \end{macrocode}
+% \texttt{geometry} package makes dvips/pdf do the right thang
+% for letter paper\ldots
+%    \begin{macrocode}
+\RequirePackage[dvips,letterpaper]{geometry}
+%    \end{macrocode}
+% \ldots and make sure your printer driver knows letter.
+% Yes, you \emph{must} use American 8.5"x11" letter
+% paper---stationers in the UK call it `quarto' paper,
+% see\ldots\\
+% \texttt{http://www.gwydir.demon.co.uk/jo/units/print.htm}
+%    \begin{macrocode}
+\setlength{\paperheight}{11in}
+\setlength{\paperwidth}{8.5in}
+%    \end{macrocode}
+%
+% \emph{Must} have \texttt{Courier} as font (may cause warnings about
+% font stuff, ignore)\ldots 
+%    \begin{macrocode}
+\RequirePackage{courier}
+\renewcommand*\familydefault{\ttdefault}
+%    \end{macrocode}
+% Can load hyphenation ability for non-standard font\ldots
+%    \begin{macrocode}
+%\RequirePackage[htt]{hyphenat}
+%    \end{macrocode}
+% but \emph{don't}, you should \emph{not} hyphenate for Nicholl format
+% you want this\dots 
+%    \begin{macrocode}
+\raggedright
+%    \end{macrocode}
+% (you'll have to nuke |\raggedright| wherever found to test out
+% hyphenation)
+%
+%    \begin{macro}{Page Nums}
+% Arabic top right\ldots
+%    \begin{macrocode}
+\pagenumbering{arabic}
+\pagestyle{myheadings}
+%    \end{macrocode}
+%    \begin{macro}{CR/LF}
+% Line spacing / pitch---it looks to me the standard
+% \LaTeXe\ \texttt{courier} font is correct pitch,
+% 12pt line-spacing is what's in \texttt{script.pdf}\ldots
+%    \begin{macrocode}
+\setlength{\baselineskip}{12pt plus 0pt minus 0pt}
+%    \end{macrocode}
+% and this |\baselinestretch| appears to emulate \texttt{script.pdf}
+% closely\dots
+%    \begin{macrocode}
+\renewcommand*{\baselinestretch}{0.8}
+%    \end{macrocode}
+% adjust space above |\minipage| in dialogue to emulate
+% description linebreaks, must be adjusted if |\baselinestretch|
+% is altered\ldots
+%    \begin{macrocode}
+\newcommand{\dialfix}{\vspace{3pt}}
+%    \end{macrocode}
+% skip one line between paras\ldots
+%    \begin{macrocode}
+\setlength{\parskip}{\baselineskip}
+%    \end{macrocode}
+% no paragraph indent\ldots 
+%    \begin{macrocode}
+\setlength{\parindent}{0in}
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{Margins/tabs}
+% See specs, 
+% fudge factors needed to resemble the `correct'
+% layout, take a ruler to it and \texttt{script.pdf}\ldots
+%
+% left margin 1.5", default 1" +
+%    \begin{macrocode}
+\setlength{\evensidemargin}{0.5in}
+\setlength{\oddsidemargin}{0.5in}
+%    \end{macrocode}
+% top margin (0.5" to number, 1" to body)\ldots
+%    \begin{macrocode}
+\setlength{\topmargin}{-0.5in}
+\setlength{\headsep}{0.4in}
+\setlength{\topskip}{0in}
+%    \end{macrocode}
+% 11" - (1" top margin) - (0.5" bottom) = 
+%    \begin{macrocode}
+\setlength{\textheight}{9.5in}
+%    \end{macrocode}
+% \ldots bottom can go to 1.5" for page breaking purposes.
+%
+% 6" width for description text to give 1" right margin, +0.1" fudge\ldots 
+%    \begin{macrocode}
+\setlength{\textwidth}{6.1in}
+%    \end{macrocode}
+% Extra inter-word spacing in sluglines\ldots 
+%    \begin{macrocode}
+\newcommand{\slugspace}{\hspace{2.0em plus 0em minus 0em}}
+%    \end{macrocode}
+% \ldots could do it various other ways\ldots
+%    \begin{macrocode}
+%\newcommand{\slugspace}{ - }
+%\newcommand{\slugspace}{\quad}
+%    \end{macrocode}
+% \textbf{Tabbing / spacing dialogues}\\
+% Width of dialogue text, 3" with 0.2" fudge\ldots
+%    \begin{macrocode}
+\newcommand{\dialwidth}{3.2in}
+%    \end{macrocode}
+%	3" from left edge of page (1.5" left margin + 1.5")\ldots
+%    \begin{macrocode}
+\newcommand{\dialtab}{\hspace*{1.5in}}
+%    \end{macrocode}
+%	 \textbf{name}, tab in 4.2" (margin + |\dialtab| + |\dialnametab|)
+% from left edge of page\ldots
+%    \begin{macrocode}
+\newcommand{\dialnametab}{\hspace*{1.2in}}
+%    \end{macrocode}
+%	parenthetical 1.5" with 0.2" fudge\ldots
+%    \begin{macrocode}
+\newcommand{\parenwidth}{1.7in}
+%    \end{macrocode}
+%	parenthetical, tab in 3.7" (margin + |\dialtab| + |\parentab|)
+% from left edge of page\ldots
+%    \begin{macrocode}
+\newcommand{\parentab}{\hspace{0.7in}}
+%    \end{macrocode}
+% fix for formatting of multi-line parenthetical
+% (I really should look at the \TeX\ source sometime because
+% I don't know why I had to do this.)\ldots
+%    \begin{macrocode}
+\newcommand{\parenkludge}{\dialfix}
+%    \end{macrocode}
+%
+% AFAICS floats not involved\ldots
+%    \begin{macrocode}
+\renewcommand*{\textfraction}{1}
+\renewcommand*{\topfraction}{0}
+\renewcommand*{\bottomfraction}{0}
+%    \end{macrocode}
+%    \end{macro}
+% \textbf{Title Page} 
+%
+% Use one of |\nicholl|, |\titleauthor|, |\titleextra| to taste.
+% This must be the first command after |\begin{document}|.
+%
+% \begin{macro}{\nicholl}
+% |\nicholl{title of your magnum opus}|
+% for Nicholl Competition---just the title, not bolded\ldots
+%    \begin{macrocode}
+\newcommand{\nicholl}[1]{
+	\thispagestyle{empty}
+	\vspace*{2.25in}
+	\begin{center}\MakeUppercase{#1}\end{center}
+	\newpage\setcounter{page}{1}
+}%nicholl
+%    \end{macrocode}
+% \end{macro}
+% Now the ability to make the the type of cover pages for
+% Draft Scripts submitted to agents, 
+% |\titleauthor| being of the form suggested in \texttt{script.pdf}.
+%
+% You may have to adjust the |\titlesepspace| if you put in
+% a lot of text but if you do there's probably too much\ldots
+%    \begin{macrocode}
+\newcommand{\titlesepspace}{\vspace{3.75in plus 0in minus 1.0in}}
+%    \end{macrocode}
+% there's also a the space occupied by the optional copyright
+% year\ldots
+%    \begin{macrocode}
+\newcommand{\copyspace}{\vspace*{2ex plus 0ex minus 0ex}}
+%    \end{macrocode}
+%
+% \begin{macro}{\titleauthor}
+% |\titleauthor| |[year]| |{title}| |{author's name}|
+% 		|{contact details\\email etc}|
+% the copyright notice doesn't fit the spec so optional\dots if you
+% put it on the web though \copyright\ certainly won't hurt! 
+%    \begin{macrocode}
+\newcommand{\titleauthor}[4][]{
+%    \end{macrocode}
+% no page number\ldots
+%    \begin{macrocode}
+	\thispagestyle{empty}
+%    \end{macrocode}
+% 0.5" topmargin +\ldots
+%    \begin{macrocode}
+	\vspace*{2.25in}
+%    \end{macrocode}
+% centre and bold the title (bolding the title is probably the only
+% embellishment you're allowed)\ldots
+%    \begin{macrocode}
+	\begin{center}{\textbf{\MakeUppercase{#2}}}\\
+		\vspace{\baselineskip}
+		by\\
+		\vspace{\baselineskip}
+		#3\\
+		\vspace*{\baselineskip}
+%    \end{macrocode}
+% logic for handling optional \copyright\ argument\ldots
+%    \begin{macrocode}
+	\ifthenelse{\not\equal{#1}{}}
+	{
+		\scriptsize\copyright\normalsize#1
+	}{
+		\copyspace
+	}
+	\end{center}
+%    \end{macrocode}
+% |\titlesepspace| is a rubber length, try not put in excessive
+% amounts of text though\ldots
+%    \begin{macrocode}
+	\titlesepspace
+%    \end{macrocode}
+% Details in a |\parbox| 5" out from left margin\ldots
+%    \begin{macrocode}
+	\hspace*{4.0in}\parbox[t]{2.0in}{\raggedright#4} 
+%    \end{macrocode}
+% reset page numbers for actual blurb\ldots
+%    \begin{macrocode}
+	\newpage\setcounter{page}{1}
+}%titleauthor
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\tilteextra}
+% |\titleextra{extra blurb}| |{title}| |{author's name}|
+%		|{contact details\\email etc}|
+% for title page---author details with extra blurb
+% not recommended by \texttt{script.pdf}  but by popular request,
+% apparently some people like to put in copyright and
+% WGA registration details
+%    \begin{macrocode}
+\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
+%    \end{macrocode}
+% Extra details 3" out in a |\parbox|, 2" space then other details
+% in a |\parbox| 5" out\ldots
+%    \begin{macrocode}
+	\parbox[t]{2.0in}{\raggedright#1}\hspace*{2.0in}
+		\parbox[t]{2.0in}{\raggedright#4} 
+	\newpage\setcounter{page}{1}
+}%titleextra
+%    \end{macrocode}
+% \end{macro}
+% End title page---author details 
+% \end{macro}
+% \textbf{Dialogue blocks}\ldots
+%    \begin{macro}{\paren}
+% |\paren{hello world}|
+% parenthetical within dialogue environment stage dirs\ldots
+% only for \emph{very short} text (directions) within dialogue
+% environment, the optional argument is for internal use
+% \emph{only}\ldots
+%    \begin{macrocode}
+\newcommand{\paren}[2][\\]{%
+#1\parentab\parbox[t]{\parenwidth}{\raggedright(#2)\parenkludge}\\
+}%paren
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{dialogue env}
+% |\begin{dialogue}[directions]{character name}| \ \ldots\  |\end{dialogue}|\\
+% |\begin{dialogue}{character name}| \ \dots\   |\end{dialogue}|\\
+% |\minipage| won't allow pagebreaks, see below for new manual
+% pagebreak command for this environment.  Do \emph{not} have blank lines
+% inside this environment.
+% \textbf{Name} is outside |\minipage| to mitigate `|Overfull \hbox|' 
+% warnings with long names\ldots
+%    \begin{macrocode}
+\newenvironment{dialogue}[2][]{
+
+\dialtab\dialnametab\hbox{\MakeUppercase{#2}}\nopagebreak\\
+\dialtab\begin{minipage}[b]{\dialwidth}
+\dialfix
+\raggedright
+\ifthenelse{\not\equal{#1}{}}
+{
+\paren[]{#1}
+}{}
+}{
+\end{minipage}
+
+}%dialogue
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\dialbreak}
+% Forcing pagebreak in dialogue,\\
+% |\dialbreak{Character}| \\
+% |\dialbreak[directions]{Character}|\\
+% (need to know character name---\LaTeXe\ scoping rules don't
+% seem to like global vars, somebody tell me otherwise)
+% \emph{Note:}
+% only do any manual pagebreaks when you absolutely positively
+% have killed every muthafucka in the room!\dots
+%    \begin{macrocode}
+\newcommand{\dialbreak}[2][]{
+\\\dialnametab\hbox{(MORE)}%
+\end{dialogue}
+\pagebreak
+\ifthenelse{\not\equal{#1}{}}
+{
+\begin{dialogue}[#1]{\MakeUppercase{#2} (CONT'D)}
+}{
+\begin{dialogue}{\MakeUppercase{#2} (CONT'D)}
+}
+}%dialbreak
+%    \end{macrocode}
+%    \end{macro}
+% \textbf{Sluglines}\\
+% Optional arg for night/day.
+% You probably should not consider time of day optional when
+% you're writing descriptions---unless you're in a spaceship,
+% of course\ldots
+%    \begin{macro}{\intslug}
+% INT. SLUGLINE DESCRIPTION \quad DAY\\
+% |\intslug[time of day]{description text}|\\
+% |\intslug{description text}|
+%    \begin{macrocode}
+\newcommand{\intslug}[2][]{
+
+\MakeUppercase{INT. #2}%
+\ifthenelse{\not\equal{#1}{}}
+                {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
+                }{}
+\nopagebreak 
+
+
+}%intslug
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\extslug}
+% EXT. SLUGLINE DESCRIPTION \quad DAY\\
+% |\extslug[time of day]{description text}| \\
+% |\extslug{description text}|
+%    \begin{macrocode}
+\newcommand{\extslug}[2][]{
+
+\MakeUppercase{EXT. #2}%
+\ifthenelse{\not\equal{#1}{}}
+                {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
+                }{}
+\nopagebreak
+
+
+}%extslug
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\intextslug}
+% Apparently people do this\dots \\
+% INT./EXT. SLUGLINE DESCRIPTION \quad DAY\\
+% |\intextslug[time of day]{description text}| \\
+% |\intextslug{description text}|
+%    \begin{macrocode}
+\newcommand{\intextslug}[2][]{
+
+\MakeUppercase{INT./EXT. #2}%
+\ifthenelse{\not\equal{#1}{}}
+                {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
+                }{}
+\nopagebreak
+
+
+}%intextslug
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\extintslug}
+% and/or this\dots \\ 
+% EXT./INT. SLUGLINE DESCRIPTION \quad DAY\\
+% |\extintslug[time of day]{description text}| \\
+% |\extintextslug{description text}|
+%    \begin{macrocode}
+\newcommand{\extintslug}[2][]{
+
+\MakeUppercase{EXT./INT. #2}%
+\ifthenelse{\not\equal{#1}{}}
+                {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
+                }{}
+\nopagebreak
+
+
+}%extintslug
+%    \end{macrocode}
+%    \end{macro}
+% \textbf{Title Over}
+%
+%    \begin{macro}{titleover env}
+% Title Over\ldots\\
+% |\begin{titleover}| \ \ldots\  |\end{titleover}|
+% as pseudo dialogue environment (think ``Star Wars'')
+% the optional argument is for internal use \emph{only}\ldots
+%    \begin{macrocode}
+\newenvironment{titleover}[1][]{
+
+\ifthenelse{\not\equal{#1}{}}
+{%true
+TITLE OVER (#1):\\
+}{%false
+TITLE OVER:\\
+}%ifthenelse
+\vspace{\baselineskip}
+\nopagebreak
+\dialtab\begin{minipage}[b]{\dialwidth}
+\raggedright
+}{
+\end{minipage}
+
+}%titleover
+%    \end{macrocode}
+%    \end{macro}
+%
+%    \begin{macro}{\titbreak}
+% pagebreak for titleover environment\ldots
+%    \begin{macrocode}
+\newcommand{\titbreak}{
+\\\dialnametab\hbox{(MORE)}%
+\end{titleover}
+\pagebreak
+\begin{titleover}[CONT'D]
+}%titbreak
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\centretitle}
+% titleover for short text
+% |\centretitle| |{short text}|
+% most often a date\ldots
+%    \begin{macrocode}
+\newcommand{\centretitle}[1]{
+
+
+TITLE OVER:
+\nopagebreak
+
+\hspace*{\fill}{#1}\hspace{\fill}
+
+
+}%centretitle
+%    \end{macrocode}
+%    \end{macro}
+% \textbf{Other spiffy macros}
+%
+%    \begin{macro}{\fadein}
+% |\fadein|
+% always the \emph{first} thing in your script, for some reason\ldots
+%    \begin{macrocode}
+\newcommand{\fadein}{
+
+
+FADE IN:
+
+
+}%fadein
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\fadeout}
+% |\fadeout|
+% always the last thing in your script, for some reason\ldots
+%
+%    \begin{macrocode}
+\newcommand{\fadeout}{
+
+
+\hspace*{\fill}FADE OUT:
+
+
+}%fadeout
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\intercut}
+% I don't bother with this but it's in \texttt{script.pdf}\ldots
+%    \begin{macrocode}
+\newcommand{\intercut}{
+
+
+\hspace*{\fill}INTERCUT WITH:
+
+
+}%intercut
+%    \end{macrocode}
+%    \end{macro}
+% IMHO this stuff is useful for description ...
+%    \begin{macro}{\pov}
+% point of view\ldots
+%    \begin{macrocode}
+\newcommand{\pov}{P.O.V. }
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\nb}
+%    \begin{macrocode}
+\newcommand{\nb}{NOTE: }
+%    \end{macrocode}
+%    \end{macro}
+%    \begin{macro}{\theend}
+% Yeah! This is what we've been waiting for\ldots
+% OK, so this is actually the \emph{last} thing in the script\ldots
+%    \begin{macrocode}
+\newcommand{\theend}{
+
+
+\hspace*{\fill}THE END\hspace{\fill}
+
+
+}%THE END
+%    \end{macrocode}
+%    \end{macro}
+%\iffalse
+%</class>
+%\fi
+% \section{Todo}
+% If anybody else uses it maybe they'll spot stuff that's
+% wrong but \textsl{Johnny} says, ``It works for me.''
+%
+% The test file \texttt{test.tex} shows \texttt{screenplay}
+% markup applied to ``FOR A FEW DAYS MORE''
+% (\texttt{http://www.oscars.org/nicholl/script.pdf})
+% and the \texttt{test.pdf} file was generated from that.
+%
+% A printout of the first page \texttt{script.pdf} and
+% \texttt{test.pdf} show identical pitch and the inter-line
+% spacing is pretty damn close.
+% You can easily tell which is which because \texttt{test.pdf}
+% numbers the first page, \texttt{script.pdf} starts numbering
+% on page~2.  You can suppress the first page number in your
+% own documents with the |\thispagestyle{empty}| command if
+% you so desire.  (The cover page is how \emph{I} want it.)
+%
+% If I get any \emph{useful} feedback I \emph{may} alter things
+% accordingly.
+%
+% Feel free to help with documentation.
+%
+% \section{A note for our Sponsor}
+%
+% I don't think I'm alone when I say\ldots 
+% \bigskip
+%
+% \Huge Hail Eris!
+%
+%  All Hail Discordia!
+%
+%\normalsize
+%\iffalse
+%<*rider>
+%% Test document: facsimile of first page
+%% of http://www.oscars.org/nicholl/script.pdf
+%% to demonstrate veracity of class screenplay
+%% see http://www.dvc.org.uk/sacrific.txt/
+%% for more information on the document class.
+%%
+\documentclass{screenplay}[2006/09/27]
+\begin{document}
+\titleauthor{For a Few Days More}{April Rider}
+{April Rider\\
+555 George St NNW\\
+Kaplan, ND 77777\\
+999-999-9999}
+\fadein
+\intslug[day]{Driskill Hotel Seminar Room}
+JOE and APRIL burst through the doors into a clean, well-lit
+seminar room.
+\begin{dialogue}{Joe}
+Are we in time?
+\end{dialogue}
+\begin{dialogue}{April}
+How could they start without us?
+We're the main attraction.
+\end{dialogue}
+Joe catches his breath as he leans against the podium at the
+front of the room.
+\begin{dialogue}[looking about the room]{Joe}
+We are?
+\end{dialogue}
+\begin{dialogue}{April}
+Don't be a moron.  You know we've
+been invited to Austin to discuss
+script format.
+\end{dialogue}
+\begin{dialogue}{Joe}
+But why is the room empty?
+\end{dialogue} 
+April and Joe both look out across the room~-- rows of empty
+chairs and nary a person in sight.
+\begin{dialogue}{April}
+Okay, okay, don't panic.
+\end{dialogue} 
+She takes three deep breaths.  Then she looks at her watch
+and smiles.
+\begin{dialogue}[continuing]{April}
+We're an hour early.\dots  We should
+rehearse.
+\end{dialogue}
+\begin{dialogue}{Joe}
+Okay, you start.  Margins?
+\end{dialogue} 
+\begin{dialogue}{April}
+Left, 1.5 inches.  Right, 1.0
+inches.  Top, 1.0 inches to the
+body, 0.5 inches to the number.
+Bottom, 0.5 to 1.5 inches,
+depending on where the page break
+comes.
+\end{dialogue} 
+\end{document}
+%</rider>
+%\fi
+%\iffalse
+%<*example>
+\documentclass{screenplay}[2006/09/27]
+\begin{document}
+%% cover page, this command has to go first ...
+%% choose one of \titleauthor, \titleextra, \nicholl ...
+%%
+%% copyright year is [optional]
+%% (apparently putting your copyright on things upsets studio moguls)
+\titleauthor[2006]
+{Example .tex}
+{John Pate}{%
+Your address\\
+here if you're\\
+going postal\\
+UK\\
+\vspace{2ex} % skip a line
++44~(0)131~999~9999\\
+johnny@dvc.org.uk
+}
+%% ... or use ...
+%% \titleextra{%
+%% \copyright 2006 John Pate\\
+%% ALL RIGHTS RESERVED 
+%% }
+%% {Example .tex}
+%% {John Pate}{%
+%% Your address\\
+%% here if you're\\
+%% going postal\\ \\
+%% +44~(0)131~999~9999\\
+%% http://dvc.org.uk\\%
+%% johnny@dvc.org.uk%
+%% }
+%%
+%% or for the Nicholl Fellowships ...
+%% \nicholl{Example .tex}
+%%
+%% end cover page
+%%
+%% TeX allows quite a lot of leeway in whitespace, so I've messed this
+%% up a bit.  I find keeping the format structured helps me a lot tho.
+%% Note: but don't have blank lines *inside* the body of text in
+%% a dialogue environment.
+%% I use vi (Elvis) with macros to make a lot of typing disappear.
+%% 
+%% Anyhoo, on with the show ... 
+%% 
+%% for some reason this always happens at the start ...
+\fadein
+
+\intslug[illumination]{example sample -- screenplay.cls}
+
+
+\begin{dialogue}{Bob}
+That means that someone
+sabotaged the unit and killed the
+President! Was it one of us?
+\end{dialogue}
+\begin{dialogue}{Brown}
+Who else is mad but us, Condi~--
+and Bliar?
+\end{dialogue}
+
+Bob buries his head in his hands.
+\intercut
+
+\intslug{Atlantis -- somewhere ANyway}
+
+John and Mark are at adjacent consoles. Fred is with them. Tom
+is at another console slightly further away.
+
+\begin{dialogue}{John}
+The planetoid seems to have a thin crust
+covering a nickel-iron core. Could have
+been an Earth-like planet at one time.
+\end{dialogue}
+
+\begin{dialogue}{Mark}
+We're coming up on the radio source now.
+\end{dialogue}
+
+Brown walks in and goes to a console.
+
+He has a PARROT on his shoulder.
+
+The Parrot has an air of quiet insouciance.
+
+\begin{dialogue}{Fred}
+Switch the visual to main screen so we
+can get a good look.\end{dialogue}
+
+They look up at the main screen.
+
+\begin{dialogue}[to John and Mark]{Fred}
+Lock on to that.
+\dialbreak[to Tom]{Fred}%
+Establish planetary orbit.
+\end{dialogue}
+
+\intextslug[day]{in or out}
+Apparently some people do this.
+
+\extintslug[night]{out or in}
+Or even this.
+
+\extslug[day or nite]{NO WARRANTY -- EXPRESS OR IMPLIED}
+
+\pov I made the slugline DAY/NIGHT optional 'cause in space no-one can
+tell the time.  You probably will need to specify.
+
+\nb  Don't put in pagebreaks by hand until you're really, really
+finished editing!
+
+%% see what happens if you take out the linebreak
+It isn't the done thing to hyphenate for formatting \\
+ purposes.
+\centretitle{http://dvc.org.uk/sacrific.txt/}
+
+That was a centred titleover.
+\begin{titleover}There's a titleover environment for dialogue-like layout if you're
+doing the "Star Wars" thing.\end{titleover}\extslug[All Hail Discordia!]{where to find us}
+http://dvc.org.uk/sacrific.txt/screenplay.zip
+
+Use the source, Luke.
+
+\extslug[illumination]{for definitive info on layout}
+
+http://www.oscars.org/nicholl/format.html
+
+%% and this always happens at the end ...
+\fadeout
+
+\theend
+
+\end{document}
+%</example>
+%\fi
+% \Finale
+\endinput
-- 
cgit v1.2.3

