diff options
author | Karl Berry <karl@freefriends.org> | 2006-09-07 22:51:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-09-07 22:51:47 +0000 |
commit | 341f91f17353e6b5aaaed2511d38a55a1761040b (patch) | |
tree | 674664b81f6f2ccb6d3e2810d889fff82578c4e4 /Master/texmf-dist/source/latex/plari/plari.dtx | |
parent | b7d59cb22d16fdd1e597b9c568ca8c39fcdcbe9e (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.dtx | 194 |
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 |