; TeX output 1997.03.28:1758so@DtGGcmr17The7tGGcmss17dramapacqkage̬XQ ff cmr12drama/pack7xage?XQ cmr12MattSwift߆T cmtt12ذEVVersion:8v0.1 *DoScumenrtationrevision:81996/05/05$!Kt : cmbx9Abstractэoo cmr9Thiswpac9k|rageisj cmti9unsupportedqandwincomplete.|Itseemstoworkforabasic bproAduction-st9yleTstagescript,butnoguarantees.oIdoin9tendtotransformthisintoafull-featured, suppAortedpack|rageforbwritingTscriptsofallkinds.pButIdon'tkno9wwhenIwillgettoit.#8INff cmbx12PartffIINq cmbx12DiscussionꨍIK`y cmr10Iamclosetohandlingtheinsertionofa\continued"messageatthetopoftheIpageUUwhenaspGeechisbrokenacrossthepage.qButit'snotthereyet.XThisistheonlyenvironmentsofar,forabasicproGduction-stylestagescript.!| ߤN cmtt9scriptIIt&isimplementedasabitstyle:seethe!p0J cmsl10bitsFpackqagefordetailsofuse."I&thinkIyouonlyneedtoissuean"SeetheIabbrevsҲpackqageUUfordetails.qAlsode nedisthecommandXh\csname[iߘsays,ČwhichYisusedtointroGducethecharacter'sspGeeches.5tThesuxL\SpeakAppendI\says"UUcanbGechangedbyde ningx\SpeakAppendbGeforeusing\character.XUseUU\sceneand\acttostartactsandscenes.!|\scene+\actX\direct{hstagedir}'ections!iKs}.GKUse\setstagestagedirectionsatthebGeginning\directy\setstageIofUUscenesandacts.1*soIPartffIs3IIImplemenZtationꨍI1aLVfersionffcontrol$\fileinfo b\fileversion $\filedate y\docdate $\PPOptArgITheseUUde nitionsmustbGethe rstonesinthe le.LsٓRcmr71S\def\fileinfo{dramapackage} Ls2S\def\DoXNeeDME{}Ls3S\def\fileversion{v0.1}Ls4S\def\filedate{1996/05/05}Ls5S\def\docdate{1996/05/05}Ls6S\edef\PPOptArg{%Ls7]\filedate\space\fileversion\space\fileinfoLs8S}XStoprighthereifwe'rejustloadingthe le'sinformation,janddon'twantto IloadMthiscoGdefortypesettingitsdocumentation(onlymakessenseforcertainpack-Iages).3TheHJuStLaAdInFoRmAtIoN! agwillbGesetbythedocumentationdriver;ItheUUDoXNeeDME agwillbGesetinthedtx le,andwillappearaboveUUifit'sset.Ls9S\makeatletter I10S\@ifundefined{JuStLoAdInFoRmAtIoN}{%I11]}{%ELSEI12]\@ifundefined{DoXNeeDME}{%I13f}{%ELSEI14f\UndefineCS\JuStLoAdInFoRmAtIoNI15f\usepackage{drama}%I16]}I17]\makeatotherI18]\endinputI19S}XNowUUwecheckforL5ffA͉TU>'ExX2eanddeclarethepackqage.I20S\NeedsTeXFormat{LaTeX2e}I21S\ProvidesPackage{drama}[\PPOptArg]I22S\RequirePackage{abbrevs,bits,dialogue,moredefs,relsize}I23S%\RequirePackage{xmark}I24S\let\sc@mark\GobbleI25S\VerboseErrorsI26I27S\DeclareBooleanOptions{oneact}{multiact}I28S\ProcessOptions!čI2aLcharactersb\SpeakAppend y\sc@cast \characterI29S\providecommand\SpeakAppend{says}I30S\ReserveCS\sc@castI31S\NewUserAbbrevDefiner\NewCharacterAbbrev{Character}I32S\let\TMFontCharacter\scshapeI33S\newcommand*\character[3]{%args:drampernamecsname2 ڠsoI34]\expandafter\NewCharacterAbbrev\csname#3\endcsname{#2}% I35]\NewName*{#3\SpeakAppend}{}{%I36f\speak{#2}%I37]}%I38]\addto@macro\sc@cast{,#1}%I39S} XTheUU\@cdrgetsridofthe rstsillycomma. I40S\newcommand\DramPer{%I41]\ifx\sc@cast\LongEmpty\elseI42f{\larger\scshapeCast}%I43f\relax\begin{verse}I44f\edef\sc@t@a{\E@cdr\sc@cast\@nil}%I45f\@for\sc@t@b:=\sc@t@a\do{%I46p2\sc@t@b\\%I47f}%I48f\relax\end{verse}%IPrepareUUforanothersetofcharacters.I49f\InitCS\sc@castI50f\bigbreakI51]\fiI52S}I2.0.1l#sectioninguT \sc@toks@saved@outputIW*epullsomefancystu withtheoutputroutinehere.MThealgorithmisasimpler IversionUUofKnuth's[?n7,260 ].I53S\newtokens\sc@toks@saved@outputI54S\sc@toks@saved@output=\output XThe{\sc@botmark,&ifnotempty*,willcontaintexttobGeinsertedatthetopof ItheUUnextpage.qItmustcontainverticalnothorizontalmaterial.XW*e2}actuallyneedtocommunicatethebGoolean2}sc@directingviathemark,IbGecauseonlytheinformationinthemarksisguaranteedtore ectthestateattheIendUUofthepage,andnotseverallineslater.I55S\providelength\sc@len I56I57S\newcommand\sc@outputwrapper{%I58]\setlength{\sc@len}{\dp255}%I59]\the\sc@toks@saved@outputI60]\def\sc@t@b{%I61f\sc@botmarkI62f\addtolength{\sc@len}{-\prevdepth}%I63f\kern\sc@lenI64]}%I65]\InitCS\sc@t@aI66]\ifx\sc@botmark\ShortEmptyI67f\let\sc@t@a\sc@t@bI68]\elseI69f\ifsc@directingI70p2\let\sc@t@a\sc@t@bI71f\fiI72]\fi3soI73]\sc@t@a I74S}I75S\newcommand\script{%I76]\MakeDirectTakeArgI77]\relax\begin{Script}%I78S}I79S\NewName{endscript}{}{%I80]\relax\end{Script}%I81S}I82S\NewName{script*}{}{%I83]\MakeDirectTakeNoArgI84]\relax\begin{Script}%I85S}I86S\NewName{endscript*}{}{%I87]\relax\end{Script}%I88S}I89S\newcommand\sc@make@begin@bit@D[2]{%args:bitstylecopystyleI90]\DefName{sc@begin@bit@#1@#2}{##1##2}{%I91f\def\BitStyle{#1}%I92f\sc@begin@bit@common{##1}{##2}%I93f\PreBitAllI94S%I95S%X\ClaimXMarkTwoI96S%X\MonsterInfo{drama}{Thescriptenvironmentischanging\protect\output.}%I97S%X\output={\sc@outputwrapper}%I98S%X\let\maxdepth\maxdimenI99S%X\let\@maxdepth\maxdimenE100f\if@oneact@E101p2\def\thepage{%E102yw^\arabic{bitbitbit}\hspace{\@neem}\arabic{page}%E103p2}%E104f\elseE105p2\def\thepage{%E106yw^\arabic{bitbit}--\arabic{bitbitbit}\hspace{\@neem}\arabic{page}%E107p2}%E108f\fiE109f\DramPerE110S%E111f\@nameuse{PreBit#1}%E112]}%E113S}E114S\newcommand\sc@make@end@bit@D[2] s,{%args:bitstylecopystyleE115]\DefName{sc@end@bit@#1@#2}{##1}{%E116f\sc@possiblyfinishdirectingE117f\TheEndE118f\MonsterInfo{drama}{\protect\outputisbacktonormalnow.}%E119]}%E120S}E121S\NewBitstyle{Script}E122S\PromulgateComponentAcrossCopystyles{end@bit}{D}{Script}E123S\PromulgateComponentAcrossCopystyles{begin@bit}{D}{Script}E124E125S\newcommand\act{%E126]\sc@possiblyfinishdirecting4ӠsoE127]\sc@mark{\ShortEmpty}% E128]\stepcounter{bitbit}%E129]\pagebreak[3]%E130]\bigskipE131]\centerline{\relsize{2}Act\thebitbit}%E132]\parE133]\nobreakE134]\smallskipE135S}E136S\newcommand\scene{%E137]\sc@possiblyfinishdirectingE138]\sc@mark{\ShortEmpty}%E139]\stepcounter{bitbitbit}%E140]\pagebreak[3]%E141]\bigskipE142]\centerline{\relsize{1}Scene\thebitbitbit}%E143]\parE144]\nobreakE145]\smallskipE146S}6I2.0.2l#spQeak9ersTandstagedirectionsuTE147S\newlength{\halfacross}E148]\setlength{\halfacross}{\textwidth}E149]\divide\halfacrossby2E150S\newlength{\quarteracross}E151]\setlength{\quarteracross}{\textwidth}E152]\divide\quarteracrossby4E153E154S\newenvironment{DramaTab}[1]{%E155f\relax\begin{list}{}{%E156yw^\setlength{\leftmargin}{#1}%E157yw^\setlength{\listparindent}{\z@}%E158yw^\sloppyE159yw^}%E160p2\item\relaxE161]}{%E162]\relax\end{list}%E163S}E164S\newcommand\setstage[1]{%E165]\relax\begin{DramaTab}{\halfacross}%E166f\DirectStyleE167f\DirectOpenE168f\ignorespacesE169f#1%E170f\unskipE171f\DirectCloseE172]\relax\end{DramaTab}%E173S}XItisaquestionofstylewhethertoannouncethespGeaker'snameasecond Itime,]if hisspGeechcontinuesafterastagedirectioninaparagraphbyitself.YIftheIpagebreaksimmediatelybGeforethestagedirection,$orduringit,nocontinuation5'xsoImessageXwillbGegiven.Ifitbreaksafterthestagedirection,andbeforethenext IspGeakerisannouncedwiththe\speakcommand,?acontinuationmessageappro-Ipriates%tothespGeakerb}'efore3thes%stagedirectionisgiven.7Ofcourse,sectioningIcommandsUUwillcancelanycontinuationmessages.XCommunicatingviathemarkisgivingmeaproblem.IdneedtosolvethisIproblemUUandreplace@sc@bGoolUUwithmarkinformation.XAlso,wwhen@;usingtheno-argumentformonasourcewitharguments,wyoucannotIswallowUUthespaceswith\ignorespaces,bGecausetheopenbraceshieldsthem.XThereareproblemswithcertaincombinationsoftakingargumentsandrean-Inouncing.spGeakersafterastagedirection.QI shoulddrawachart,andseehowIIcanUUhandlethings. L\DirectOpenb\DirectClose E174S\newcommand\DirectOpen{\textrm{(}} E175S\newcommand\DirectClose{\textrm{)}}E176S\newboolean{sc@directing}E177E178S\newcommand*\DirectNoArg{%E179]\sc@noargs@finishdirectingE180]\sc@directE181S}E182S\newcommand\DirectWithArg[1]{%E183]\sc@args@finishdirectingE184]\sc@directE185]#1%E186]\sc@really@finishdirectingE187S}E188S\newcommand\sc@direct{%E189]\global\let\sc@lastmark\sc@themarkE190]\sc@mark{\ShortEmpty}%E191]\sc@directingtrueE192]\pagebreak[0]%mildencouragementE193]\relax\begin{DramaTab}{\quarteracross}%E194f\DirectStyleE195f\DirectOpenE196f\ignorespacesE197S}E198S\newcommand\sc@really@finishdirecting{%E199]\unskipE200]\DirectCloseE201]\relax\end{DramaTab}E202]\sc@directingfalseE203S% s,\sc@mark\expandafter{\sc@lastmark}%FIXME:E204S}ILoGoksUUlikeargsversionisnull.E205S\ReserveCS\sc@args@finishdirectingE206S\newcommand\sc@noargs@finishdirecting{%E207]\ifsc@directingE208f\sc@really@finishdirectingE209]\fiE210S}E211S\ReserveCS\sc@possiblyfinishdirectingE212S\newcommand\MakeDirectTakeArg{%6/soE213]\let\sc@possiblyfinishdirecting\sc@args@finishdirecting E214]\let\direct\DirectWithArgE215S}E216S\newcommand\MakeDirectTakeNoArg{%E217]\let\sc@possiblyfinishdirecting\sc@noargs@finishdirectingE218]\let\direct\DirectNoArgE219S}X&F C cmbxti10To$do:Dop}'enaltiesbetter?b\GiveSpeakerE220S\newcommand\GiveSpeaker[1]{%E221]\parE222]\centerline{\textsc{#1}}%E223S} \GiveSpeakerContinuedITheUUspaceisexplicitforclarity*.E224S\newcommand\GiveSpeakerContinued[1]{%E225]\GiveSpeaker{#1\space\rlap{\textsl{(continued)}}}%E226S}E227S\newcommand\speak[1]{%E228]\sc@possiblyfinishdirectingE229]\sc@mark{\ShortEmpty}%E230]\pagebreak[2]%E231]\smallskipE232]\sc@mark{\GiveSpeakerContinued{#1}}%E233]\GiveSpeaker{#1}%E234]\parE235]\nopagebreakE236]\noindentE237S}7:soIIndexINumbGerswritteninitalicrefertothepagewherethecorrespondingentryisde- IscribGed,Dthe onesunderlinedtothecodelineofthede nition,DtheresttothecodeIlinesUUwheretheentryisused.卍⍑Iact=X\subitem*+\act+,\usage{1},125 "Imacro=X\subitemmacro+,38Iaddtolength=X\subitem*+\addtolength+,62Iarabic=X\subitem*+\arabic+,102,106gIbAegin=X\subitem*+\begin+,43,77,84,155,165,193Ibigbreak=X\subitem*+\bigbreak+,50Ibigskip=X\subitem*+\bigskip+,130,141IBitSt9yle=X\subitem*+\BitStyle+,91Icen9terline=X\subitem*+\centerline+,131,142,222Ic9haracter=X\subitem*+\character+,\usage{1},\main{29}IClaimXMarkTw9o=X\subitem*+\ClaimXMarkTwo+,95Icsname=X\subitem*+\csname+,34IDeclareBoAoleanOptions=X\subitem*+\DeclareBooleanOptions+,27Idef=X\subitem*+\def+,1--5,60,91,101,105IDefName=X\subitem*+\DefName+,90,115Idirect=X\subitem*+\direct+,\usage{1},214,218IDirectClose=X\subitem*+\DirectClose+,171,\main{174},200IDirectNoArg=X\subitem*+\DirectNoArg+,178,218IDirectOpAen=X\subitem*+\DirectOpen+,167,\main{174},195IDirectSt9yle=X\subitem*+\DirectStyle+,166,194IDirectWithArg=X\subitem*+\DirectWithArg+,182,214Idivide=X\subitem*+\divide+,149,152Ido=X\subitem*+\do+,45IdoAcdate=X\subitem*+\docdate+,\main{1}IDoXNeeDME=X\subitem*+\DoXNeeDME+,2Idp=X\subitem*+\dp+,58IDramP9er=X\subitem*+\DramPer+,40,109Icdr=X\subitemcdr+,44Iedef=X\subitem*+\edef+,6,44Ielse=X\subitem*+\else+,41,68,104Iend=X\subitem*+\end+,48,80,87,162,172,201Iendcsname=X\subitem*+\endcsname+,34Iendinput=X\subitem*+\endinput+,18Ien9vironments:>script,1Iexpandafter=X\subitem*+\expandafter+,34,203I =X\subitem*+\fi+,51,71,72,108,209I ledate=X\subitem*+\filedate+,\main{1}I leinfo=X\subitem*+\fileinfo+,\main{1}I lev9ersion=X\subitem*+\fileversion+,\main{1}IGiv9eSpAeaker=X\subitem*+\GiveSpeaker+,\main{220},225,233IGiv9eSpAeakerContinued=X\subitem*+\GiveSpeakerContinued+,\main{224}Iglobal=X\subitem*+\global+,189⍒ªGobble=X\subitem*+\Gobble+,24Սªhalfacross=X\subitem*+\halfacross+,147--149,165 -ªhspace=X\subitem*+\hspace+,102,106ªdirecting=X\subitemdirecting+,69,207ªifx=X\subitem*+\ifx+,41,66ªignorespaces=X\subitem*+\ignorespaces+,168,196ªInitCS=X\subitem*+\InitCS+,49,65ªitem=X\subitem*+\item+,160ªJuStLoAdInF:oRmA9tIoN=X\subitem*+\JuStLoAdInFoRmAtIoN+,14ªk9ern=X\subitem*+\kern+,63ªlarger=X\subitem*+\larger+,42ªleftmargin=X\subitem*+\leftmargin+,156ªlet=X\subitem*+\let+,24,32,67,70,98,99,189,213,214,217,218ªlistparinden9t=X\subitem*+\listparindent+,157ªLongEmpt9y=X\subitem*+\LongEmpty+,41ªmak9eatletter=X\subitem*+\makeatletter+,9ªmak9eatother=X\subitem*+\makeatother+,17ªMak9eDirectT:akeArg=X\subitem*+\MakeDirectTakeArg+,76,212ªMak9eDirectT:akeNoArg=X\subitem*+\MakeDirectTakeNoArg+,83,216ªmaxdepth=X\subitem*+\maxdepth+,98ªmaxdimen=X\subitem*+\maxdimen+,98,99ªMonsterInfo=X\subitem*+\MonsterInfo+,96,118ªNeedsT:eXFormat=X\subitem*+\NeedsTeXFormat+,20ªNewBitst9yle=X\subitem*+\NewBitstyle+,121ªnewbAoolean=X\subitem*+\newboolean+,176ªNewCharacterAbbrev=X\subitem*+\NewCharacterAbbrev+,31,34ªnew9command=X\subitem*+\newcommand+,33,40,57,75,89,114,125,136,164,174, બ175,!*178,બ182,188,198,બ206,212,216,બ220,s224,227ªnew9environment=X\subitem*+\newenvironment+,154ªnewlength=X\subitem*+\newlength+,147,150ªNewName=X\subitem*+\NewName+,35,79,82,86ªnewtok9ens=X\subitem*+\newtokens+,53ªNewUserAbbrevDe ner=X\subitem*+\NewUserAbbrevDefiner+,31ªnobreak=X\subitem*+\nobreak+,133,144ªnoinden9t=X\subitem*+\noindent+,236ªnopagebreak=X\subitem*+\nopagebreak+,235Սªoutput=X\subitem*+\output+,54,96,97,118⍒