summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ledmac/ledpatch.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/ledmac/ledpatch.sty')
-rw-r--r--Master/texmf-dist/tex/latex/ledmac/ledpatch.sty316
1 files changed, 316 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ledmac/ledpatch.sty b/Master/texmf-dist/tex/latex/ledmac/ledpatch.sty
new file mode 100644
index 00000000000..d80586e7505
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ledmac/ledpatch.sty
@@ -0,0 +1,316 @@
+% ledpatch.sty
+% Copyright Peter Wilson 2004, 2005
+% herries dot press at earthlink dot net
+%
+% Patch(es) for ledmac
+%
+%
+%%%%\ProvidesFile{ledpatch}[2004/12/18 v0.1 patches for ledmac v0.6]
+%\ProvidesFile{ledpatch}[2005/01/11 v0.2 patches for ledmac v0.6]
+%\ProvidesFile{ledpatch}[2005/03/24 v0.3 patches for ledmac v0.7]
+%\ProvidesFile{ledpatch}[2005/04/15 v0.3a patches for ledmac v0.7]
+%\ProvidesFile{ledpatch}[2005/06/02 v0.4 patches for ledmac v0.7]
+\ProvidesFile{ledpatch}[2005/08/22 v0.5 patches for ledmac v0.7]
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% v0.5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% There was a missing \else in \l@dcheckcols just before the
+%%% error message. The symptom was reported by Tobias Verbeke.
+
+\renewcommand*{\l@dcheckcols}{%
+ \ifnum\l@dcolcount=1\relax
+ \else
+ \ifnum\l@dampcount=1\relax
+ \else
+ \ifnum\l@dcolcount=\l@dampcount\relax
+ \else
+ \l@d@err@UnequalColumns
+ \fi
+ \fi
+ \l@dampcount=\l@dcolcount
+ \fi}
+
+%%% \startlock and \endlock did not work properly in the middle
+%%% of a line. Problem reported by Stefano Cracolic
+%%% Letting S stand for \startlock and E for \endlock and t for regular
+%%% text, numbering is per the following examples:
+%%%
+%%% 1 Sttttt 1 Sttttt 1 Sttttt 1 Sttttt
+%%% tttttt tttttt tttttt tttttt
+%%% 2 ttEStt 2 ttttES tttttE tttttt
+%%% tttttt tttttt 2 Sttttt 2 EStttt
+%%% tttttt tttttt tttttt tttttt
+%%% ttEttt ttEttt ttEttt ttEttt
+%%% 3 tttttt 3 tttttt 3 tttttt 3 tttttt
+%%% 4 tttStt 4 tttttS 4 tttStt 4 ttSEtt
+%%% tttttt tttttt tttttt 5 tttttt
+%%% tttttt tttttt tttttt 6 tttttt
+%%% ttEttt Ettttt tttttE 7 tttttt
+%%% 5 tttttt 5 tttttt 5 tttttt 8 tttttt
+
+\renewcommand*{\do@lockon}{%
+ \ifx\next\lock@off
+ \global\let\lock@off=\skip@lockoff
+ \else
+ \do@lockonL
+ \fi}
+
+\newcommand*{\do@lockonL}{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \xright@appenditem{-1005}\to\actions@list
+%% \ifcase\sub@lock
+%% \sub@lock \@ne
+%% \else
+%% \sub@lock \z@
+%% \fi
+ \ifnum\sub@lock=\z@
+ \sub@lock \@ne
+ \else
+ \ifnum\sub@lock=\thr@@
+ \sub@lock \@ne
+ \fi
+ \fi
+ \else
+ \xright@appenditem{-1003}\to\actions@list
+%% \ifcase\@lock
+%% \@lock \@ne
+%% \else
+%% \@lock \z@
+%% \fi
+ \ifnum\@lock=\z@
+ \@lock \@ne
+ \else
+ \ifnum\@lock=\thr@@
+ \@lock \@ne
+ \fi
+ \fi
+ \fi}
+
+\newcommand*{\do@lockoffL}{%
+ \xright@appenditem{\the\absline@num}\to\actionlines@list
+ \ifsublines@
+ \xright@appenditem{-1006}\to\actions@list
+ \ifnum\sub@lock=\tw@
+ \sub@lock \thr@@
+ \else
+ \sub@lock \z@
+ \fi
+ \else
+ \xright@appenditem{-1004}\to\actions@list
+ \ifnum\@lock=\tw@
+ \@lock \thr@@
+ \else
+ \@lock \z@
+ \fi
+ \fi}
+\renewcommand*{\do@lockoff}{\do@lockoffL}
+\global\let\lock@off=\do@lockoff
+
+\renewcommand*{\do@actions@fixedcode}{%
+ \ifcase\@l@dtempcnta
+ \or% % 1001
+ \global\sublines@true
+ \or% % 1002
+ \global\sublines@false
+ \or% % 1003
+%% \ifcase\@lock
+%% \global\@lock=\@ne
+%% \else
+%% \global\@lock=\z@
+%% \fi
+ \global\@lock=\@ne
+ \or% % 1004
+ \ifnum\@lock=\tw@
+ \global\@lock=\thr@@
+ \else
+ \global\@lock=\z@
+ \fi
+ \or% % 1005
+5% \ifcase\sub@lock
+%% \global\sub@lock=\@ne
+%% \else
+%% \global\sub@lock=\z@
+%% \fi
+ \global\sub@lock=\@ne
+ \or% % 1006
+ \ifnum\sub@lock=\tw@
+ \global\sub@lock=\thr@@
+ \else
+ \global\sub@lock=\z@
+ \fi
+ \or% % 1007
+ \l@dskipnumbertrue
+ \else
+ \led@warn@BadAction
+ \fi}
+
+
+
+%%% Reworked the sidenotes code.
+%%% Sidenotes are normally aligned on their bottom lines,
+%%% i.e, multiline notes extend upwards. To align notes on
+%%% their top lines (multiline notes extend downwards):
+%%% \rightnoteupfalse and/or \leftnoteupfalse. The default
+%%% is, of course, \rightnoteuptrue and \leftnoteuptrue.
+
+\newif\ifrightnoteup
+ \rightnoteuptrue
+
+\renewcommand*{\l@drsnote}[1]{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vl@drsnote{#1}}%
+ \to\inserts@list
+ \global\advance\insert@count \@ne
+ \fi\ignorespaces}
+
+\renewcommand*{\vl@drsnote}[1]{\setl@drp@rbox{#1}}
+
+\renewcommand*{\setl@drp@rbox}[1]{%
+ {\parindent\z@\hsize=\ledrsnotewidth\ledrsnotefontsetup
+ \global\setbox\l@drp@rbox
+ \ifrightnoteup
+ =\vbox to\z@{\vss#1}%
+ \else
+ =\vbox to0.7\baselineskip{\strut#1\vss}%
+ \fi}}
+
+\newif\ifleftnoteup
+ \leftnoteuptrue
+
+\renewcommand*{\l@dlsnote}[1]{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vl@dlsnote{#1}}%
+ \to\inserts@list
+ \global\advance\insert@count \@ne
+ \fi\ignorespaces}
+
+\renewcommand*{\vl@dlsnote}[1]{\setl@dlp@rbox{#1}}
+
+\renewcommand*{\setl@dlp@rbox}[1]{%
+ {\parindent\z@\hsize=\ledlsnotewidth\ledlsnotefontsetup
+ \global\setbox\l@dlp@rbox
+ \ifleftnoteup
+ =\vbox to\z@{\vss #1}%
+ \else
+ =\vbox to 0.70\baselineskip{\strut#1\vss}%
+ \fi}}
+
+\renewcommand*{\l@dcsnote}[1]{%
+ \ifnumberedpar@
+ \xright@appenditem{\noexpand\vl@dcsnote{#1}}%
+ \to\inserts@list
+ \global\advance\insert@count \@ne
+ \fi\ignorespaces}
+
+\renewcommand*{\vl@dcsnote}[1]{\gdef\l@dcsnotetext{#1}}
+
+\renewcommand*{\affixside@note}{%
+ \gdef\@templ@d{}%
+ \ifx\@templ@d\l@dcsnotetext \else
+ \if@twocolumn
+ \if@firstcolumn
+ \setl@dlp@rbox{\l@dcsnotetext}%
+ \else
+ \setl@drp@rbox{\l@dcsnotetext}%
+ \fi
+ \else
+ \@l@dtempcntb=\sidenote@margin
+ \ifnum\@l@dtempcntb>\@ne
+ \advance\@l@dtempcntb by\page@num
+ \fi
+ \ifodd\@l@dtempcntb
+ \setl@drp@rbox{\l@dcsnotetext}%
+ \else
+ \setl@dlp@rbox{\l@dcsnotetext}%
+ \fi
+ \fi
+ \fi}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% v0.4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% The instructions on page 26 in the manual regarding creating
+%%% a new familiar footnote series are incorrect. Instead follow
+%%% how the provided series are defined, that is, for example:
+%%% \makeatletter
+%%% \newcommand{\footnoteD}[1]{%
+%%% \stepcounter{footnoteD}%
+%%% \protected@xdef\@thefnmarkD{\thefootnoteD}%
+%%% \@footnotemarkD
+%%% \vfootnoteD{D}{#1}\m@mmf@prepare}
+%%%
+%%% \newcounter{footnoteD}
+%%% \renewcommand{\thefootnoteD}{\arabic{footnoteD}}
+%%% \newinsert\footinsD
+%%%
+%%% \newcommand{\mpfootnoteD}[1]{%
+%%% \stepcounter{footnoteD}%
+%%% \protected@xdef\@thefnmarkD{\thefootnoteD}%
+%%% \@footnotemarkD
+%%% \mpvfootnoteD{D}{#1}\m@mmf@prepare}
+%%% \newinsert\mpfootinsD
+%%%
+%%% \footnormalX{D}
+%%% \addfootinsX{D}
+%%% \makeatother
+%%%
+
+%%% Change \addfootinsX to correct screwups in defining new familar
+%%% series footnotes. Problem initially noted by Dirk Schlimm
+%%% (dschlimm@gmail.com) in private email, 2005/05/31
+
+\renewcommand*{\addfootinsX}[1]{%
+ \footnormalX{#1}%
+ \g@addto@macro{\doxtrafeeti}{%
+ \setbox\@outputbox \vbox{%
+ \unvbox\@outputbox
+ \ifvoid\@nameuse{footins#1}\else
+ \@nameuse{footstart#1}{#1}\@nameuse{footgroup#1}{#1}\fi}}%
+ \g@addto@macro{\doreinxtrafeeti}{%
+ \ifvoid\@nameuse{footins#1}\else
+ \insert\@nameuse{footins#1}{\unvbox\@nameuse{footins#1}}\fi}%
+%%% \g@addto@macro{\l@dfambeginmini}{%
+%%% \expandafter\let\csname footnote#1\endcsname=\@nameuse{mpfootnote#1}}%
+ \g@addto@macro{\l@dfambeginmini}{%
+ \expandafter\expandafter\expandafter\let\expandafter\expandafter
+ \csname footnote#1\endcsname \csname mpfootnote#1\endcsname}%
+%%% \g@addto@macro{\l@dfamendmini}{%
+%%% \ifvoid\@nameuse{mpfootins#1}\else\@nameuse{mpfootgroup#1{#1}}}%
+ \g@addto@macro{\l@dfamendmini}{%
+ \ifvoid\@nameuse{mpfootins#1}\else\@nameuse{mpfootgroup#1}{#1}\fi}%
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% v0.3a %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Slight efficiency improvement (particularly for ledpar)
+
+\newcommand*{\l@dunhbox@line}[1]{\unhbox #1}
+
+\renewcommand*{\do@line}{%
+ {\vbadness=10000
+ \splittopskip=\z@
+ \do@linehook
+\l@demptyd@ta
+ \global\setbox\one@line=\vsplit\raw@text to\baselineskip}%
+ \unvbox\one@line \global\setbox\one@line=\lastbox
+ \getline@num
+ \affixline@num
+ \hb@xt@ \linewidth{\l@dld@ta\add@inserts\affixside@note
+ \l@dlsn@te
+%%%% {\ledllfill\hb@xt@ \wd\one@line{\new@line\unhbox\one@line}\ledrlfill\l@drd@ta%
+ {\ledllfill\hb@xt@ \wd\one@line{\new@line\l@dunhbox@line{\one@line}}\ledrlfill\l@drd@ta%
+ \l@drsn@te
+ }}
+ \add@penalties}
+
+
+\endinput
+
+%%%%%%%%%%% earlier patches now in ledmac.sty itself
+