summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/screenplay-pkg
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/screenplay-pkg
Initial commit
Diffstat (limited to 'macros/latex/contrib/screenplay-pkg')
-rw-r--r--macros/latex/contrib/screenplay-pkg/README42
-rw-r--r--macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.pdfbin0 -> 16738 bytes
-rw-r--r--macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.tex135
-rw-r--r--macros/latex/contrib/screenplay-pkg/screenplay-pkg.pdfbin0 -> 143594 bytes
-rw-r--r--macros/latex/contrib/screenplay-pkg/screenplay-pkg.sty218
-rw-r--r--macros/latex/contrib/screenplay-pkg/screenplay-pkg.tex123
6 files changed, 518 insertions, 0 deletions
diff --git a/macros/latex/contrib/screenplay-pkg/README b/macros/latex/contrib/screenplay-pkg/README
new file mode 100644
index 0000000000..51673ab5e3
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/README
@@ -0,0 +1,42 @@
+This is the screenplay-pkg package.
+ Copyright 2006 by John Pate
+ Copyright 2015-2017 by Alan Munn
+
+ This package implements the tools of the screenplay document class
+ in the form of a package so that screenplay fragments can be included
+ within another document class. For full documentation of the available commands,
+ please consult the screenplay class documentation.
+
+ All commands related to the titlepage in screenplay.cls have been
+ eliminated.
+
+ One new environment is implemented:
+
+ \begin{screenplay} ... \end{screenplay}
+
+ Two additional user commands are added to allow for user adjustment of the
+ fragment font and linespacing (the setspace package is used for spacing).
+ American spellings of the centring commands are also added.
+
+ \screenspacing{} % sets the linespacing for screenplay fragments; default
+ is \onehalfspacing
+ \screenfont{} % sets the font for screenplay fragments; default is
+ \ttfamily
+
+
+ This package may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3
+ of this license or any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
+
+ This package has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this package is Alan Munn.
+
+ This package consists of the file screenplay-pkg.sty and documentation files
+ screenplay-pkg.tex, screenplay-pkg.pdf, screenplay-pkg-example.tex and screenplay-pkg-example.pdf.
+
+ Version 1.1 2017/08/05
diff --git a/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.pdf b/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.pdf
new file mode 100644
index 0000000000..68bfa74cc4
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.tex b/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.tex
new file mode 100644
index 0000000000..4fab6fc5af
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/screenplay-pkg-example.tex
@@ -0,0 +1,135 @@
+%%
+%% This is file `pkg-example.tex',
+%% +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
+%%
+%% Original file Authored by and Copyright (C)2006 by
+%% John Pate <johnny@dvc.org.uk>
+%% http://dvc.org.uk
+% This file modified by Alan Munn to test the standalone package version
+%
+%
+%
+%This package may be distributed and/or modified under the conditions of
+%the LaTeX Project Public License, either version 1.3 of this license or
+%any later version. The latest version of this license is in
+%http://www.latex-project.org/lppl.txt and version 1.3 or later is part
+%of all distributions of LaTeX version 2005/12/01 or later.
+%
+%This package has the LPPL maintenance status `maintained'.
+%
+%
+
+\documentclass{article}
+\usepackage{screenplay-pkg}
+\usepackage{lipsum}
+\begin{document}
+
+%% 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.
+%% You can, of course, define LaTeX macros to shorten the command names.
+%%
+%% Anyhoo, on with the show ...
+
+%% for some reason this always happens at the start ...
+This is some normal text in the document. \lipsum[1]
+
+% To insert a screenplay fragment, use the screenplay environment
+\begin{screenplay}
+\fadein
+
+\intslug[illumination]{example sample -- screenplay.cls}
+
+In space, nobody knows what time of day it is. Wait, there is no
+day.
+
+So BOB, a cross-dressing Republican, and BROWN, a Christian
+fundamentalist Democrat, are talking nonsense instead.
+
+\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\ldots
+ \paren{beat}
+and Bliar?
+\end{dialogue}
+
+Bob buries his head in his hands.
+
+\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.
+
+\intercut
+\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.
+
+Don't put in pagebreaks by hand until you're really, really
+finished editing!
+
+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{screenplay}
+\end{document}
+%%
+%% Hail Eris! All Hail Discordia!
+%%
+%% End of file `pkg-example.tex'.
diff --git a/macros/latex/contrib/screenplay-pkg/screenplay-pkg.pdf b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.pdf
new file mode 100644
index 0000000000..095257965b
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.pdf
Binary files differ
diff --git a/macros/latex/contrib/screenplay-pkg/screenplay-pkg.sty b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.sty
new file mode 100644
index 0000000000..fc4dddecc6
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.sty
@@ -0,0 +1,218 @@
+%%
+%% This is file `screenplay-pkg.sty'
+% Copyright 2006 by John Pate
+% Copyright 2015 by Alan Munn
+%
+% This package implements the tools of the screenplay document class
+% in the form of a package so that screenplay fragments can be included
+% within another document class.
+%
+% The main documentation for the package is contained in the screenplay class
+% documentation. Please read that in addition the included documentation.
+%
+% All commands related to the titlepage in screenplay.cls have been
+% eliminated.
+%
+% One new environment is implemented:
+%
+% \begin{screenplay} ... \end{screenplay}
+%
+% Two additional user commands are added to allow for user adjustment of the
+% fragment font and linespacing (the setspace package is used for spacing unless memoir is loaded).
+%
+% \screenspacing{} % sets the linespacing for screenplay fragments; default
+% is \onehalfspacing
+% \screenfont{} % sets the font for screenplay fragments; default is
+% \ttfamily
+%
+%
+% \sccenter % American spellings of centring commands now possible
+% \centertitle
+%
+%
+% This package may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This package has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this package is Alan Munn.
+%
+% This package consists of the file
+%
+% screenplay-pkg.sty
+%
+% and documentation files:
+%
+% screenplay-pkg.tex, screenplay-pkg.pdf,
+% screenplay-pkg-example.tex and screenplay-pkg-example.pdf.
+%
+% Version 1.0 2015/07/11
+% Version 1.1 2017/08/05 Added memoir support
+%
+
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+\ProvidesPackage{screenplay-pkg}[2017/08/05 v1.1
+LaTeX2e Draft Screenplay tools adapted from the screenplay document class
+original code (C)2006 John Pate
+package modifications (C)2015-2017 Alan Munn
+released under the LPPL]
+\DeclareOption*{%
+ \PackageError{screenplay-pkg}{Unwanted option '\CurrentOption'}%
+ {There are no options available for screenplay-pkg}}
+\ProcessOptions\relax
+\RequirePackage{ifthen}[2001/05/26]
+% Use setspace or memoir for linespacing AM
+\@ifclassloaded{memoir}
+ {\newcommand*{\@screenspacing}{\OnehalfSpacing}}
+ {\RequirePackage{setspace}
+ \newcommand*{\@screenspacing}{\onehalfspacing}}
+% screenplay font will default to ttfamily AM
+\newcommand*{\@screenfont}{\ttfamily}
+% screenplay font can be changed with \screenfont macro AM
+\newcommand*{\screenfont}[1]{\renewcommand\@screenfont{#1}}
+\newcommand*{\screenspacing}[1]{\renewcommand\@screenspacing{#1}}
+\newcommand*{\dialfix}{\vspace{2pt}}
+% new command to set the internal spacing and formatting of
+% the screenplay fragments AM
+\newcommand*{\@screensetup}{%
+\@screenspacing\@screenfont\raggedright
+\setlength{\parskip}{\baselineskip}
+\setlength{\parindent}{0in}}
+\newcommand*{\slugspace}{\hspace{2.0em plus 0em minus 0em}}
+\newlength{\widthgutter}
+\setlength{\widthgutter}{0.1in}
+% Don't want to change global \textwidth in the package version
+%\addtolength{\textwidth}{\widthgutter}
+\newlength{\dialwidth}
+\setlength{\dialwidth}{3.0in}
+\newlength{\dialgutter}
+\setlength{\dialgutter}{0.2in}
+\addtolength{\dialwidth}{\dialgutter}
+\newcommand*{\dialtab}{\hspace*{1.5in}}
+\newcommand*{\dialnametab}{\hspace*{1.2in}}
+\newlength{\parenwidth}
+\setlength{\parenwidth}{1.5in}
+\addtolength{\parenwidth}{\dialgutter}
+\newcommand*{\parentab}{\hspace{0.7in}}
+
+% Added new environment for screenplay fragments AM
+\newenvironment{screenplay}{\@screensetup}{}
+\newcommand*{\more}{(MORE)}
+\newcommand*{\contd}{(CONT'D)}
+\newcommand{\paren}[1]{%
+\parentab\parbox[t]{\parenwidth}{\raggedright(#1)\dialfix}\\
+}
+\newenvironment{dialogue}[2][]{%
+
+\dialtab\dialnametab\hbox{\MakeUppercase{#2}}\\*
+\dialtab\begin{minipage}[b]{\dialwidth}
+\dialfix
+\raggedright
+\ifthenelse{\not\equal{#1}{}}
+{%
+\paren{#1}
+}{}
+}{%
+\end{minipage}
+
+}
+\newcommand{\dialbreak}[2][]{%
+\nopagebreak
+\dialnametab\hbox{\more}%
+\end{dialogue}
+\newpage
+\ifthenelse{\not\equal{#1}{}}
+{
+\begin{dialogue}[#1]{\MakeUppercase{#2} \contd}
+}{%
+\begin{dialogue}{\MakeUppercase{#2} \contd}
+}
+}
+\newcommand*{\placesep}{.~}
+\newcommand{\slug}[3][]{%
+
+\MakeUppercase{#2\placesep#3}%
+\ifthenelse{\not\equal{#1}{}}
+ {%
+\slugspace\MakeUppercase{#1}\hspace{\fill}
+ }{}
+\nopagebreak
+}
+\newcommand*{\inttext}{INT}
+\newcommand{\intslug}[2][]{\slug[#1]{\inttext}{#2}}
+\newcommand*{\exttext}{EXT}
+\newcommand{\extslug}[2][]{\slug[#1]{\exttext}{#2}}
+\newcommand*{\sepintext}{./}
+\newcommand{\intextslug}[2][]{%
+\slug[#1]{\inttext\sepintext\exttext}{#2}}
+\newcommand{\extintslug}[2][]{%
+\slug[#1]{\exttext\sepintext\inttext}{#2}}
+\newcommand*{%
+\sccentre}[1]{\hspace*{\fill}{#1}\hspace{\fill}\hspace{\widthgutter}}
+\let\sccenter\sccentre
+\newcommand*{%
+\scflushright}[1]{\hspace*{\fill}{#1}\hspace{\widthgutter}}
+\newcommand*{\punctchar}{:}
+\newcommand*{\titleovertext}{TITLE~OVER}
+
+\newenvironment{titleover}[1][]{%
+\ifthenelse{\not\equal{#1}{}}
+{%
+\titleovertext #1\punctchar
+}{%
+\titleovertext\punctchar
+}%
+\\*[\baselineskip]
+\dialtab\begin{minipage}[b]{\dialwidth}
+\raggedright
+}{%
+\end{minipage}
+}
+
+\newcommand{\titbreak}{%
+\nopagebreak
+\dialnametab\hbox{\more}%
+\end{titleover}
+\newpage
+\begin{titleover}[\contd]%
+}
+
+\newcommand{\centretitle}[1]{%
+\titleovertext\punctchar\\*[\baselineskip]%
+\sccentre{#1}
+}
+
+\newcommand*{\fadeintext}{FADE~IN}
+
+\newcommand{\fadein}{%
+\fadeintext\punctchar
+}
+\newcommand*{\fadeouttext}{FADE~OUT}
+
+\newcommand{\fadeout}{%
+\scflushright{\fadeouttext\punctchar}
+}
+
+\newcommand*{\intercuttext}{INTERCUT~WITH}
+
+\newcommand{\intercut}{%
+\scflushright{\intercuttext\punctchar}
+}
+
+\newcommand*{\pov}{P.O.V.}
+\newcommand*{\revert}{REVERSE~\pov}
+\newcommand*{\thirty}{THE~END}
+\newcommand{\theend}{%
+
+\sccentre{\thirty}
+}
+% add some American English spellings
+\let\sccenter\sccentre
+\let\centertitle\centretitle
+\endinput
+%% End of file `screenplay-pkg.sty'.
diff --git a/macros/latex/contrib/screenplay-pkg/screenplay-pkg.tex b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.tex
new file mode 100644
index 0000000000..ffd8843137
--- /dev/null
+++ b/macros/latex/contrib/screenplay-pkg/screenplay-pkg.tex
@@ -0,0 +1,123 @@
+% !TEX TS-program = pdflatexmk
+
+\documentclass[11pt]{article}
+\title{\textbf{The \textsf{screenplay-pkg} package}}
+\author{\textbf{Alan Munn}\\Department of Linguistics and Languages\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
+\date{Version 1.1\\August 5, 2017}
+\usepackage[T1]{fontenc}
+\usepackage[margin=1in]{geometry}
+\usepackage{titling}
+\usepackage[utf8]{inputenc}
+\usepackage{array, booktabs, multicol, fancyhdr, xspace,tabularx}
+\usepackage{enumitem}
+\usepackage{fancyvrb,listings,url}
+\usepackage[sf,compact]{titlesec}
+\usepackage{screenplay-pkg}
+\usepackage[colorlinks=true]{hyperref}
+
+
+\DefineShortVerb{\|}
+\newcommand*\bs{\textbackslash}
+
+\IfFileExists{luximono.sty}%
+{%
+ \usepackage[scaled]{luximono}%
+}
+{%
+ \IfFileExists{beramono.sty}%
+ {%
+ \usepackage[scaled]{beramono}%
+ }{}
+}
+
+
+\lstset{%
+ basicstyle=\ttfamily\small,
+ commentstyle=\itshape\ttfamily\small,
+ showspaces=false,
+ showstringspaces=false,
+ breaklines=true,
+ breakautoindent=true,
+ captionpos=t
+ language=TeX
+}
+
+\newcommand*{\pkg}[1]{\texttt{#1}\xspace}
+\setitemize[1]{label={}}
+\setitemize[2]{label={}}
+\setdescription{font={\normalfont}}
+\setlength{\droptitle}{-1in}
+
+\lhead{}
+\chead{}
+\rhead{}
+\lfoot{\emph{}}
+\cfoot{\thepage}
+\rfoot{}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+\pagestyle{fancy}
+
+
+\begin{document}
+\maketitle
+\thispagestyle{empty}
+\renewcommand{\abstractname}{\sffamily Abstract}
+
+\abstract{\noindent\begin{quote}This is a package version of the \pkg{screenplay} document class. The class version is designed to produce a properly formatted screenplay manuscript. This package version allows portions of screenplays formatted using the class methods to be included into other document classes.
+\end{quote}
+\section{Introduction}
+This package arose out of a question asked on the StackExchange website: \href{http://tex.stackexchange.com/q/26227/}{Converting document classes into environments: is it possible?} The question asked how easy it would be convert the class functionality into an environment. This package is the result of that discussion.
+\section{Package use}
+To use the package just load it like any other package:
+
+\begin{lstlisting}
+ \usepackage{screenplay-pkg}
+\end{lstlisting}
+
+\subsection{New commands}
+The package implements one new environment and two formatting hooks for it.
+The |screenplay| environment provides an environment to wrap a screenplay fragment. Within this environment, you should use any of the macros defined in the \href{https://www.ctan.org/pkg/screenplay}{\pkg{screenplay}} class. Please consult its documentation for details.
+\begin{lstlisting}
+ \begin{screenplay}
+
+ \end{screenplay}
+\end{lstlisting}
+
+ Two additional user commands are added to allow for user adjustment of the
+ fragment font and linespacing (the \pkg{setspace} package is used for spacing unless the \pkg{memoir} class is loaded). American spellings of the centring commands have also been created. British spellings of these commands are retained:
+
+\begin{center}
+
+\begin{tabular}{l>{\raggedright\arraybackslash}p{3.5in}}
+\toprule
+\textsf{Command} & \textsf{Explantion}\\
+ |\screenspacing{}| & sets the linespacing for screenplay fragments\\
+ & default is |\onehalfspacing|\\
+ & (if \pkg{memoir} is loaded, |\OnehalfSpacing|)\\
+ |\screenfont{}| & sets the font for screenplay fragments\\
+ & default is |\ttfamily|\\
+ |\sccenter | & American spellings of centring commands now possible\\
+ |\centertitle| & \\
+\bottomrule
+\end{tabular}
+
+
+\end{center}
+\subsection{Eliminated commands}
+All commands from the \pkg{screenplay} class that relate to creating the title page have been removed from the package version of the class.
+\section{Troubleshooting and package dependencies}
+\subsection{Package dependencies}
+Note that the package uses the \pkg{setspace} package for linespacing. If you are using the \pkg{memoir} class which provides its own linespacing methods the package will use its linespacing commands instead.
+
+\subsection{Bugs}
+You are welcome to report bugs and submit feature requests, but I should warn you that this package is extremely low priority for me in terms of maintenance, as I do not use it at all. If you are interested in taking it over, please get in touch with me.
+
+\section{Sample document}
+The following is a sample document showing how the package is used. It can be found in the documentation folder for the package.
+\lstinputlisting{screenplay-pkg-example.tex}
+
+\end{document}
+
+
+