summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/reledmac/reledpar.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-12-12 22:54:22 +0000
committerKarl Berry <karl@freefriends.org>2016-12-12 22:54:22 +0000
commit00db3b3ef04868e84ab4abccf4ece66d3fc77e60 (patch)
treebf5b0ddc8990b9646d290e2cb929eacbb3430105 /Master/texmf-dist/source/latex/reledmac/reledpar.dtx
parent8fb9e20f14ce6565321b8910d17919aee9cb37c0 (diff)
reledmac (12dec16)
git-svn-id: svn://tug.org/texlive/trunk@42689 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/reledmac/reledpar.dtx')
-rw-r--r--Master/texmf-dist/source/latex/reledmac/reledpar.dtx140
1 files changed, 118 insertions, 22 deletions
diff --git a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx
index bf7b1e101d9..004444aaa54 100644
--- a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx
+++ b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx
@@ -280,16 +280,21 @@
% \changes{v2.12.0}{2016/07/01}{Fix bug with \protect\cs{AtBeginPairs}.}
% \changes{v2.13.0}{2016/07/22}{Compatibility with the new features of \protect\macpackage 2.15.0}
% \changes{v2.13.1}{2016/09/26}{Simplification of the code concerning the sectioning command}
-% \changes{v2.14.0}{2016/10/02}{New commands to have specific line margins for text in parallel columns}
+% \changes{v2.14.0}{2016/10/02}{New commands to have specific line margins for text running in parallel columns}
% \changes{v2.14.0}{2016/10/02}{Add \protect\cs{linenumberlistR}, equivalent to \protect\cs{linenumberlist} for the right side.}
% \changes{v2.14.0}{2016/10/02}{When indexing texts in sidenotes with \protect\cs{edtext}, referring to the line number where the sidenote is called.}
-% \changes{v2.14.0}{2016/10/02}{More explicit error message when missing to define stanza indent.}
-% \changes{v2.14.0}{2016/10/02}{Error message when missing to define left / right side.}
+% \changes{v2.14.0}{2016/10/02}{More explicit error message when the stanza indentation is not defined.}
+% \changes{v2.14.0}{2016/10/02}{Error message when left / right side are not defined.}
% \changes{v2.14.1}{2016/10/16}{Fix bug with vertical space before sectioning command in optional argument of \protect\cs{pstart} (bug added in v2.13.1).}
% \changes{v2.14.1}{2016/10/16}{Fix bug when using \protect\cs{markboth} on \protect\cs{doinsidelineLhook} and \protect\cs{doinsidelineRhook}.}
% \changes{v2.14.2}{2016/10/31}{Fix spurious space with \protect\cs{edtextlater}.}
% \changes{v2.14.3}{2016/11/04}{Fix bug in \protect\cs{edtextnow}.}
-% \changes{v2.14.4}{2016/11/14}{Take account of \protect\cs{linenumberstyle} when using \protect\cs{edlineref}.}
+% \changes{v2.14.4}{2016/11/14}{Take into account \protect\cs{linenumberstyle} when using \protect\cs{edlineref}.}
+% \changes{v2.15.0}{2016/12/12}{Add \protect\option{movecolumnspositiononrightpage} option.}
+% \changes{v2.15.0}{2016/12/12}{New macro \protect\cs{sidenotemarginR}, fix default value to right.}
+% \changes{v.2.15.0}{2016/12/12}{Fix bug with \protect\cs{msdata} when using multiple \protect\cs{beginnumbering}…\protect\cs{endnumbering}}
+% \changes{v2.15.0}{2016/12/12}{Fix bug about space before sectioning commands after a pairs environment (bug added in v.~2.14.4).}
+% \changes{v2.15.0}{2016/12/12}{Fix bug with page break when using \protect\cs{columns} (bug added in v.~2.14.1).}
% ^^A PW added following as the definitions are at some unknown elsewhere
%
% \newcommand{\egstart}{%
@@ -406,6 +411,8 @@
% \item [prevpgnotnumbered] enables that the page before facing pages (the one
% automatically inserted to start parallel pages on a left page) is not
% counted. This applies only if the page is empty.
+% \item[movecolumnspositiononrightpage] make the left column on the right page become the right column, and the left column become the right column.
+% It allows to have a text running on the inner column, and an other one on the outer column.
% \end{description}
%
%
@@ -569,7 +576,13 @@
% If you want to have continuous line numbers between multiple columns and single columns, use the \option{continuousnumberingwithcolumns} option when loading \macpackage or \parpackage.
% You will need to use \cs{pausenumbering}\ldots\cs{resumenumbering} instead of \cs{endnumbering}\ldots{endnumbering} (see \reff{reledmac-pause}).
%
+% \section{Keeping translation in the outside/inside column}
+% By default, \parpackage works with left and right columns.
+% However, it is possible to work with inner and outer column.
+% In this case, use the \option{movecolumnspositiononrightpage} at loading time of the package.
%
+% The \env{Leftside} environment will correspond to the inner column, and the \env{Rightside} environment will correspond to the outer column.
+%
% \section{Facing pages}\label{pages}
% \subsection{Basic usage}
% \DescribeEnv{pages}
@@ -1060,7 +1073,7 @@
%
% \DescribeMacro{\doinsidelineLhook}
% \DescribeMacro{\doinsidelineRhook}
-% \cs{doinsidelineLhook} and \cs{doinsidelineRhook} are the equivalent to the \macpackage \cs{doinsidelinehook}, respectively for left and right side.
+% \cs{doinsidelineLhook} and \cs{doinsidelineRhook} are the equivalent to the \macpackage \cs{doinsidelinehook}, for the left and the right sides respectively.
%
% About these two hooks, read \macpackage's handbook (\reff{reledmac-linehook}).
%
@@ -1121,6 +1134,9 @@
% As in \macpackage, you must use one of the following commands to add side notes: \protect\cs{ledsidenote}, \protect\cs{ledleftnote}, \protect\cs{ledrightnote}, \protect\cs{ledouterote}, \protect\cs{ledinnerrote}.
%
% The \protect\cs{sidenotemargin} defines the margin of the sidenote for either left or right side, depending on the current environment.
+%
+% The \cs{sidenotemarginR} defines the margin of the sidenote for the right side.
+%
% You can use \protect\cs{sidenotemargin*} to define it for both sides.
% \section{Parallel ledgroups}
% \subsection{General}
@@ -1234,7 +1250,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledpar}[2016/11/14 v2.14.4 reledmac extension for parallel texts]%
+\ProvidesPackage{reledpar}[2016/12/12 v2.15.0 reledmac extension for parallel texts]%
% \end{macrocode}
% \subsection{Package's requirement}
@@ -1301,6 +1317,16 @@
}%
% \end{macrocode}
% \end{macro}
+% \subsubsection{Position option}
+% \begin{macro}{\ifmovecolumnspositiononrightpage}
+% The \cs{ifmovecolumnspositiononrightpage} boolean is set to true if, for a right page, we want the left column become a right column and the right column become a left column.
+% \begin{macrocode}
+\newif\ifmovecolumnspositiononrightpage%
+\DeclareOptionX{movecolumnspositiononrightpage}{%
+ \movecolumnspositiononrightpagetrue%
+}%
+% \end{macrocode}
+% \end{macro}
% \subsubsection{Other options}
% The \verb+parledgroup+ can be called either on \macpackage or \parpackage.
% \begin{macrocode}
@@ -1455,13 +1481,13 @@
% \begin{macro}{\led@err@Columns@WithoutLeftside}
% \begin{macrocode}
\newcommand*{\led@err@Pages@WithoutRightside}{%
- \reledpar@error{\string\Pages\space called without previous `Rightside` environment (or environment without content)}{\@ehc}}%
+ \reledpar@error{\string\Pages\space called without any preceding `Rightside` environment (or environment without content)}{\@ehc}}%
\newcommand*{\led@err@Pages@WithoutLeftside}{%
- \reledpar@error{\string\Pages\space called without previous `Leftside` environment (or environment without content)}{\@ehc}}%
+ \reledpar@error{\string\Pages\space called without any preceding `Leftside` environment (or environment without content)}{\@ehc}}%
\newcommand*{\led@err@Columns@WithoutRightside}{%
- \reledpar@error{\string\Columns\space called without previous `Rightside` environment (or environment without content)}{\@ehc}}%
+ \reledpar@error{\string\Columns\space called without any preceding `Rightside` environment (or environment without content)}{\@ehc}}%
\newcommand*{\led@err@Columns@WithoutLeftside}{%
- \reledpar@error{\string\Columns\space called without previous `Leftside` environment (or environment without content)}{\@ehc}}%
+ \reledpar@error{\string\Columns\space called without any preceding `Leftside` environment (or environment without content)}{\@ehc}}%
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1571,9 +1597,9 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\ifcsboxvoid}
-% The \cs{ifcsboxvoid} is a complement to the \package{etoolbox} package.
-% The first argument is a box name, the second is a the \meta{true} value, the third the \meta{false} value.
-% If the first argument refers to a not existing box, or if it refers to a void box, the \meta{true} value is returned. In other case, the \meta{false} is returned.
+% The \cs{ifcsboxvoid} command comes on top of the \package{etoolbox} package.
+% The first argument is a box name, the second is the \meta{true} value, the third the \meta{false} value.
+% If the first argument refers to a non-existing box, or if it refers to a box that is void, the \meta{true} value is returned. otherwise, \meta{false} is returned.
% \begin{macrocode}
\newcommand*{\ifcsboxvoid}[1]{%
\ifcsname#1\endcsname%
@@ -1662,6 +1688,8 @@
\global\let\next@page@numR\relax
\global\let\sub@change\relax
\global\stopmsdata@inserted@true%
+ \global\let\@msdata@list\relax%
+ \global\csundef{@msdata@\add@msd@cR @dataR}%
\set@continuousnumberingforR%
\message{Section \the\section@numR R }%
\line@list@stuffR{\jobname.\extensionchars\the\section@numR R}%
@@ -1952,6 +1980,10 @@
\global\line@margin=\@l@dtempcntb%
\fi%
}
+\ifmovecolumnspositiononrightpage%
+ \linenummargin{inner}%
+ \linenummarginR{outer}%
+\fi%
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3466,6 +3498,7 @@
% \begin{macrocode}
\endgroup%
\ignorespaces%
+ \@oldnobreak%
\dump@pstartL@pc%
\ifnumberpstart%
\addtocounter{pstartL}{1}%
@@ -3498,6 +3531,7 @@
\global\par@lineR=0%
\endgroup%
\ignorespaces%
+ \@oldnobreak%
\dump@pstartR@pc%
\ifnumberpstart%
\addtocounter{pstartR}{1}%
@@ -4706,6 +4740,7 @@
% the text.
% \begin{macro}{\sidenote@marginR}
% \begin{macro}{\sidenotemargin*}
+% \begin{macro}{\sidenotemarginR}
% \changes{v1.8.0}{2014/08/05}{\protect\cs{sidenotemargin} is now directly defined in \protect\package{eledmac} to be able to manage \protect\package{eledpar}.}
% \changes{v1.8.0}{2014/08/05}{Add \protect\cs{sidenotemargin*}}
% Specifies which margin sidenotes can be in.
@@ -4715,12 +4750,22 @@
\global\sidenote@marginR=\@l@dtempcntb
\global\sidenote@margin=\@l@dtempcntb
}
+\newcommand{\sidenotemarginR}[1]{%
+ \l@dgetsidenote@margin{#1}%
+ \global\sidenote@marginR=\@l@dtempcntb%
+}%
\newcount\sidenote@marginR
-\global\sidenote@margin=\@ne
+\global\sidenote@marginR=\@ne%
+
+\ifmovecolumnspositiononrightpage%
+ \sidenotemargin{inner}%
+ \sidenotemarginR{outer}%
+\fi%
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \changes{v1.3.3}{2012/12/19}{Debugging the left notes of the right column.}
@@ -5362,15 +5407,9 @@
{}%
\hb@xt@ \hsize{%
\ifdefstring{\columns@position}{L}{}{\hfill }%
- \unhbox\l@dleftbox%
- \ifhbox\@eledsectionL%
- \usebox{\@eledsectionL}%
- \fi%
+ \print@leftcolumn%
\print@columnseparator%
- \unhbox\l@drightbox%
- \ifhbox\@eledsectionR%
- \usebox{\@eledsectionR}%
- \fi%
+ \print@rightcolumn%
\ifdefstring{\columns@position}{R}{}{\hfill}%
}%
\checkraw@text
@@ -5440,6 +5479,63 @@
}%
%\end{macrocode}
% \end{macro}
+% \begin{macro}{\print@leftcolumn}
+% \begin{macro}{\print@rightcolumn}
+% \cs{print@leftcolumn} and \cs{print@rightcolumn} print the line number of the left or right column respectively.
+% Normally, it is defined by the content of the \env{Leftside} or \env{Rightside} environments.
+% But if \cs{movecolumnspositiononrightpage} is set to TRUE, it also depends on the page number.
+% \begin{macrocode}
+\newcommand{\print@leftcolumn}{%
+ \if\page@num>\page@numR%
+ \@l@dtempcntb=\page@num%
+ \else%
+ \@l@dtempcntb=\page@numR%
+ \fi%
+ \ifboolexpr{%
+ not bool {movecolumnspositiononrightpage}%
+ or test {\ifnumodd{\@l@dtempcntb}}%
+ }%
+ {%
+ \unhbox\l@dleftbox%
+ \ifhbox\@eledsectionL%
+ \usebox{\@eledsectionL}%
+ \fi%
+ }%
+ {%
+ \unhbox\l@drightbox%
+ \ifhbox\@eledsectionR%
+ \usebox{\@eledsectionR}%
+ \fi%
+ }%
+}%
+
+
+\newcommand{\print@rightcolumn}{%
+ \if\page@num>\page@numR%
+ \@l@dtempcntb=\page@num%
+ \else%
+ \@l@dtempcntb=\page@numR%
+ \fi%
+ \ifboolexpr{%
+ not bool {movecolumnspositiononrightpage}%
+ or test {\ifnumodd{\@l@dtempcntb}}%
+ }%
+ {%
+ \unhbox\l@drightbox%
+ \ifhbox\@eledsectionR%
+ \usebox{\@eledsectionR}%
+ \fi%
+ }%
+ {%
+ \unhbox\l@dleftbox%
+ \ifhbox\@eledsectionL%
+ \usebox{\@eledsectionL}%
+ \fi%
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
% \begin{macro}{\checkpb@columns}
% \protect\cs{checkpb@columns} prevent or make pagebreaking in columns, depending of the use of \protect\cs{ledpb} or \protect\cs{lednopb}.
% \begin{macrocode}