summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/plari/plari.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-09-07 22:51:47 +0000
committerKarl Berry <karl@freefriends.org>2006-09-07 22:51:47 +0000
commit341f91f17353e6b5aaaed2511d38a55a1761040b (patch)
tree674664b81f6f2ccb6d3e2810d889fff82578c4e4 /Master/texmf-dist/source/latex/plari/plari.dtx
parentb7d59cb22d16fdd1e597b9c568ca8c39fcdcbe9e (diff)
new latex package plari
git-svn-id: svn://tug.org/texlive/trunk@2096 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/plari/plari.dtx')
-rw-r--r--Master/texmf-dist/source/latex/plari/plari.dtx194
1 files changed, 194 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/plari/plari.dtx b/Master/texmf-dist/source/latex/plari/plari.dtx
new file mode 100644
index 00000000000..56b951b86e6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/plari/plari.dtx
@@ -0,0 +1,194 @@
+% \iffalse meta-comment
+%% plari - Typesetting stage play scripts with LaTeX2e
+%%
+%% Copyright (c) 1998 Antti-Juhani Kaijanaho
+%%
+%% 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.
+%%
+%% 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 plari.cls as authored by Antti-Juhani
+%% Kaijanaho.
+%%
+% \fi
+%% \CheckSum{87}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+\def\filedate{1998/11/02}
+\def\fileversion{19981102-CTAN}
+\def\fileinfo{development snapshot}
+%\iffalse
+%<*driver>
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{plari.dtx}
+\end{document}
+%</driver>
+%\fi
+%
+%
+%\title{The \texttt{plari} document class\\
+% Typesetting stageplay scripts with \LaTeXe\thanks
+% {This document describes \texttt{plari.dtx} version number
+% \fileversion\ dated \filedate.}}
+%\author{Antti-Juhani Kaijanaho}
+%\maketitle
+%
+%\begin{abstract}
+% A document class for typesetting stageplay scripts is described.
+%\end{abstract}
+%
+
+%\section{Usage}
+
+%The document class \texttt{plari} behaves like the standard document
+%class \texttt{report} except that (a)~the sectioning commands
+%|\section| \textit{et cetera} do not work and (b)~paragraphs are
+%separated, not indented.
+
+%In addition the following macros are defined: |\newact| starts a new
+%Act, |\newscene| starts a new scene, \texttt{\bslash
+% setting\{\meta{describe setting}\}} starts a new scene and describes
+%the new setting, \texttt{\bslash repl\{\meta{speaker}\}} begins a new
+%line of dialogue, spoken by \meta{speaker}, and \texttt{\bslash
+% paren\{\meta{note}\}} typesets a parenthetical note.
+
+%
+%\StopEventually{\relax}
+%
+%\section{Implementation}
+%
+% First we warm up.
+% \begin{macrocode}
+%<*class>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{plari}[\filedate\space\fileversion\space\fileinfo]
+\typeout{plari <\filedate:\fileversion> - typesetting stageplay scripts}
+% \end{macrocode}
+
+% Currently we don't take any special arguments. We just let
+% \texttt{report} handle them.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
+\ProcessOptions
+% \end{macrocode}
+
+% We steal most of our code from \texttt{report.cls}.
+% \begin{macrocode}
+\LoadClass{report}
+% \end{macrocode}
+
+% Now we get to the point. Acts are numbered individually, scenes are
+% numbered within acts. When referenced, act numbers are Roman, and
+% scenes are of the form \meta{Act}:\meta{Scene}, where \meta{Scene} is
+% the current scene in Arabic.
+% \begin{macrocode}
+\newcounter{act}
+\newcounter{scene}[act]
+\renewcommand{\theact}{\Roman{act}}
+\renewcommand{\thescene}{\Roman{act}:\arabic{scene}}
+% \end{macrocode}
+
+% Acts start a new page. Their numbers are typeset bold Huge. Scenes
+% do not start a page, and their numbers are typeset medium Large.
+% \begin{macrocode}
+\newcommand{\newact}{%
+ \refstepcounter{act}%
+ \newpage{\centering\bfseries\Huge--- \Roman{act} ---\par}%
+ \vspace{1.5cm plus .5cm minus .5cm}%
+ }
+\newcommand{\newscene}{%
+ \refstepcounter{scene}%
+ \bigskip%
+ {\centering\mdseries\Large\arabic{scene}\par}%
+ \medskip%
+ }
+% \end{macrocode}
+
+% Most scenes come with a change of scenery. The setting is typeset
+% with normal size italic, but with reduced canavas. Describing a
+% setting changes scene.
+% \begin{macrocode}
+\newcommand{\setting}[1]{%
+ \newscene%
+ \begingroup%
+ \list{}{%
+ \listparindent=\parindent%
+ \parsep=\parskip%
+ \topsep=\z@%
+ \rightmargin=\leftmargin%
+ }%
+ \item%
+ \let\item\@undefined%
+ {\normalsize\itshape\mdseries#1\par}%
+ \endlist%
+ \endgroup%
+ }
+% \end{macrocode}
+
+% Every line in dialogue is preceded by a name. The name is typeset
+% centered, in normal size medium series small caps. The next paragraph
+% should not be indented.
+% \begin{macrocode}
+\newcommand{\repl}[1]{%
+ \medskip%
+ {\centering\normalsize\mdseries\scshape#1\par}%
+% \smallskip%
+ }
+% \end{macrocode}
+
+% Sometimes parenthetical notes must be inserted within dialogue. These
+% notes are typeset in italic.
+% \begin{macrocode}
+\newcommand{\paren}[1]{\textit{#1}}
+% \end{macrocode}
+
+% We do not want indents. Instead, we'll have a skip between
+% paragraphs.
+% \begin{macrocode}
+\parindent=\z@
+\parskip=\medskipamount\relax
+% \end{macrocode}
+
+% We don't want the user to use \LaTeX\ standard sectioning.
+% \begin{macrocode}
+\let\@startsection\@undefined
+% \end{macrocode}
+
+% We are done for good.
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+
+% \Finale