From 6a35763c7e3f70d61db5b7c296402ee180f37900 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Sep 2006 21:54:16 +0000 Subject: new package screenplay (16sep06) git-svn-id: svn://tug.org/texlive/trunk@2138 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/screenplay/screenplay.cls | 436 +++++++++++++++++++++ 1 file changed, 436 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/screenplay/screenplay.cls (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 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 +% 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 +% +% 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 +% +% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= -- cgit v1.2.3