summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/screenplay
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-09-17 21:54:16 +0000
committerKarl Berry <karl@freefriends.org>2006-09-17 21:54:16 +0000
commit6a35763c7e3f70d61db5b7c296402ee180f37900 (patch)
treea716221f9cde98adbf1b7e5048f45b7e61ce148d /Master/texmf-dist/tex/latex/screenplay
parent9b424538e1f6fda1100935bd51290a3c362edcc3 (diff)
new package screenplay (16sep06)
git-svn-id: svn://tug.org/texlive/trunk@2138 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/screenplay')
-rw-r--r--Master/texmf-dist/tex/latex/screenplay/screenplay.cls436
1 files changed, 436 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/screenplay/screenplay.cls b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls
new file mode 100644
index 00000000000..db0e0d8dc6c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/screenplay/screenplay.cls
@@ -0,0 +1,436 @@
+% $Header: /home/johnny/html/Sacrifice/LaTeX/RCS/screenplay.cls,v 1.416 2006/09/16 18:50:37 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 <johnny@dvc.org.uk>
+% http://dvc.org.uk
+%
+% See http://dvc.org.uk/sacrific.txt/example.tex
+%
+% See specs, licence, at end.
+% ``It works for me.''
+% I'm no kind of TeXpert! YOUR MILEAGE MAY VARY
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{screenplay}
+
+
+% article class seems to work ...
+%
+\DeclareOption*{
+ \PassOptionsToClass{\CurrentOption}{article}
+ }
+\ProcessOptions
+
+
+% 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}
+\renewcommand*\familydefault{\ttdefault}
+
+
+% needed for testing for optional args ...
+%
+\RequirePackage{ifthen}
+
+
+% can load hyphenation ability for non-standard font ...
+%\usepackage[htt]{hyphenat}
+% (comment out raggedright here and in dialogue & titleover envs)
+% you really DO NOT want hyphenation
+% you want this ...
+%
+\raggedright
+%
+% between this and the typewriter font we're likely to
+% have to live with a few `Overfull \hbox' warnings
+
+
+% page numbers top right ...
+%
+\def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ }
+\pagestyle{myheadings}
+
+
+% margins and such
+% fiddle if you must, see specs at end ...
+%
+% left margin, default 1in + ...
+\setlength{\evensidemargin}{0.5in}
+\setlength{\oddsidemargin}{0.5in}
+%
+% top margin ...
+\setlength{\topmargin}{-0.7in}
+\setlength{\headsep}{0.2in}
+\setlength{\topskip}{0in}
+%
+% reckon this gives a reasonable bottom margin ...
+\setlength{\textheight}{9.7in}
+%
+% 6in for 1in right margin ...
+\setlength{\textwidth}{6.0in}
+%
+% tabbing / spacing for dialogues
+% dialwidth 0.1in bigger than spec for wiggle room ...
+\newcommand{\dialwidth}{3.3in}
+\newcommand{\dialtab}{\hspace{1.5in}}
+\newcommand{\dialnametab}{\hspace*{1.2in}}
+\newcommand{\parenwidth}{2.1in}
+\newcommand{\parentab}{\hspace{0.7in}}
+%
+% no, really, if you're emulating a typewriter then running
+% past the right margin is realistic dontcha know
+% (plus I needed to squeeze away a page or two)
+% use ...
+%\newcommand{\dialwidth}{3.2in}
+% ... to be absolutely spot on
+
+
+% skip one line between paras ...
+%
+\setlength{\parskip}{1.0em plus0.1em minus0.1em}
+%
+% no paragraph indent ...
+%
+\setlength{\parindent}{0in}
+
+
+% for title page - author details ...
+%
+% use one of \titleauthor, \nicholl, \titleextra to taste ...
+% this has to be the first command after \begin{document}
+% (if you shrink \textwidth you will need to adjust \hspace here)
+%
+
+% \titleauthor[year]{title}{author's name}{contact details\\email etc}
+% -- don't fuss about warnings if it looks OK
+% (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}
+ \parbox{1em}{ \ }
+ \vspace{2.2in}
+ \begin{center}{\textbf{\MakeUppercase{#2}}\\}
+ \vspace{1em}by\\\vspace{1em}#3
+ \ifthenelse{\not\equal{#1}{}}
+ {
+ \\\vspace{1em}\scriptsize\copyright\normalsize#1\\
+ }{}
+ \end{center}
+ \vspace{4.25in}
+ \hspace{4.0in}\parbox{2.0in}{#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}
+ \parbox{1em}{ \ }
+ \vspace{2.2in}
+ \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
+% -- don't fuss about warnings if it looks OK
+%
+\newcommand{\titleextra}[4]{
+ \thispagestyle{empty}
+ \parbox{1em}{ \ }
+ \vspace{2.2in}
+ \begin{center}{\textbf{\MakeUppercase{#2}}\\}
+ \vspace{1em}by\\\vspace{1em}#3
+ \end{center}
+ \vspace{4.25in}
+ \parbox[t]{2.0in}{#1}\hspace*{2.0in}\parbox[t]{2.0in}{#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
+%
+\newcommand{\paren}[1]{%
+\\\parentab\parbox{\parenwidth}{(#1)}\\
+} %paren
+
+
+% dialogue environment ...
+%
+% \begin{dialogue}[directions]{character name} ... \end{dialogue}
+% \begin{dialogue}{character name} ... \end{dialogue}
+%
+% also uses above parenthetical logic but without the newlines
+% 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)
+%
+\newenvironment{dialogue}[2][]{
+
+\dialtab\begin{minipage}{\dialwidth}
+\raggedright
+\dialnametab\hbox{\MakeUppercase{#2}}\\
+%\centerline{\MakeUppercase{#2}}
+\ifthenelse{\not\equal{#1}{}}
+{
+\parentab\parbox{\parenwidth}{(#1)}\\
+}{}
+}{ \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 howto fix it)
+% NOTE:
+% only do any manual pagebreaks when you absolutely positively
+% have killed every muthafucka in the room! ...
+%
+\newcommand{\dialbreak}[2][]{
+\\\dialnametab\hbox{(MORE)}%
+%\centerline{(MORE)}%
+\end{dialogue}
+\pagebreak
+\ifthenelse{\not\equal{#1}{}}
+{
+\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}
+%
+\newcommand{\intslug}[2][]{
+
+\MakeUppercase{INT. #2}
+\ifthenelse{\not\equal{#1}{}}
+ {%
+\hspace{1em}\MakeUppercase{#1}
+ }{}
+
+}% intslug
+
+% \extslug[time of day]{description text}
+% \extslug{description text}
+%
+\newcommand{\extslug}[2][]{
+
+\MakeUppercase{EXT. #2}
+\ifthenelse{\not\equal{#1}{}}
+ {%
+\hspace{1em}\MakeUppercase{#1}
+ }{}
+
+}% extslug
+
+% Apparently people do this ...
+% \intextslug[time of day]{description text}
+% \intextslug{description text}
+%
+\newcommand{\intextslug}[2][]{
+
+\MakeUppercase{INT./EXT. #2}
+\ifthenelse{\not\equal{#1}{}}
+ {%
+\hspace{1em}\MakeUppercase{#1}
+ }{}
+
+}% intextslug
+
+% and/or this ...
+% \extintslug[time of day]{description text}
+% \extintextslug{description text}
+%
+\newcommand{\extintslug}[2][]{
+
+\MakeUppercase{EXT./INT. #2}
+\ifthenelse{\not\equal{#1}{}}
+ {%
+\hspace{1em}\MakeUppercase{#1}
+ }{}
+
+}% extintslug
+
+% Title over ...
+%
+% \begin{titleover} ... \end{titleover}
+% as pseudo dialogue env (think ``Star Wars'')
+%
+\newenvironment{titleover}[1][]{
+
+\ifthenelse{\not\equal{#1}{}}
+{%true
+TITLE OVER (#1):\\
+}{%false
+TITLE OVER:\\
+}%ifthenelse
+\vspace{1em}
+\dialtab\begin{minipage}{\dialwidth}
+\raggedright
+}{
+
+\end{minipage}
+
+}
+
+% pagebreak for titleover environment ...
+%
+\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{1.0em}
+\centerline{#1}
+
+} %titleover
+
+
+% \fadein
+%
+\newcommand{\fadein}{
+
+
+FADE IN:
+
+
+} %fadein
+
+
+% \fadeout
+%
+\newcommand{\fadeout}{
+
+\vspace{-1.0em}
+\begin{flushright}FADE OUT:\end{flushright}
+\vspace{-1.0em}
+
+} %fadeout
+
+
+% \intercut
+%
+\newcommand{\intercut}{
+
+\vspace{-1.0em}
+\begin{flushright}INTERCUT WITH:\end{flushright}
+\vspace{-1.0em}
+
+} %intercut
+
+
+% IMHO this stuff is useful for description ...
+%
+\newcommand{\pov}{P.O.V. }
+\newcommand{\nb}{NOTE: }
+
+% yeah!
+\newcommand{\theend}{
+\begin{center}THE END\end{center}
+}
+
+
+% specs from the Academy ...
+% http://www.oscars.org/nicholl/format.html
+%
+% Letter paper 8.5"x11.0"
+% Courier 12pt
+%
+% PAGE
+% Top margin: 0.75"
+% Bottom margin:0.5"
+% Left margin: 1.5"
+% Right margin: 1.0"
+%
+% DIALOGUE
+% centre NAME over dialogue
+% or tab to 4.2"
+% Left margin: 3.0"
+% Right margin: 2.3"
+% Parenthetical
+% Left margin: 3.7"
+% Right margin: 3.0"
+%
+% 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.416 2006/09/16 18:50:37 johnny Exp $
+% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
+%
+% Latest version is available as:
+% http://dvc.org.uk/sacrific.txt/screenplay.cls
+%
+% Copyright (C) 2006 John Pate <johnny@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
+%
+% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=