summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/ledmac
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-17 22:59:04 +0000
committerKarl Berry <karl@freefriends.org>2011-09-17 22:59:04 +0000
commitae2491a03dcd2036d8879409d6fe624854f27e3f (patch)
treecc0d7a0656462040d39f116cabb0af7897ce8822 /Master/texmf-dist/source/latex/ledmac
parent1660ead686e1adf91f9eb96d0fe3010b137136f4 (diff)
ledmac (17sep11)
git-svn-id: svn://tug.org/texlive/trunk@23993 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/ledmac')
-rw-r--r--Master/texmf-dist/source/latex/ledmac/ledmac.dtx69
-rw-r--r--Master/texmf-dist/source/latex/ledmac/ledpar.dtx49
2 files changed, 104 insertions, 14 deletions
diff --git a/Master/texmf-dist/source/latex/ledmac/ledmac.dtx b/Master/texmf-dist/source/latex/ledmac/ledmac.dtx
index 91e4f8aa08b..dfed346c774 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{9034}
+% \CheckSum{9085}
%
% \makeatletter
% \newcommand*{\DescribeIt}{\leavevmode\@bsphack\begingroup\MakePrivateLetters
@@ -132,6 +132,7 @@
% \def\fileversion{v0.9} \def\filedate{2011/08/03}
% \def\fileversion{v0.9.1} \def\filedate{2011/08/08}
% \def\fileversion{v0.10} \def\filedate{2011/08/22}
+% \def\fileversion{v0.11} \def\filedate{2011/09/16}
% \changes{v0.1}{2003/03/25}{First public release}
% \changes{v0.2}{2003/08/16}{Added tabmac code, and extended indexing}
% \changes{v0.2.1}{2003/09/13}{Bug fixes and match with mempatch v1.8}
@@ -157,6 +158,7 @@
% \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 bug's linked with the integration of ledpatch on the main file.}
% \changes{v0.10}{2011/08/22}{Corrections about \cs{section} and other titles in numbered sections}
+% \changes{v0.11}{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.}
% \hyphenation{man-u-script man-u-scripts}
%
% \newcommand{\Lpack}[1]{\textsf{#1}}
@@ -1546,7 +1548,12 @@
% \numberit First line, second stanza...
% \end{verbatim}
% \end{PW}
-%
+%\begin{PW}
+% It's possible to insert a symbol on each hanging of verse. For example, in the french typography, the symbol is `]'.To say to ledmac to insert it, just redefine the macro \DescribeMacro{\hangingsymbol}\cmd{\hangingsymbol} with this code :
+%\begin{verbatim}
+%\renewcommand{\hangingsymbol}{[\,}
+%\end{verbatim}
+%\end{PW}
% \section{Grouping}
% \begin{PW}
% In a \verb?minipage? environment LaTeX changes \verb?\footnote? numbering from
@@ -2940,7 +2947,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ledmac}[2011/08/22 v0.10 LaTeX port of EDMAC]
+\ProvidesPackage{ledmac}[2011/09/16 v0.11 LaTeX port of EDMAC]
% \end{macrocode}
%
@@ -5533,7 +5540,8 @@
% them to survive past the end of the paragraph.
% \begin{macrocode}
\newcommand*{\pstart}{
- \if@nobreak
+\managehangingsymbol
+\if@nobreak
\let\@oldnobreak\@nobreaktrue
\else
\let\@oldnobreak\@nobreakfalse
@@ -8994,9 +9002,10 @@
% user commands for left and right sidenotes. \verb?\ledsidenote?\marg{text}
% is the command for a moveable sidenote.
% \begin{macrocode}
-\newcommand*{\ledleftnote}[1]{\edtext{}{\l@dlsnote{#1}}}
-\newcommand*{\ledrightnote}[1]{\edtext{}{\l@drsnote{#1}}}
-\newcommand*{\ledsidenote}[1]{\edtext{}{\l@dcsnote{#1}}}
+\newcommand*{\ledleftnote}[1]{\setcounter{hboxmodulo}{-1}\edtext{}{\l@dlsnote{#1}}}
+\newcommand*{\ledrightnote}[1]{\setcounter{hboxmodulo}{-1}\edtext{}{\l@drsnote{#1}}}
+\newcommand*{\ledsidenote}[1]{\setcounter{hboxmodulo}{-1}\edtext{}{\l@dcsnote{#1}}}
+
% \end{macrocode}
% \end{macro}
@@ -10570,6 +10579,44 @@
%
%
% \begin{PW}
+% The macro \cmd{\hangingsymbol} is used to insert a symbol on each hanging of verses.
+%For example, in french typographie the symbol is `]'. We obtain it by the next code:
+%\begin{verbatim}
+%\renewcommand{\hangingsymbol}{[\,}
+%\end{verbatim}
+% We use the fact that ledmac run with hbox. Every 3 hbox we insert this command. To know the number of hbox, we use the counter `hboxmodulo'
+%\begin{macro}{\hangingsymbol}
+%\begin{macrocode}
+\newcommand*{\hangingsymbol}{}
+\newcounter{hbox}
+\newcounter{hboxmodulo}
+\newif\ifhangingsymbol
+\hangingsymbolfalse
+\newif\ifinstanza
+\instanzafalse
+\newcommand{\managehangingsymbol}{\ifinstanza%
+ \setcounter{hbox}{0}%
+ \setcounter{hboxmodulo}{0}%
+ \everyhbox{%
+\ifnum \value{hbox}>2%
+ \addtocounter{hboxmodulo}{1}%
+ \ifnum \value{hboxmodulo}=2
+ \ifhangingsymbol%
+ \hangingsymbol%
+ \hangingsymbolfalse%
+ \else%
+ \hangingsymboltrue%
+ \fi%
+ \setcounter{hboxmodulo}{0}%
+ \fi%
+\else%
+\addtocounter{hbox}{1}%
+\fi%
+}
+\fi}
+
+%\end{macrocode}
+%\end{macro}
% \begin{macro}{\ampersand}
% Within a stanza the \verb?\&? macro is going to be usurped. We need an
% alias in case an \& needs to be typeset in a stanza. Define it rather
@@ -10664,7 +10711,8 @@
% the user may initiate these penalties to indicate good and bad
% places in the stanza for page breaking.
% \begin{macrocode}
-\def\stanza@line{\parindent=\csname sza@\number\stanza@count
+\def\stanza@line{
+\parindent=\csname sza@\number\stanza@count
@\endcsname\stanzaindentbase
\pstart\stanza@hang\ignorespaces}
\xdef\stanza@hang{\noexpand\leavevmode\noexpand\startlock
@@ -10706,7 +10754,8 @@
% \begin{macrocode}
\let\startstanzahook\relax
\let\endstanzaextra\relax
-\xdef\stanza{\begingroup\startstanzahook%
+\xdef\stanza{\noexpand\instanzatrue\expandafter
+ \begingroup\startstanzahook%
\catcode`\&\active\global\stanza@count\@ne
\noexpand\ifnum\expandafter\noexpand
\csname sza@0@\endcsname=\z@\let\noexpand\stanza@hang\relax
@@ -10716,7 +10765,7 @@
\let\noexpand\sza@penalty\relax\noexpand\fi \def\noexpand&{%
\noexpand\endlock\noexpand\pend\noexpand\sza@penalty\global
\advance\stanza@count\@ne\noexpand\stanza@line}\def\noexpand
- \&{\noexpand\endlock\noexpand\pend\endgroup\endstanzaextra}%
+ \&{\noexpand\endlock\noexpand\pend\endgroup\noexpand\instanzafalse\expandafter\endstanzaextra}%
\noexpand\stanza@line}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/ledmac/ledpar.dtx b/Master/texmf-dist/source/latex/ledmac/ledpar.dtx
index 9384498d841..92471dbdc8b 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{4396}
+% \CheckSum{4448}
%
% \makeatletter
% \newcommand*{\DescribeIt}{\leavevmode\@bsphack\begingroup\MakePrivateLetters
@@ -126,6 +126,7 @@
% \def\fileversion{v0.5} \def\filedate{2011/08/21}
% \def\fileversion{v0.6} \def\filedate{2011/08/22}
% \def\fileversion{v0.7} \def\filedate{2011/08/31}
+% \def\fileversion{v0.8} \def\filedate{2011/09/16}
% \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}
@@ -136,6 +137,7 @@
% \changes{v0.5}{2011/08/21}{Corrections about \cs{section} and other titles in numbered sections}
% \changes{v0.6}{2011/08/22}{Be able to us \cs{chapter} in parallel pages.}
% \changes{v0.7}{2011/08/31}{Option `shiftedverses' which make there is no blank between two parallel verses with inequal length.}
+% \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.}
% \hyphenation{man-u-script man-u-scripts}
%
% \newcommand{\Lpack}[1]{\textsf{#1}}
@@ -647,6 +649,10 @@
%
%
%
+% \DescribeMacro{\hangingsymbol}Like in ledmac, you could redefine the command \cmd{\hangingsymbol} to insert a character in each hanged line. If you use it, you must run \LaTeX two time. Example for the french typographie
+%\begin{verbatim}
+%\renewcommand{\hangingsymbol}{[\,}
+%\end{verbatim}
% \StopEventually{}
%
% \clearpage
@@ -687,7 +693,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ledpar}[2011/08/31 v0.7 ledmac extension for parallel texts]
+\ProvidesPackage{ledpar}[2011/09/16 v0.8 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.
@@ -2081,7 +2087,7 @@
% The \verb?pairs? environment is for parallel columns and the \verb?pages?
% environment for parallel pages.
% \begin{macrocode}
-\newenvironment{pairs}{%
+\newenvironment{pairs}{%}
\l@dpairingtrue
\l@dpagingfalse
}{%
@@ -2424,6 +2430,7 @@
% some common code}
% \begin{macrocode}
\newcommand*{\do@lineL}{%
+ \manageparhangingsymbol
\advance\countLline \@ne
\ifvbox\namebox{l@dLcolrawbox\the\l@dpscL}%
{\vbadness=10000
@@ -2433,7 +2440,7 @@
\global\setbox\one@line=\vsplit\namebox{l@dLcolrawbox\the\l@dpscL}
to\baselineskip}%
\unvbox\one@line \global\setbox\one@line=\lastbox
- \getline@num
+ \getline@numL
\setbox\l@dleftbox
\hb@xt@ \Lcolwidth{%
\affixline@num
@@ -2474,6 +2481,7 @@
% \changes{v0.3}{2005/02/10}{Changed \cs{do@lineR} similarly to \cs{do@lineL}}
% \begin{macrocode}
\newcommand*{\do@lineR}{%
+\manageparhangingsymbol
\advance\countRline \@ne
\ifvbox\namebox{l@dRcolrawbox\the\l@dpscR}%
{\vbadness=10000
@@ -2524,10 +2532,26 @@
\fi
\else
\ifnum\@lockR<\tw@
+ \addtocounter{hbox}{10}%
\global\advance\line@numR \@ne
\global\subline@numR \z@
\fi
\fi}
+\newcommand*{\getline@numL}{%
+ \global\advance\absline@num \@ne
+ \do@actions
+ \do@ballast
+ \ifsublines@
+ \ifnum\sub@lock<\tw@
+ \global\advance\subline@num \@ne
+ \fi
+ \else
+ \ifnum\@lock<\tw@
+ \global\advance\line@num \@ne
+ \addtocounter{hbox}{10}%
+ \global\subline@num \z@
+ \fi
+ \fi}
% \end{macrocode}
@@ -3363,8 +3387,21 @@
% \end{macro}
%
%
+
% \section{Verse}
%
+%
+% The \cmd{\manageparhangingsymbol} command is made to insert the hanging symbol (like in the french typography).
+%\begin{macrocode}
+
+\newcommand{\manageparhangingsymbol}{%
+ \setcounter{hbox}{0}%
+ \everyhbox{%
+ \ifnum \value{hbox}=-2%
+ \hangingsymbol%
+ \fi%
+ \addtocounter{hbox}{-1}}}
+%\end{macrocode}
% Before we can define the main stanza macros we need to be able to save
% and reset
% the category code for \&. To save the current value we use
@@ -3376,6 +3413,7 @@
% \end{macrocode}
%
%
+%
% \begin{environment}{astanza}
% This is roughly an environmental form of \cs{stanza}, which treats
% its stanza-like contents as a single chunk.
@@ -4036,6 +4074,7 @@
\do@lineL
\advance\numpagelinesL \@ne
\ifshiftedverses
+ \addtocounter{hbox}{-1}
\ifdim\ht\l@dleftbox>0pt\hb@xt@ \hsize{\ledstrutL\unhbox\l@dleftbox}\fi%
\else
\hb@xt@ \hsize{\ledstrutL\unhbox\l@dleftbox}%
@@ -4077,6 +4116,7 @@
\do@lineR
\advance\numpagelinesR \@ne
\ifshiftedverses
+ \addtocounter{hbox}{-1}
\ifdim\ht\l@drightbox>0pt\hb@xt@ \hsize{\ledstrutR\unhbox\l@drightbox}\fi%
\else
\hb@xt@ \hsize{\ledstrutR\unhbox\l@drightbox}%
@@ -4126,6 +4166,7 @@
\global\l@dpscR=\z@
\global\l@dnumpstartsL=\z@
\global\l@dnumpstartsR=\z@
+
\ignorespaces}
% \end{macrocode}