summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/screenplay
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-09-24 13:23:19 +0000
committerKarl Berry <karl@freefriends.org>2006-09-24 13:23:19 +0000
commit503f8a5703fafd2ac586dfe19ad586cb218426cb (patch)
treeb7bb319f16aa3bd8278460106fdb1d62b9e0c2ee /Master/texmf-dist/tex/latex/screenplay
parent50149508a85f6d47cc39aeb2be753609042a35f5 (diff)
screenplay update (22sep06)
git-svn-id: svn://tug.org/texlive/trunk@2184 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/screenplay')
-rw-r--r--Master/texmf-dist/tex/latex/screenplay/screenplay.cls221
1 files changed, 125 insertions, 96 deletions
diff --git a/Master/texmf-dist/tex/latex/screenplay/screenplay.cls b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls
index 186a3ec309a..cfb30df3f5e 100644
--- a/Master/texmf-dist/tex/latex/screenplay/screenplay.cls
+++ b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls
@@ -1,4 +1,4 @@
-% $Header: /home/johnny/html/Sacrifice/LaTeX/RCS/screenplay.cls,v 1.440 2006/09/19 12:58:41 johnny Exp $
+% $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
@@ -11,17 +11,26 @@
% 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
+
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{screenplay}
+% Version used in testing ...
+\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.]
-% article class seems to work ...
+% Some initialization...
+
+% Needed for testing for optional args ...
%
-\DeclareOption*{
- \PassOptionsToClass{\CurrentOption}{article}
- }
-\ProcessOptions
+\RequirePackage{ifthen}
% MUST be 12pt, MUST be American letter paper NOT A4 ...
@@ -32,10 +41,10 @@
%
\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
+% 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
@@ -45,39 +54,53 @@
\renewcommand*\familydefault{\ttdefault}
-% needed for testing for optional args ...
-%
-\RequirePackage{ifthen}
-
-
-% can load hyphenation ability for non-standard font ...
+% 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
+% You'll have to nuke \raggedright wherever found to test out
% hyphenation
%
-% between this and the `fixed pitch' typewriter font we may
-% want to live with one or two `Overfull \hbox' warnings in
-% final copy (a word going into the right margin). You will
-% likely have to add a few \\ to some of the dialogue text
-% blocks to help TeX out with linebreaks so the formatting
-% works, or you'll get extra space where you don't want it.
+% 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 ...
+
+% Page Numbers top right ...
\pagestyle{myheadings}
-% margins and such see specs at end ...
-% -- fudge factors are apparent in `script.pdf' (use a ruler)
-% they're needed to approach the `correct' margins with tt font ...
+% 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{\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}
@@ -95,42 +118,36 @@
% 6" for 1" right margin ...
\setlength{\textwidth}{6.1in} % 0.1" fudge
%
+% extra inter-word spacing in sluglines ...
+\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{\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{\parenwidth}{1.7in} %parenthetical 1.5" with 0.2" fudge
\newcommand{\parentab}{\hspace{0.7in}} % paren, tab in 3.7" from left
%
-% kludgy fix for formatting of parenthetical ...
-\newcommand{\parenkludge}{\vspace{5pt}}
-% multi-line parentheticals require this be in, tested with
-% TeX 3.141592 (Web2C 7.5.4)
-% pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4)
-% kpathsea version 3.5.4
-
-
-% line spacing / pitch / parindent
+\newcommand{\dialfix}{\vspace{5pt}} % adjust space above dialogue
%
-% fixed pitch, 10pt ...
-\setlength{\baselineskip}{10pt plus 0pt minus 0pt}
-% LaTeX floats minipages and centring (I assume) so fix them ...
-\setlength{\floatsep}{\baselineskip}
-\setlength{\textfloatsep}{\baselineskip}
-\setlength{\intextsep}{\baselineskip}
-%
-% skip one line between paras ...
-\setlength{\parskip}{\baselineskip}
-% no paragraph indent ...
-\setlength{\parindent}{0in}
+% fix for formatting of multi-line parenthetical ...
+\newcommand{\parenkludge}{\dialfix}
+% ... more missing space to put back
+% (I really should look at the TeX source sometime.)
-% for title page - author details ...
+% 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 \vspace if you put in a lot of text
+% you may have to adjust the \titlesepspace if you put in a lot of text
+%
+\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}
@@ -144,17 +161,17 @@
\vspace{\baselineskip}
by\\
\vspace{\baselineskip}
- #3
+ #3\\
+ \vspace*{\baselineskip}
\ifthenelse{\not\equal{#1}{}}
{
- \\\vspace{\baselineskip}\scriptsize\copyright\normalsize#1%
- \end{center}
- \vspace{4.0in}
- }{%
- \end{center}
- \vspace{4.2in}
+ \scriptsize\copyright\normalsize#1
+ }{
+ \copyspace
}
- \hspace{4.0in}\parbox[t]{2.0in}{\raggedright#4}
+ \end{center}
+ \titlesepspace
+ \hspace*{4.0in}\parbox[t]{2.0in}{\raggedright#4}
% reset page numbers for actual blurb ...
\newpage\setcounter{page}{1}
} %titleauthor
@@ -182,8 +199,11 @@
\vspace{\baselineskip}
by\\
\vspace{\baselineskip}
- #3\end{center}
- \vspace{4.2in}
+ #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}
@@ -196,9 +216,10 @@
% \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
%
-\newcommand{\paren}[1]{%
-\\\parentab\parbox[t]{\parenwidth}{\raggedright(#1)\parenkludge}\\
+\newcommand{\paren}[2][\\]{%
+#1\parentab\parbox[t]{\parenwidth}{\raggedright(#2)\parenkludge}\\
} %paren
@@ -208,20 +229,22 @@
% \begin{dialogue}{character name} ... \end{dialogue}
%
% minipage won't allow pagebreaks, see below for new manual
-% pagebreak command for this env
-% (you can centre the NAME but tabbing is more typewriter-esque)
+% pagebreak command for this env.
+% NAME is outside \minipage to mitigate `Overfull \hbox'
+% warnings with long names
%
\newenvironment{dialogue}[2][]{
+\dialtab\dialnametab\hbox{\MakeUppercase{#2}}\nopagebreak\\
\dialtab\begin{minipage}[b]{\dialwidth}
+\dialfix
\raggedright
-\dialnametab\hbox{\MakeUppercase{#2}}
-%\centerline{\MakeUppercase{#2}}
\ifthenelse{\not\equal{#1}{}}
{
-\paren{#1}
-}{\\}
-}{ \end{minipage}
+\paren[]{#1}
+}{}
+}{
+\end{minipage}
}% end dialogue
@@ -238,7 +261,6 @@
%
\newcommand{\dialbreak}[2][]{
\\\dialnametab\hbox{(MORE)}%
-%\centerline{(MORE)}%
\end{dialogue}
\pagebreak
\ifthenelse{\not\equal{#1}{}}
@@ -257,13 +279,14 @@
%
\newcommand{\intslug}[2][]{
-\MakeUppercase{INT. #2}
+\MakeUppercase{INT. #2}%
\ifthenelse{\not\equal{#1}{}}
- {% 1em = width of `M'
-\hspace{1em}\MakeUppercase{#1}
+ {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
}{}
\nopagebreak
+
}% intslug
% \extslug[time of day]{description text}
@@ -271,13 +294,14 @@
%
\newcommand{\extslug}[2][]{
-\MakeUppercase{EXT. #2}
+\MakeUppercase{EXT. #2}%
\ifthenelse{\not\equal{#1}{}}
{%
-\hspace{1em}\MakeUppercase{#1}
+\slugspace\MakeUppercase{#1}\hspace{\fill}
}{}
\nopagebreak
+
}% extslug
% Apparently people do this ...
@@ -286,13 +310,14 @@
%
\newcommand{\intextslug}[2][]{
-\MakeUppercase{INT./EXT. #2}
+\MakeUppercase{INT./EXT. #2}%
\ifthenelse{\not\equal{#1}{}}
{%
-\hspace{1em}\MakeUppercase{#1}
+\slugspace\MakeUppercase{#1}\hspace{\fill}
}{}
\nopagebreak
+
}% intextslug
% and/or this ...
@@ -301,13 +326,14 @@
%
\newcommand{\extintslug}[2][]{
-\MakeUppercase{EXT./INT. #2}
+\MakeUppercase{EXT./INT. #2}%
\ifthenelse{\not\equal{#1}{}}
{%
-\hspace{1em}\MakeUppercase{#1}
+\slugspace\MakeUppercase{#1}\hspace{\fill}
}{}
\nopagebreak
+
}% extintslug
% Title over ...
@@ -337,22 +363,22 @@ TITLE OVER:\\
%
\newcommand{\titbreak}{
\\\dialnametab\hbox{(MORE)}%
-%\centerline{(MORE)}%
\end{titleover}
\pagebreak
\begin{titleover}[CONT'D]
}
-
% title over for short text, most often a date
% \centretitle{short text}
%
\newcommand{\centretitle}[1]{
+
TITLE OVER:
-\vspace{\baselineskip}
\nopagebreak
-\centerline{#1}\\
+
+\hspace*{\fill}{#1}\hspace{\fill}
+
} %titleover
@@ -372,9 +398,9 @@ FADE IN:
%
\newcommand{\fadeout}{
-\vspace{-\baselineskip}
-\begin{flushright}FADE OUT:\end{flushright}
-\vspace{-\baselineskip}
+
+\hspace*{\fill}FADE OUT:
+
} %fadeout
@@ -383,9 +409,9 @@ FADE IN:
%
\newcommand{\intercut}{
-\vspace{-\baselineskip}
-\begin{flushright}INTERCUT WITH:\end{flushright}
-\vspace{-\baselineskip}
+
+\hspace*{\fill}INTERCUT WITH:
+
} %intercut
@@ -397,8 +423,12 @@ FADE IN:
% yeah!
\newcommand{\theend}{
-\begin{center}THE END\end{center}
-}
+
+
+\hspace*{\fill}THE END\hspace{\fill}
+
+
+} %THE END
% specs from the Academy ...
@@ -414,7 +444,6 @@ FADE IN:
% Right margin: 1.0"
%
% DIALOGUE
-% centre NAME over dialogue (deprecated)
% tab NAME to: 4.2"
% Left margin: 3.0"
% Right margin: 2.5"
@@ -429,7 +458,7 @@ FADE IN:
% INT/EXT. SLUG LINE DESCRIPTION DAY/NIGHT
% ^^^ some kind of extra spacing
%
-% $Id: screenplay.cls,v 1.440 2006/09/19 12:58:41 johnny Exp $
+% $Id: screenplay.cls,v 1.451 2006/09/23 08:39:25 johnny Exp $
% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
%
% Latest version is available as: