diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/dramatist')
-rw-r--r-- | Master/texmf-dist/source/latex/dramatist/dramatist.dtx | 144 |
1 files changed, 47 insertions, 97 deletions
diff --git a/Master/texmf-dist/source/latex/dramatist/dramatist.dtx b/Master/texmf-dist/source/latex/dramatist/dramatist.dtx index 456d100e210..64b27a31ae3 100644 --- a/Master/texmf-dist/source/latex/dramatist/dramatist.dtx +++ b/Master/texmf-dist/source/latex/dramatist/dramatist.dtx @@ -1,6 +1,6 @@ %\iffalse %% dramatist.dtx -%% Copyright (C) 2003-2004 Massimiliano Dominici +%% Copyright (C) 2003-2005 Massimiliano Dominici % % 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 @@ -49,6 +49,7 @@ \makeatother \OnlyDescription \EnableCrossrefs +\CodelineIndex \RecordChanges \providecommand\envname[1]{\textsf{#1}} \providecommand\clsname[1]{\textsf{#1}} @@ -60,7 +61,7 @@ \end{document} %</driver> %\fi -% \CheckSum{1008} +% \CheckSum{523} %% \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 @@ -88,6 +89,18 @@ %environment (\envname{CharacterGroup}) for characters groups in %the \emph{Dramatis Person\ae} list; added various hooks for user %customization.} +%\changes{v1.2a}{2005/05/21}{Fixed a bug in the vertical spacing of +%\cs{DramPer}. Changed name of counter \textsf{linenumber} in +%\textsf{verselinenumber} in order to mantain compatibility with +%package \pkgname{poemscol}} +%\changes{v1.2c}{2005/07/26}{Fixed two bugs: now the package works +%correctly with the spanish extension of \pkgname{babel} and a +%\cs{\meta{name}} command at the end of a \cs{direct} macro no more gives +%an unwanted space. Fixed a typo in the author e-mail address.} +%\changes{v1.2d}{2005/12/01}{Fixed three bugs: restored a missing +%backslash in \cs{dirdelimiter}; customized lengths in character groups +%inside a Dramatis Personae list now work correctly; \cs{speaksdel} is +%now appended to characters' label in verse drama environment too.} % %\DoNotIndex{\@afterheading,\@afterindentfalse,\@break@tfor,\@empty} %\DoNotIndex{\@ifstar,\@let@token,\@namedef,\@nameuse,\@nil} @@ -113,7 +126,7 @@ % %\title{The \Filename{dramatist} package\thanks{This file has version %number \fileversion{} dated \filedate{}.} \\User Guide} -%\author{Massimiliano Dominici\\\texttt{mlgdominici@intrefree.it}} +%\author{Massimiliano Dominici\\\texttt{mlgdominici@interfree.it}} %\date{\filedate} %\maketitle % @@ -499,8 +512,9 @@ % % \begin{macrocode} %<*dramatist> -\ProvidesPackage{dramatist}[2004/05/10 v1.2 Package for typesetting drama -- Author: Massimiliano Dominici] +\ProvidesPackage{dramatist}[2005/12/01 v1.2d Package for typesetting drama -- Author: Massimiliano Dominici] \NeedsTeXFormat{LaTeX2e} +\RequirePackage{xspace} % \end{macrocode} %\subsection{Conditionals, options and counters} %The following line checks wether a class defining |\if@openright| @@ -599,7 +613,7 @@ \@drversetrue \if@poemscol \begin{poem} - \setcounter{linenumber}{\value{storelineno}} + \setcounter{verselinenumber}{\value{storelineno}} \setcounter{printlineindex}{\value{storeprintlineindex}} \else \begin{verse} @@ -613,7 +627,7 @@ \fi \if@poemscol \end{poem} - \setcounter{storelineno}{\value{linenumber}} + \setcounter{storelineno}{\value{verselinenumber}} \setcounter{storeprintlineindex}{\value{printlineindex}} \else \end{verse} @@ -813,10 +827,7 @@ %The macro |\Character| performs three different tasks. First, %it creates, being \meta{name} the third argument, the command %|\|\meta{name}, for use in stage directions; in order to achieve -%this task it uses |\@namedef|, and a new defined command, -%|\intsp@ce|, which takes care of inserting spaces when needed and -%which is inspired by |\text@command| (both for this and for -%|\@namedef| see the latex source). +%this task it uses |\@namedef| (see the latex source). % %In second place it creates a |\|\meta{name}|speaks| command, used %for printing the speaker's name. It uses, for this purpose a @@ -843,10 +854,10 @@ \def\@xcharacter[#1]#2#3{% \stepcounter{character} \@character{#2}{#3} - \n@me@ppend@nddef{persona}{\roman{character}}{\castfont #1} + \n@me@ppend@nddef{persona}{@\Roman{character}}{\castfont #1} } \def\@character#1#2{% - \@namedef{#2}{{\namefont #1}\intsp@ce{#1}\check@spr} + \@namedef{#2}{{\namefont #1}\xspace} \n@me@ppend@nddef{#2}{\@ppendname}{% \if@drverse {\speakstab\speaksfont{#1}\speaksdel\par\nobreak\addvspace{-\parskip}} @@ -876,7 +887,7 @@ % \begin{macrocode} \newenvironment{CharacterGroup}[1]{% \stepcounter{character} - \newcounter{g\roman{character}} + \newcounter{g\Roman{character}} \grouplist{#1} }{} % \end{macrocode} @@ -887,9 +898,9 @@ % \begin{macrocode} \newsavebox{\tbox} \newcommand\grouplist[1]{% - \global\n@me@ppend@nddef{persona}{\roman{character}}{% + \global\n@me@ppend@nddef{persona}{@\Roman{character}}{% \begin{lrbox}{\tbox} - \begin{minipage}[c]{.65\textwidth}\raggedright + \begin{minipage}[c]{\CharWidth}\raggedright \leftmargini=0pt \begin{list}{}{\itemsep=0pt} \dogrouplist @@ -898,14 +909,14 @@ \end{lrbox} \parbox{\CharWidth}{\usebox{\tbox}}% \parbox{\ParenWidth}{$\left.\rule{0pt}{\ht\tbox}\right\}$} - \parbox{\CastWidth}{\castfont #1}} + \parbox{\CastWidth}{\castfont #1\strut}} } % \end{macrocode} % \begin{macrocode} \newcommand{\dogrouplist}{% - \ifnum\value{g\roman{temp}}>\value{gtemp} + \ifnum\value{g\Roman{temp}}>\value{gtemp} \stepcounter{gtemp} - \item\@nameuse{gpersona\Roman{temp}\roman{gtemp}} + \item\@nameuse{gpersona@\Roman{temp}@\Roman{gtemp}}\strut \dogrouplist \fi \setcounter{gtemp}{0} @@ -920,16 +931,16 @@ %argument is, obviously, mandatory. % \begin{macrocode} \newcommand\GCharacter[3]{ - \stepcounter{g\roman{character}} - \global\@namedef{#3}{{\namefont #2}\intsp@ce{#2}\check@spr} + \stepcounter{g\Roman{character}} + \global\@namedef{#3}{{\namefont #2}\xspace} \global\n@me@ppend@nddef{#3}{\@ppendname}{% \if@drverse - {\speakstab\speaksfont #2\par\nobreak\addvspace{-\parskip}} + {\speakstab\speaksfont #2\speaksdel\par\nobreak\addvspace{-\parskip}} \else - \item[#2] + \item[#2\speaksdel] \fi} - \global\n@me@ppend@nddef{gpersona\Roman{character}}{% - \roman{g\roman{character}}}{\castfont #1} + \global\n@me@ppend@nddef{gpersona@\Roman{character}}{% + @\Roman{g\Roman{character}}}{\castfont #1} } % \end{macrocode} %\end{macro} @@ -947,69 +958,6 @@ \fi} % \end{macrocode} %\end{macro} -%\begin{macro}{\intsp@ce} -%For details about this code you may have a look to -%\Filename{ltfntcmd.dtx}. -% \begin{macrocode} -\let \nospace \relax -% \end{macrocode} -% \begin{macrocode} -\let \check@spr \@empty -% \end{macrocode} -% \begin{macrocode} -\def \intsp@ce #1{% - \def \reserved@a {#1}% - \ifx \reserved@a \@empty - \let \check@spr \@empty - \else - \ifx \reserved@a \space - \let \check@spr \@empty - \else - \check@nospace@ #1\nospace\@nil - \fi - \fi -} -% \end{macrocode} -% \begin{macrocode} -\def \check@nospace@ #1#2\nospace#3\@nil {% - \let \check@spr \maybe@sp - \def \reserved@a {\nospace}% - \def \reserved@b {#1}% - \def \reserved@c {#3}% - \ifx \reserved@a \reserved@b - \ifx \reserved@c \@empty - \else - \let \check@spr \@empty - \fi - \else - \ifx \reserved@c \@empty - \else - \let \check@spr \@empty - \fi - \fi -} -% \end{macrocode} -% \begin{macrocode} -\def \maybe@sp {\futurelet\@let@token\maybe@sp@} -\def \maybe@sp@ {% - \@tempswatrue - \expandafter\@tfor\expandafter\reserved@a\expandafter:\expandafter=% - \nospacelist - \do \t@st@sp - \if@tempswa \space \fi -} -\def \t@st@sp {% - \expandafter\let\expandafter\reserved@b\expandafter=\reserved@a\relax - \ifx\reserved@b\@let@token - \@tempswafalse - \@break@tfor - \fi -} -% \end{macrocode} -% \begin{macrocode} -\def \nospacelist {,.;:?!)} -% \end{macrocode} -%\end{macro} %\begin{macro}{\DramPer} %\changes{v1.1}{2004/01/19}{\cs{DramPer} is now defined in a standard %way and has an optional argument (to use for footnotes and the @@ -1050,7 +998,7 @@ \newcommand{\dodramperlist}{% \ifnum\value{character}>\value{temp} \stepcounter{temp} - \item\@nameuse{persona\roman{temp}} + \item\@nameuse{persona@\Roman{temp}}\strut \dodramperlist \fi } @@ -1073,9 +1021,9 @@ \newcommand{\@direct}[1]{% \if@drverse \vskip2\normallineskip - \parbox[b]{\dirwidth}{\dirdelimiter{\emph{#1}}}\@centercr + \parbox[b]{\dirwidth}{\dirdelimiter{{\itshape #1}}}\@centercr \else - \dirdelimiter{\emph{#1}}\unskip + \dirdelimiter{{\itshape #1}}\unskip \fi } % \end{macrocode} @@ -1083,7 +1031,7 @@ \newcommand{\@sdirect}[1]{% \if@drverse \vskip2\normallineskip - \parbox[b]{\dirwidth}{\dirdelimiter{\emph{#1}}}\\! + \parbox[b]{\dirwidth}{\dirdelimiter{\itshape #1}}\\! \else \starrederror \fi @@ -2125,8 +2073,8 @@ %free software license, such as the GNU General Public License, %to permit their use in free software. % -%\StopEventually{ -%\begin{thebibliography}{10} +% \StopEventually{ +% \begin{thebibliography}{10} % \bibitem{knuth} Donald Knuth. % \newblock \emph{The \TeX book}, % \newblock Addison--Wesley, Reading, MA, 1996. @@ -2137,10 +2085,10 @@ % \bibitem{ver} Peter Wilson % \newblock \emph{Typesetting simple verse with \LaTeX}, % \newblock (Available from CTAN, \texttt{macros/latex/contrib/supported/verse}) -%\end{thebibliography} -%\PrintChanges -%\PrintIndex -%} +% \end{thebibliography} +% \PrintChanges +% \PrintIndex +% } %\iffalse %<*schiller> %\fi @@ -2794,6 +2742,7 @@ And, when I die, here shall my spirit walk.\\! %\iffalse %</vmarlowe> %\fi +%\iffalse %<*pmarlowe> %\fi % \begin{macrocode} @@ -3136,5 +3085,6 @@ And, when I die, here shall my spirit walk.\verseline %</pmarlowe> %\fi %\Finale +% \PrintIndex \PrintChanges \endinput |