summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/sides
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/sides
Initial commit
Diffstat (limited to 'macros/latex/contrib/sides')
-rw-r--r--macros/latex/contrib/sides/README76
-rw-r--r--macros/latex/contrib/sides/sides-sample.pdfbin0 -> 59834 bytes
-rw-r--r--macros/latex/contrib/sides/sides-sample.tex77
-rw-r--r--macros/latex/contrib/sides/sides.cls186
4 files changed, 339 insertions, 0 deletions
diff --git a/macros/latex/contrib/sides/README b/macros/latex/contrib/sides/README
new file mode 100644
index 0000000000..9b71525083
--- /dev/null
+++ b/macros/latex/contrib/sides/README
@@ -0,0 +1,76 @@
+ sides - Typesetting stageplays with LaTeX2e, Version 1, 5/9/2005
+ Copyright (c) 2005 Wing L. Mui
+ http://www.wingie.org
+
+
+ WHAT IS SIDES?
+
+ sides is a class package for typsetting stage plays in LaTeX2e.
+
+ In theater-jargon, ``sides'' are the (imcomplete) copies of the script
+ used for auditions and rehearsals.
+
+ This class package was based on the package ``plari'' written by
+ Antti-Juhani Kaijanaho in 1998.
+
+
+ HOW TO USE SIDES
+
+ Simply start your document off with \documentclass[12pt]{sides}.
+
+ Within the sides class, all text are single spaced and paragraphs
+ are not indented. The document is divided into acts and scenes. They each
+ have their own counters. Starting a new act starts a new page as well.
+
+ The commands are listed below and as comments in the class code.
+
+ ``sides-sample.tex'', included with this package, shows example usage
+ of every command in sides in a real playwriting context.
+
+ \newact
+ creates a new act with heading Act N, N is act number in Roman num
+ \newactnamed{actname}
+ creates a new act with heading actname, does not increment counter
+ this is useful for interludes, prologues, etc.
+ \newscene
+ creates a new scene with heading Scene M, M is scene number
+ \newscenenamed{scname}
+ creates a new scene with heading scname, does not increment counter
+ \repl{charname} diag
+ outputs a line with text diag spoken by charname
+ \stagedir{dir}
+ outputs italized stage directions dir
+ \chara{charname}
+ outputs charname in smallcaps, as in repl
+ \paren{remark}
+ inserts an italized parenthetical remark into the text
+ \pause
+ an alias for \paren{Pause.}
+ \castpage, \castpagelatin
+ inserts a cast section, which in reality is just an unnumbered scene
+ \castpagelatin outputs ``dramatis personae'' instead of boring English
+ \cast{charname}{desc}
+ outputs an entry with character charname and description desc
+ \notes
+ inserts a section for playwright's notes, does not start a new page
+
+ \castpage and \notes are just shorthands, one can always just use
+ \newscenenamed{title} to accomplish the same thing.
+
+
+ LICENSE
+
+ 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; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. \ No newline at end of file
diff --git a/macros/latex/contrib/sides/sides-sample.pdf b/macros/latex/contrib/sides/sides-sample.pdf
new file mode 100644
index 0000000000..298c70d5f6
--- /dev/null
+++ b/macros/latex/contrib/sides/sides-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/sides/sides-sample.tex b/macros/latex/contrib/sides/sides-sample.tex
new file mode 100644
index 0000000000..790f6a2912
--- /dev/null
+++ b/macros/latex/contrib/sides/sides-sample.tex
@@ -0,0 +1,77 @@
+\documentclass[12pt]{sides}
+
+\title{A Sample Play}
+
+\author{Wing L. Mui
+ \\ \\
+ 17 Imaginary Road \\
+ Real Town, MA 01002
+ \\ \\
+ http://www.wingie.org
+}
+
+\date{5/9/2005}
+
+\begin{document}
+
+\maketitle
+
+\castpage
+
+\cast{Eleanor} A girl of age 18. She likes pies and $\pi$.
+
+\cast{Cat} A large creature that meows.
+
+\notes
+
+This is a sample of what the $sides$ package for \LaTeX\ can do.
+
+\newact
+
+\newscene
+
+\stagedir{2003, New York City. The \chara{Cat} and \chara{Eleanor} are engaging in conversation upon a meadow.}
+
+\repl{Cat} Meow. I am a kitten. Kittens like to meow.
+
+\repl{Eleanor} Yes, indeed. \pause\ But the question is, do cats like to typeset in \LaTeX ?
+
+\repl{Cat} I do not know. Let us find out!
+
+\stagedir{They exit.}
+
+\newscene
+
+\stagedir{Five hours later. \chara{Eleanor} enters and rushes across the stage.}
+
+\repl{Ellie} \paren{Angrily.} My document class does not work! The cat has destroyed my code!
+
+\stagedir{\chara{Eleanor} exits.}
+
+\newactnamed{Interlude}
+
+\stagedir{The \chara{Cat} is eating a biscuit on top of a roof.}
+
+\repl{Cat} Cats are not known to give monologues. But they are also not known to talk. So I am an exception.
+
+You see, all is relative---including class paths. Eleanor failed in that she did not take this into account.
+
+This is a mighty tasty biscuit.
+
+\stagedir{The \chara{Cat} exits.}
+
+\newact
+
+\newscenenamed{The Final Scene}
+
+\stagedir{Three days later. \chara{Eleanor} and the \chara{Cat} speak to each other upon a roof on a stormy night. \chara{Eleanor} is about to jump off the edge.}
+
+\repl{Cat} Do not jump, dear girl!
+
+\repl{Eleanor} But I must! For I cannot write my documents in \LaTeX ! \paren{She jumps.}
+
+\repl{Cat} No!
+
+\stagedir{Blackout. We hear the sound of a ``splat''. End of play.}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/sides/sides.cls b/macros/latex/contrib/sides/sides.cls
new file mode 100644
index 0000000000..45779d80a3
--- /dev/null
+++ b/macros/latex/contrib/sides/sides.cls
@@ -0,0 +1,186 @@
+%% sides - Typesetting stageplays with LaTeX2e, plari Version 2
+%% Copyright (c) 2005 Wing L. Mui
+%% http://www.wingie.org
+
+%% 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; see the file COPYING. If not, write to
+%% the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+%% Boston, MA 02111-1307, USA.
+%%
+%%
+%% This class package was based on the package ``plari'' written by
+%% Antti-Juhani Kaijanaho in 1998. Since I have made some major changes
+%% to the code I have rewritten all of the comments except for the
+%% following section:
+%%
+%% \begin{original comments}
+%% Copyright (c) 1998 Antti-Juhani Kaijanaho}
+%%
+%% Just to be sure everybody understands this:
+%% Including plari.cls in one's document with the LaTeX2e command
+%% \documentclass[...]{plari}
+%% is considered /use/ of plari.cls and is therefore not restricted
+%% by the GNU General Public License. If you still are unsure, you
+%% can regard this notice as a special exeption to the GNU General
+%% Public License, to be applied to [sides.cls] as authored by
+%% [Wing L. Mui].
+%% \end{original comments}
+%%
+%%
+%%
+%% HOW TO USE SIDES
+%%
+%% Simply start your document off with \documentclass[12pt]{sides}.
+%%
+%% Within the sides class, all text are single spaced and paragraphs
+%% are not indented. The document is divided into acts and scenes. They each
+%% have their own counters. Starting a new act starts a new page as well.
+%%
+%% \newact
+%% creates a new act with heading Act N, N is act number in Roman num
+%% \newactnamed{actname}
+%% creates a new act with heading actname, does not increment counter
+%% this is useful for interludes, prologues, etc.
+%% \newscene
+%% creates a new scene with heading Scene M, M is scene number
+%% \newscenenamed{scname}
+%% creates a new scene with heading scname, does not increment counter
+%% \repl{charname} diag
+%% outputs a line with text diag spoken by charname
+%% \stagedir{dir}
+%% outputs italized stage directions dir
+%% \chara{charname}
+%% outputs charname in smallcaps, as in repl
+%% \paren{remark}
+%% inserts an italized parenthetical remark into the text
+%% \pause
+%% an alias for \paren{Pause.}
+%% \castpage, \castpagelatin
+%% inserts a cast section, which in reality is just an unnumbered scene
+%% \castpagelatin outputs ``dramatis personae'' instead of boring English
+%% \cast{charname}{desc}
+%% outputs an entry with character charname and description desc
+%% \notes
+%% inserts a section for playwright's notes, does not start a new page
+%%
+%% \castpage and \notes are just shorthands, one can always just use
+%% \newscenenamed{title} to accomplish the same thing.
+
+\def\filedate{2005/04/21}
+\def\fileversion{20050421-CTAN}
+
+\NeedsTeXFormat{LaTeX2e}
+%\ProvidesClass{plari_prime}[\filedate\space\fileversion\space\fileinfo]
+\typeout{plari_prime <\filedate:\fileversion> - typesetting stageplay scripts}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
+\ProcessOptions
+
+% We will be basing this class on the report class.
+
+\LoadClass{report}
+
+% Now we initialize the counters.
+\newcounter{act}
+\newcounter{scene}[act]
+\renewcommand{\theact}{\Roman{act}}
+\renewcommand{\thescene}{\Roman{act}:\arabic{scene}}
+
+% The newact commands create new pages and a huge heading.
+% Change the vspace parameters if you want to change the spacing after
+% an act title.
+\newcommand{\newact}{%
+ \refstepcounter{act}%
+ \newpage{\centering\bfseries\Huge Act \Roman{act}\par}%
+ \vspace{1.5em plus .5em minus .5em}%
+ }
+\newcommand{\newactnamed}[1]{%
+ \newpage{\centering\bfseries\Huge #1 \par}%
+ \vspace{1.5em plus .5em minus .5em}%
+ }
+
+% We are going to make each scene a section so scenes do not
+% get orphaned from their tltles.
+% To modify spacing before and after scene titles, modify this:
+\newcommand{\scenedef}{\@startsection {scene}{1}{0pt}%
+ {3em} % space before title
+ {2em} % space after title
+ {\centering\mdseries\Large}}
+
+% These are the new scene commands.
+\newcommand{\newscene}{
+ \refstepcounter{scene}
+ {\scenedef*{Scene \arabic{scene}}}
+ }
+\newcommand{\newscenenamed}[1]{%
+ {\scenedef*{#1}}
+ }
+
+% Similarly, we use sections for the dialogue to avoid orphans.
+% Once again, if you wish to change the skip amounts, do so here.
+\newcommand{\repldef}{\@startsection {diag}{2}{0pt}%
+ {1em} % space before name
+ {0.25pt} % space after name
+ {\centering\normalsize\mdseries\scshape}}
+\newcommand{\repl}{\repldef*}
+
+% Now for something simple...
+\newcommand{\paren}[1]{(\textit{#1})}
+\newcommand{\pause}{\paren{Pause.}}
+\newcommand{\chara}[1]{\textsc{#1}}
+
+% And now some stage directions...
+\newcommand{\stagedir}[1]{%
+ \begingroup%
+ \list{}{%
+ \listparindent=\parindent%
+ \parsep=\parskip%
+ \topsep=\z@%
+ \rightmargin=\leftmargin%
+ }%
+ \item%
+ \let\item\@undefined%
+ {\vspace{1em}\normalsize\itshape\mdseries#1\vspace{1ex}}%
+ \endlist%
+ \endgroup%
+ }
+
+% Now comes the cast list and stage notes...
+\newcommand{\castpage}{\newscenenamed{Cast of Characters}}
+\newcommand{\castpagelatin}{\newscenenamed{Dramatis Personae}}
+\newcommand{\notes}{\newscenenamed{Playwright's Notes}}
+
+% We format cast listings similar to dialogue.
+\newcommand{\castdef}{\@startsection {cast}{2}{0pt}%
+ {0.5em} % space before name
+ {0.001pt} % space after name
+ {\normalsize\mdseries\scshape}}
+\newcommand{\cast}[1]
+{
+ \castdef*{#1}
+}
+
+% We also want there to be no indents and a medskip between long paragraphs
+% of text. If you do not want there to be a skip, comment out the second line.
+\parindent=\z@
+\parskip=\medskipamount\relax
+
+% Now we make our formatting pretty. These options can be overrided easily.
+\evensidemargin 0in
+\topmargin 0in
+\textheight 8.5in
+\baselineskip 14pt
+\oddsidemargin 0.25in
+\textwidth 6in
+
+% And we're done! \ No newline at end of file