summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/ledmac
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-11-10 00:01:45 +0000
committerKarl Berry <karl@freefriends.org>2011-11-10 00:01:45 +0000
commitf01a57cb491fec4fe48784ed8a048788ddc572d4 (patch)
tree8bd2b79ee03fc8d87e4dea2daf972fc7cc6e58db /Master/texmf-dist/source/latex/ledmac
parent7ec50efcbabe73cfe05cb85be9ebca8319eb32c6 (diff)
ledmac (9nov11)
git-svn-id: svn://tug.org/texlive/trunk@24561 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/ledmac')
-rw-r--r--Master/texmf-dist/source/latex/ledmac/ledmac.dtx68
-rw-r--r--Master/texmf-dist/source/latex/ledmac/ledpar.dtx64
2 files changed, 92 insertions, 40 deletions
diff --git a/Master/texmf-dist/source/latex/ledmac/ledmac.dtx b/Master/texmf-dist/source/latex/ledmac/ledmac.dtx
index d953b907969..69d3af0dcdd 100644
--- a/Master/texmf-dist/source/latex/ledmac/ledmac.dtx
+++ b/Master/texmf-dist/source/latex/ledmac/ledmac.dtx
@@ -50,7 +50,7 @@
%
% \fi
%
-% \CheckSum{9130}
+% \CheckSum{9157}
%
% \makeatletter
% \newcommand*{\DescribeIt}{\leavevmode\@bsphack\begingroup\MakePrivateLetters
@@ -155,7 +155,7 @@
% \changes{v0.7}{2005/03/02}{ledmac having been available for 2 years,
% deleted the commented out original edmac texts}
% \changes{v0.7}{2011/06/17}{Ma\"ieul Rouquette new maintainer}
-% \changes{0.8}{2011/17/06}{Bug on endnotes fixed : in a // text, all endnotes will print and be placed at the ends of columns (!)}
+% \changes{v0.8}{2011/17/06}{Bug on endnotes fixed : in a // text, all endnotes will print and be placed at the ends of columns (!)}
% \changes{v0.8.1}{2011/07/14}{Bug on \cs{edtext} ; \cs{critex} ; \cs{lemma} fixed : we can now us non switching commands}
% \changes{v0.9}{2011/08/03}{No more ledpatch. All patches are now in the main file.}
% \changes{v0.9.1}{2011/08/08}{Fix some bugs linked to integrating ledpatch on the main file.}
@@ -165,6 +165,7 @@
% \changes{v0.12}{2011/10/01}{For compatibilty with ledpar, possibility to use \cs{autopar} on the right side.}
% \changes{v0.12.1}{2011/10/02}{The numbering of \cs{pstarts} restarts on each \cs{beginnumbering}.}
% \changes{v0.12.1}{2011/10/02}{Don't number \cs{pstarts} of stanza.}
+%\changes{v0.13}{2011/11/08}{New stanzaindentsrepetition counter to repeat stanza indents every \emph{n} verses.}
% \hyphenation{man-u-script man-u-scripts}
%
% \newcommand{\Lpack}[1]{\textsf{#1}}
@@ -788,7 +789,7 @@
% and say \cs{memorybreak} between the relevant \cs{pend} and
% \cs{pstart}.
%
-%\changes{v.0.12}{2011/10/01}{Possibilty to number \cs{pstart}.}
+%\changes{v0.12}{2011/10/01}{Possibilty to number \cs{pstart}.}
% It's possible to insert a number at every \cs{pstart} command. You must use the \DescribeMacro{\numberpstarttrue}\cs{numberpstarttrue} command to have it. You can stop the numbering with \DescribeMacro{\numberpstartfalse}\cs{numberpstartfalse}. You can redefine the command \DescribeMacro{\thepstart}\cs{thepstart} to change style. On each \cs{beginnumbering} the numbering restarts.
% \subsection{Lineation commands}
%
@@ -1467,8 +1468,7 @@
% \end{PW}
%
% The numerical entries must be whole numbers, 0 or greater, separated by
-% commas without embedded spaces. There
-% must be one more entry than there are lines in the stanza. The first entry
+% commas without embedded spaces. The first entry
% gives the hanging indentation to be used if the stanza line requires more
% than one print line. If it is known that each stanza line will fit on
% a single print line, then this first entry should be 0; \TeX\ does less
@@ -1476,7 +1476,21 @@
% 0 but is never used. Enumeration is by stanza lines, not by print lines.
% In the above example the lines are indented one unit, two units, one unit,
% two units, with 3 units of hanging indentation in case a stanza line is too
-% long to fit on one print line. Make sure you have at least one more numerical
+% long to fit on one print line.
+%
+%\changes{v0.13}{2011/11/08}{New stanzaindentsrepetition counter to repeat stanza indents every \emph{n} verses.}
+% Since version 0.13, if the indentation is repeated every \emph{n} verses of the stanza, you can define only the \emph{n} first indentations, and say they are repeated, defining the value of the \verb+stanzaindentsrepetition+ counter at \emph{n}. For example :
+%\begin{verbatim}
+%\setstanzaindents{0,1,0}
+%\setcounter{stanzaindentsrepetition}{2}
+% \end{verbatim}
+%
+% is like
+%\begin{verbatim}
+%\setstanzaindents{0,1,0,1,0,1,0,1,0,1,0…}
+% \end{verbatim}
+%
+%If you don't use the \verb+stanzaindentsrepetition+ counter,make sure you have at least one more numerical
% entry in \verb+\setstanzavalues+ than the number of lines in the stanza.
% The macros make no restriction on the number of lines in a stanza.
% Stanza indentation values (and penalty values) obey \TeX's grouping
@@ -2955,7 +2969,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ledmac}[2011/10/02 v0.12.1 LaTeX port of EDMAC]
+\ProvidesPackage{ledmac}[2011/11/08 v0.13 LaTeX port of EDMAC]
% \end{macrocode}
%
@@ -10226,7 +10240,7 @@
% \end{macrocode}
% Left adjusted numbered lines
% \begin{macrocode}
- \ifx\@tempa\@tempb
+ \ifx\@tempa\@tempb
\let\ledllfill\relax
\else
\def\@tempb{r}%
@@ -10732,17 +10746,30 @@
% \begin{PW}
% \begin{macro}{\setstanzaindents}
% \begin{macro}{\setstanzapenalties}
+% \begin{macro}{\managestanza@modulo}
% In the original \verb?\setstanzavalues{sza}{...}? had to be called to
% set the indents, and similarly \verb?\setstanzavalues{szp}{...}?
% to set the penalties. These two macros are a convenience to give
% the user one less thing to worry about (misspelling the first argument).
+% Since version 0.13, the \verb+stanzaindentsrepetition+ counter can be used when the indentation is repeated every n verses. The \cs{managestanza@modulo} is a command which modifies the counter stanza@modulo. The command adds 1 to stanza@modulo, but if stanza@modulo is equal to the stanzaindentsrepetition counter, the command restarts it.
+%\changes{v0.13}{2011/11/08}{New stanzaindentsrepetition counter to repeat stanza indents every \emph{n} verses.}
% \begin{macrocode}
\newcommand*{\setstanzaindents}[1]{\setstanzavalues{sza}{#1}}
\newcommand*{\setstanzapenalties}[1]{\setstanzavalues{szp}{#1}}
+\newcounter{stanzaindentsrepetition}
+\newcount\stanza@modulo
+
+\newcommand*{\managestanza@modulo}[0]{
+ \advance\stanza@modulo\@ne
+ \ifnum\stanza@modulo>\value{stanzaindentsrepetition}
+ \stanza@modulo\@ne
+ \fi
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{PW}
%
% \begin{macro}{\stanza@line}
@@ -10761,17 +10788,22 @@
% places in the stanza for page breaking.
% \begin{macrocode}
\def\stanza@line{
-\parindent=\csname sza@\number\stanza@count
+ \ifnum\value{stanzaindentsrepetition}=0
+ \parindent=\csname sza@\number\stanza@count
@\endcsname\stanzaindentbase
- \pstart\stanza@hang\ignorespaces}
+ \else
+ \managestanza@modulo
+ \parindent=\csname sza@\number\stanza@modulo
+ @\endcsname\stanzaindentbase
+ \fi
+ \pstart\stanza@hang\ignorespaces}
\xdef\stanza@hang{\noexpand\leavevmode\noexpand\startlock
\hangindent\expandafter
\noexpand\csname sza@0@\endcsname\stanzaindentbase
- \hangafter\@ne}
+ \hangafter\@ne}
\def\sza@penalty{\count@\csname szp@\number\stanza@count @\endcsname
- \ifnum\count@>\@M\advance\count@-\@M\penalty-\else
- \penalty\fi\count@}
-
+ \ifnum\count@>\@M\advance\count@-\@M\penalty-\else
+ \penalty\fi\count@}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -10804,8 +10836,8 @@
\let\startstanzahook\relax
\let\endstanzaextra\relax
\xdef\stanza{\noexpand\instanzatrue\expandafter
- \begingroup\startstanzahook%
- \catcode`\&\active\global\stanza@count\@ne
+ \begingroup\startstanzahook%
+ \catcode`\&\active\global\stanza@count\@ne\stanza@modulo\@ne
\noexpand\ifnum\expandafter\noexpand
\csname sza@0@\endcsname=\z@\let\noexpand\stanza@hang\relax
\let\noexpand\endlock\relax\noexpand\else\interlinepenalty
@@ -13285,9 +13317,9 @@ in section~\ref{subsec}.
\scriptsize
\notenumfont\printlines#1|%
\ifledplinenum
- \enspace
+ \enspace
\else
- {\hskip 0em plus 0em minus .3em}
+ {\hskip 0em plus 0em minus .3em}
\fi
\select@lemmafont#1|#2\rbracket\enskip
\notetextfont
diff --git a/Master/texmf-dist/source/latex/ledmac/ledpar.dtx b/Master/texmf-dist/source/latex/ledmac/ledpar.dtx
index 898fe8b4e26..1a00904d366 100644
--- a/Master/texmf-dist/source/latex/ledmac/ledpar.dtx
+++ b/Master/texmf-dist/source/latex/ledmac/ledpar.dtx
@@ -50,7 +50,7 @@
%
% \fi
%
-% \CheckSum{4485}
+% \CheckSum{4524}
%
% \makeatletter
% \newcommand*{\DescribeIt}{\leavevmode\@bsphack\begingroup\MakePrivateLetters
@@ -129,6 +129,7 @@
% \def\fileversion{v0.8} \def\filedate{2011/09/16}
% \def\fileversion{v0.9}\def\filedate{2011/10/01}
% \def\fileversion{v0.9.1}\def\filedate{2011/10/02}
+% \def\fileversion{v0.9.2}\def\filedate{2011/11/08}
% \changes{v0.1}{2004/12/10}{First public release}
% \changes{v0.2}{2005/01/01}{Fix babel problems}
% \changes{v0.3}{2005/03/24}{Reorganize for ledarab}
@@ -142,6 +143,7 @@
% \changes{v0.8}{2011/09/16}{Possibility to have a symbol on each hanging of verses, like in the french typography. Redefine the commande \cs{hangingsymbol} to define the character.}
% \changes{v0.9}{2011/10/01}{Possibilty to number the pstart with the commands \cs{numberpstarttrue}.}
% \changes{v0.9.1}{2011/10/02}{The numbering of the pstarts restarts on each \cs{beginnumbering}.}
+% \changes{v0.9.2}{2011/11/08}{Debug : with \cs{Columns}, the hanging indentation now runs on the left columns and the hanging symbol is shown only when \cs{stanza} is used.}
% \hyphenation{man-u-script man-u-scripts}
%
% \newcommand{\Lpack}[1]{\textsf{#1}}
@@ -296,12 +298,8 @@
% then you can increase \cs{maxchunks}. The \cs{maxchunks} must be called in the preamble.
%
% TeX has a limited number of boxes; if you get an error
-% message along the lines of `no room for a new box', then decrease
-% the number. A chunk also requires a counter so you may get a message
-% along the lines `no room for a new count', which may be resolved by reducing
-% \cs{maxchunks}.
-%
-% On the other hand, if you get a \Ledmac{} error message along the
+% message along the lines of `no room for a new box', then load the package etex, which needs pdflatex or xelatex. If you \cs{maxchunks} is too little
+%you can get a \Ledmac{} error message along the
% lines: `Too many \cs{pstart} without printing. Some text will be lost.'
% then you will have to either increase \cs{maxchunks} or use the
% parallel printing commands (\cs{Columns} or \cs{Pages}) more frequently.
@@ -566,7 +564,7 @@
%
%
%
-%\changes{v.0.9}{2011/10/01}{Possibility to number \cs{pstart}.}
+%\changes{v0.9}{2011/10/01}{Possibility to number \cs{pstart}.}
% It's possible to insert a number at every \cs{pstart} command. You must use the \DescribeMacro{\numberpstarttrue}\cs{numberpstarttrue} command to have it. You can stop the numerotation with \DescribeMacro{\numberpstartfalse}\cs{numberpstartfalse}. You can redefine the commands \DescribeMacro{\thepstartL}\cs{thepstartL} and \DescribeMacro{\thepstartR}\cs{thepstartR} to change style. The numbering restarts on each \cs{beginnumbering}
% \section{Verse}
%
@@ -696,12 +694,12 @@
%
% Announce the name and version of the package, which is
% targetted for LaTeX2e. The package also requires the \Ledmac{}
-% package, preferably at least version 0.10 (2011/08/22).
+% package, preferably at least version 0.13 (2011/11/08).
%
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ledpar}[2011/10/02 v0.9.1 ledmac extension for parallel texts]
+\ProvidesPackage{ledpar}[2011/11/08 v0.9.2 ledmac extension for parallel texts]
% \end{macrocode}
% With the option `shiftedverses' a long verse one the left side (or in the right side) don't make a blank on the corresponding verse, but the blank is put on the bottom of the page. Consequently, the verses on the parallel pages are shifted, but the shifted stop at every end of pages.
@@ -2122,6 +2120,16 @@
% \end{environment}
% \end{environment}
%
+%
+% \begin{macro}{ifinstanzaL}
+% \begin{macro}{ifinstanzaR}
+% These boolean tests are switched by the \cs{stanza} command, using either the left or right side.
+% \begin{macrocode}
+ \newif\ifinstanzaL
+ \newif\ifinstanzaR
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
% \begin{environment}{Leftside}
% Within the \verb?pairs? and \verb?pages? environments the left and
% right hand texts are within \verb?Leftside? and \verb?Rightside?
@@ -2138,7 +2146,11 @@
\let\pend\pendL
\let\memorydump\memorydumpL
\Leftsidehook
-}{\Leftsidehookend}
+ \let\oldstanza\stanza
+ \renewcommand{\stanza}{\oldstanza\global\instanzaLtrue}
+}{
+ \let\stanza\oldstanza
+ \Leftsidehookend}
% \end{macrocode}
% \end{environment}
%
@@ -2180,8 +2192,11 @@
\let\pend\pendR
\let\lineation\lineationR
\Rightsidehook
+ \let\oldstanza\stanza
+ \renewcommand{\stanza}{\oldstanza\global\instanzaRtrue}
}{%
\ledRcolfalse
+ \let\stanza\oldstanza
\Rightsidehookend
}
@@ -2449,7 +2464,7 @@
% some common code}
% \begin{macrocode}
\newcommand*{\do@lineL}{%
- \manageparhangingsymbol
+\ifinstanzaL\manageparhangingsymbol\fi
\advance\countLline \@ne
\ifvbox\namebox{l@dLcolrawbox\the\l@dpscL}%
{\vbadness=10000
@@ -2500,7 +2515,7 @@
% \changes{v0.3}{2005/02/10}{Changed \cs{do@lineR} similarly to \cs{do@lineL}}
% \begin{macrocode}
\newcommand*{\do@lineR}{%
-\manageparhangingsymbol
+\ifinstanzaR\manageparhangingsymbol\fi
\advance\countRline \@ne
\ifvbox\namebox{l@dRcolrawbox\the\l@dpscR}%
{\vbadness=10000
@@ -3850,8 +3865,8 @@
\do@lineR
\fi
\hb@xt@ \hsize{%
- \unhbox\l@dleftbox
- \hfill \columnseparator \hfill
+ \hfill \unhbox\l@dleftbox
+ \hfill \columnseparator \hfill
\unhbox\l@drightbox
}%
\checkraw@text
@@ -3866,7 +3881,7 @@
\repeat
% \end{macrocode}
% Having output all chunks, make sure all notes have been output,
-% then zero counts ready for the next set of texts.
+% then zero counts ready for the next set of texts. The boolean tests for stanza are switched to false.
% \begin{macrocode}
\flush@notes
\flush@notesR
@@ -3877,7 +3892,9 @@
\global\l@dpscR=\z@
\global\l@dnumpstartsL=\z@
\global\l@dnumpstartsR=\z@
- \ignorespaces}
+ \ignorespaces
+ \global\instanzaLfalse
+ \global\instanzaRfalse}
% \end{macrocode}
% \end{macro}
@@ -3914,7 +3931,8 @@
\ifnum\l@dnumpstartsR>\l@dpscR
\@pstartstrue
\fi
- \fi}
+ \fi
+}
% \end{macrocode}
% \end{macro}
@@ -3928,7 +3946,7 @@
% \begin{macro}{\checkraw@text}
% \cs{checkraw@text} checks whether the current Left or Right box is
% void or not. If one or other is not void it sets \cs{araw@texttrue},
-% otherwise both are void and it sets \cs{araw@textfalse}.
+% otherwise both are void and it sets \cs{araw@textfalse}.
% \begin{macrocode}
\newif\ifaraw@text
\araw@textfalse
@@ -3940,7 +3958,8 @@
\ifvbox\namebox{l@dRcolrawbox\the\l@dpscR}
\araw@texttrue
\fi
- \fi}
+ \fi
+}
% \end{macrocode}
% \end{macro}
@@ -4179,13 +4198,14 @@
\flush@notesR
\endgroup
% \end{macrocode}
-% Zero counts ready for the next set of left/right text chunks.
+% Zero counts ready for the next set of left/right text chunks. The boolean tests for stanza are switched to false.
% \begin{macrocode}
\global\l@dpscL=\z@
\global\l@dpscR=\z@
\global\l@dnumpstartsL=\z@
\global\l@dnumpstartsR=\z@
-
+ \global\instanzaLfalse
+ \global\instanzaRfalse
\ignorespaces}
% \end{macrocode}