summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/dramatist/dramatist.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/dramatist/dramatist.dtx')
-rw-r--r--Master/texmf-dist/source/latex/dramatist/dramatist.dtx144
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