From 0bb0349f8bfaceac713f00dc42c9dc7c5f17aa4d Mon Sep 17 00:00:00 2001
From: Robert Alessi <alessi@robertalessi.net>
Date: Fri, 28 Aug 2020 19:48:01 +0200
Subject: requiring xparse is no longer necessary.

---
 Makefile    |    1 +
 README.md   |    2 +-
 about.html  |    2 +-
 ekdosis.dtx | 1389 +++++++++++++++++++++++++++++------------------------------
 4 files changed, 696 insertions(+), 698 deletions(-)

diff --git a/Makefile b/Makefile
index 64ab76a..cd52273 100644
--- a/Makefile
+++ b/Makefile
@@ -35,6 +35,7 @@ $(NAME).pdf: testsamples $(NAME).dtx
 	if [ -f $(NAME).idx ]; then makeindex -q -s gind.ist -o $(NAME).ind $(NAME).idx; fi
 	$(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
 	$(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
+	$(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
 
 samples: clean sty
 	$(MAKE) --directory=$(SAMPLES)
diff --git a/README.md b/README.md
index 8b54b9d..34cce3f 100644
--- a/README.md
+++ b/README.md
@@ -81,7 +81,7 @@ Installation
     `ekdosis.lua` files.
 
 2.  To finish the installation you have to move the `ekdosis.sty` and
-    `ekdosis.lua` files into a directory where LaTeX can find it. See
+    `ekdosis.lua` files into a directory where LaTeX can find them. See
     the FAQ on `texfaq.org` at <https://texfaq.org/FAQ-inst-wlcf> for
     more on this.
 
diff --git a/about.html b/about.html
index 3100f83..a246b48 100644
--- a/about.html
+++ b/about.html
@@ -42,7 +42,7 @@
 <h1 id="installation">Installation</h1>
 <ol style="list-style-type: decimal">
 <li><p>Run <code>'latex ekdosis.ins'</code> to produce the <code>ekdosis.sty</code> and <code>ekdosis.lua</code> files.</p></li>
-<li><p>To finish the installation you have to move the <code>ekdosis.sty</code> and <code>ekdosis.lua</code> files into a directory where LaTeX can find it. See the FAQ on <code>texfaq.org</code> at <a href="https://texfaq.org/FAQ-inst-wlcf" class="uri">https://texfaq.org/FAQ-inst-wlcf</a> for more on this.</p></li>
+<li><p>To finish the installation you have to move the <code>ekdosis.sty</code> and <code>ekdosis.lua</code> files into a directory where LaTeX can find them. See the FAQ on <code>texfaq.org</code> at <a href="https://texfaq.org/FAQ-inst-wlcf" class="uri">https://texfaq.org/FAQ-inst-wlcf</a> for more on this.</p></li>
 </ol>
 <h1 id="development-git-repository">Development, Git Repository</h1>
 <h2 id="browse-the-code">Browse the Code</h2>
diff --git a/ekdosis.dtx b/ekdosis.dtx
index 5a7282e..4319887 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -1712,803 +1712,802 @@ yesterday.
 %</example>
 % \fi
 %
-% \section{Alignment of Parallel Texts}
-% \label{sec:alignment-basic}
-% As already said above,\footnote{See point
-% \vref{it:multicol-feature}.} \pkg{ekdosis} can arrange sundry texts
-% in parallel columns\---synchronized or not\---either on the same
-% page or on facing pages. Depending on what is needed, any text can
-% be equipped with an apparatus criticus. The most common example is
-% that of an edition of a classical text with an apparatus criticus
-% accompanied by a translation into a modern language on the facing
-% page. One can also imagine an edition of two classical texts or two
-% different recensions of the same text, each of which provides
-% variants recorded in separate apparatus crititus, laid out on the
-% left-hand pages, with one or more translations on the corresponding
-% right-hand pages, and so forth.
-%
-% \paragraph{The \env{alignment} Environment}
-% \DescribeEnv{alignment} \cs{begin}|{alignment}|\oarg{options}\dots
-% \cs{end}|{alignment}|\label{ref:alignment-syntax}\\
-% This environment can be used as it is provided to typeset a standard
-% critical edition, namely an edition text, equipped with an apparatus
-% criticus and laid out on the left-hand pages, accompanied by a
-% translation into a modern language on the facing pages.
+% \section{Emendations and Conjectures}
+% \label{sec:emendations-conjectures}
+% From a technical standpoint, \enquote{conjectures} are readings that
+% are not supported by manuscript evidence, but are instead proposed
+% by scholars to be taken into consideration for establishing the
+% edition text. A conjecture is called an \enquote{emendation} if it
+% is adopted in place of what is provided by or missing from the text
+% provided by the manuscripts. Emendations and conjectures are
+% therefore readings and as such expected to be found within |<lem>|
+% or |<rdg>| elements. However, as both come from editions or
+% scholars, not from manuscripts, they are naturally associated with
+% |source| or |resp| attributes as described above
+% \vpagerefrange{ref:lem-source}{ref:lem-resp},\footnote{See also
+% \vpagerefrange{ref:declare-source}{ref:declare-scholar}.} and can be
+% distinguished from one another by the |type| attribute, eg.\ either
+% |emendation| or |conjecture|.
 %
-% \DescribeEnv{edition}\DescribeEnv{translation} Within
-% \env{alignment}, two environments are available by default:
-% \cs{begin}|{edition}|\allowbreak\dots
-% \cs{end}|{ed|\allowbreak|ition}| and \cs{begin}|{translation}|\dots
-% \cs{end}|{translation}|. Obviously, the former is used to typeset
-% the edition text with an apparatus criticus on the left, while the
-% latter is used to typeset the translation on the right, like so:---
+% As an example, the representation of witnesses, editors and
+% shorthands of Hippocrates' \emph{Epidemics}, Book~2 could be
+% summarized as follows:---
+% 
 % \iffalse
 %<*example>
 % \fi
-\begin{minted}[linenos=false]{latex}
-\begin{alignment}
-  \begin{edition}
-    First § of the edition text.
-  \end{edition}
-  \begin{translation}
-    First § of the translation.
-  \end{translation}
-  \begin{edition}
-    Second § of the edition text.
-  \end{edition}
-  \begin{translation}
-    Second § of the translation.
-  \end{translation}
-\end{alignment}
+\begin{minted}{latex}
+% Witnesses:
+\DeclareWitness{V}{V}{\emph{Vaticanus Gr.} 276}
+\DeclareWitness{I}{I}{\emph{Parisinus Gr.} 2140}
+\DeclareHand{Iac}{I}{I\textsuperscript{ac}}[Lectio ante correctionem]
+\DeclareHand{Ipc}{I}{I\textsuperscript{pc}}[Lectio post correctionem]
+\DeclareWitness{R}{R}{\emph{Vaticanus Gr.} 277}
+\DeclareWitness{H}{H}{\emph{Parisinus Gr.} 2142}
+% Sources (the first arguments below must refer to biblatex labels and
+% an xml bibliographical database must be supplied):
+\DeclareSource{Lit}{Littré}
+\DeclareSource{Erm}{Ermerins}
+\DeclareSource{Sm}{Smith}
+% Persons:
+\DeclareScholar{ego}{ego}[
+                forename=Robert,
+                surname=Alessi]
+% Useful shorthands:
+\DeclareShorthand{codd}{codd.}{V,I,R,H}
+\DeclareShorthand{edd}{edd.}{Lit,Erm,Sm}
+\DeclareShorthand{egoscr}{\emph{scripsi}}{ego}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
 %
-% \DescribeEnv{edition*}\DescribeEnv{translation*}
-% \label{ref:starred-envs} Furthermore, so-called \enquote{starred}
-% versions of these environments can be used at any point to
-% synchronize texts, that is to print them in such a way that the tops
-% of all paragraphs are vertically aligned. To that effect, it must be
-% noted that merely applying this command on a single
-% environment\---for instance the leftmost one\---will have all other
-% associated paragraphs printed aligned.
-%
-% \danger While the whole edition text and the whole translation can
-% be inserted in a single \env{edition}/\env{translation} environment
-% respectively, it is recommended to enter both texts paragraph by
-% paragraph as shown in the example above. Not only this method of
-% encoding allows not to lose sight of paragraphs that are meant to be
-% read together, but it is also the only way to align paragraphs in
-% print, and it is much more suitable to mark up correspondence
-% between spans of texts as will be demonstrated below in
-% \vref{ref:segmentation}.
-%
-% As an illustration, a short extract of Caesar's \emph{Gallic War},
-% VI, XIII.1 follows.\footnote{Latin text: \cite{Caesar-BG-v2};
-% English translation: \cite{CaesarTr}.} See the list of sigla for
-% manuscripts and manuscript families above
-% \vpageref{ref:caesar-bg-sigla}. As this document is not set for
-% duplex printing, both texts have been put together on the same
-% page. However, the reader will find the full |.tex| source file
-% in \vref{sec:caesar-gw-tex} and \texttt{TEI xml} output in
-% \vref{sec:caesar-gw-tei}. The corresponding PDF output is available
-% in \href{samples/Caesar_BG-6-13-1.pdf}{a separate file}:---
+% As can be seen from lines~18--20, three useful shorthands have been
+% defined: |codd| prints \enquote{codd.} for Latin pl.\ \emph{codices}
+% viz.\ \enquote{all manuscripts} and refers to the three \texttt{xml}
+% identifiers |V|, |I|, |R| and |H| declared at ll.~2--3 and 6--7;
+% |edd| prints \enquote{edd.} for Latin pl.\ \emph{editores} viz.\
+% \enquote{all editors} and refers to the three \texttt{xml}
+% identifiers |Lit|, |Erm| and |Sm| declared at
+% ll.~10--12;\footnote{For detailed information on how to use
+% \cs{DeclareSource} and insert references to cited works, the reader
+% is invited to refer to \vref{sec:references-cited-works}.} finally,
+% |egoscr| (l.~20) is used to print the technical Latin term
+% \enquote{\emph{scripsi}}, \enquote{I wrote}, to denote a personal
+% conjecture. Then, the |.tex| source file can be structured as
+% follows:---
 %
-% \captof{Caesar's \emph{Gallic War}, VI, 13.1}[\label{lst:caesar-bg}]
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}{latex}
-\begin{alignment}
-  \begin{edition}
-    \ekddiv{head=XIII, depth=2, n=6.13, type=section}
-    In omni Gallia eorum hominum qui \app{
-      \lem[wit=a]{aliquo}
-      \rdg[wit=b, alt=in al-]{in aliquo}}
-    sunt numero atque honore genera sunt duo. Nam plebes paene
-    seruorum habetur loco, quae \app{
-      \lem[wit={A,M}, alt={nihil audet (aut et \getsiglum{A1})
-        per se}]{nihil audet per se}
-      \rdg[wit=A1,nordg]{nihil aut et per se}
-      \rdg[wit={R,S,L,N}]{nihil habet per se}
-      \rdg[wit=b]{per se nihil audet}}, \app{
-      \lem[wit=a]{nullo}
-      \rdg[wit=b]{nulli}} adhibetur \app{
-      \lem{consilio}
-      \rdg[wit={T, U}, alt=conc-]{concilio}}.
-  \end{edition}
-  \begin{translation}
-    \ekddiv{head=XIII, depth=2, n=6.13, type=section}
-      Throughout all Gaul there are two orders of those men who are of
-      any rank and dignity: for the commonality is held almost in the
-      condition of slaves, and dares to undertake nothing of itself,
-      and is admitted to no deliberation.
-  \end{translation}
-\end{alignment}
+\begin{ekdosis}
+  καὶ ἐγίνετο μᾶλλον \app{
+    \lem[wit={V, Ipc,R,H}]{νότῳ}
+    \rdg[wit=Iac]{νότου}
+    \rdg[source=Erm, type=conjecture]{ἐν νώτῳ}}· [...] % conjecture
+  
+  εἰ
+  \app{
+    \lem[resp=egoscr, type=emendation]{μὲν} % emendation
+    \rdg[wit=codd, source=edd]{μὴ}
+  } εἴη διὰ ταῦτα [...]
+\end{ekdosis}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
-%
-% \resetlinenumber
-% \FormatDiv{2}{}{.}
-% \begin{alignment}[flush,lcols=2,
-%                   texts=edition[xml:lang="la"];
-%                   translation[xml:lang="en"]]
-% \AtBeginEnvironment{edition}{\selectlanguage{latin}}
-% \AtBeginEnvironment{translation}{\selectlanguage{american}}
-%   \begin{edition}
-%     \ekddiv{head=XIII, depth=2, n=6.13, type=section}
-%     In omni Gallia eorum hominum qui \app{
-%       \lem[wit=ca]{aliquo}
-%       \rdg[wit=cb, alt=in al-]{in aliquo}}
-%     sunt numero atque honore genera sunt duo. Nam plebes paene
-%     seruorum habetur loco, quae \app{
-%       \lem[wit={cA,cM}, alt={nihil audet (aut et \getsiglum{cA1})
-%         per se}]{nihil audet per se}
-%       \rdg[wit=cA1,nordg]{nihil aut et per se}
-%       \rdg[wit={cR,cS,cL,cN}]{nihil habet per se}
-%       \rdg[wit=cb]{per se nihil audet}}, \app{
-%       \lem[wit=ca]{nullo}
-%       \rdg[wit=cb]{nulli}} adhibetur \app{
-%       \lem{consilio}
-%       \rdg[wit={cT, cU}, alt=conc-]{concilio}}.
-%   \end{edition}
-%   \begin{translation}
-%     \ekddiv{head=XIII, depth=2, n=6.13, type=section}
-%       Throughout all Gaul there are two orders of those men who are of
-%       any rank and dignity: for the commonality is held almost in the
-%       condition of slaves, and dares to undertake nothing of itself,
-%       and is admitted to no deliberation.
-%   \end{translation}
-% \end{alignment}
-%
+% 
 % \begin{remarks}
-% \item As can be seen from the apparatus entry related to l.~4 above,
-%   a subvariant has been inserted in the lemma part: \enquote{(aut et
-%   \getsiglum{cA1})}. This was done by using |alt| in
-%   \vref{lst:caesar-bg}, ll.~9--10. But as this variant is already
-%   recorded\---and printed\---in the lemma part, it was necessary to
-%   remove the entire otherwise redundant variant from the apparatus
-%   criticus in print. Hence the use of |nordg| at l.~11.
-% \item For examples of abbreviations, see ll.~6 and 17.
-% \item Line~17 shows how mss.\ T and U (which belong to two distinct
-%   subfamilies) have been separated from one another: %
-%   \verb*+wit={T, U}+. See above \vpageref{ref:mss-sep-families} for
-%   more information on this technique.
-% \end{remarks}
-%
-% Finally, the corresponding \texttt{TEI xml} output follows:---
+% \item Line~5 introduces a \emph{conjecture} which has been annotated
+%   with |type=conjecture| to facilitate its identification. Other
+%   optional arguments could have been used, such as
+%   |prewit=|\texttt{coni.} or |prewit=|\texttt{falso coni.}, to print
+%   explanatory words in the apparatus criticus before the abridged
+%   name of the scholar.
+% \item Conversely, line~9 introduces an \emph{emendation} for which
+%   the shorthand |egoscr| has been used to print the exact term
+%   \emph{scripsi} in the apparatus criticus while keeping |ego| as an
+%   |xml:id| for the \texttt{TEI xml} ouput file. Other strategies
+%   could have been used. For example, one could have defined a
+%   specific shorthand to print nothing in place of |ego| and leave
+%   the insertion of technical terms to the |post| optional argument
+%   of \cs{lem}, like so:---
 % \iffalse
 %<*example>
 % \fi
-\begin{minted}[linenos=false]{xml}
-<div xml:id="div-edition_1" xml:lang="la">
-  <div type="section" n="6.13">
-    <head>XIII</head>
-    <p>In omni Gallia eorum hominum qui 
-    <app>
-      <lem wit="#A #M #B #R #S #L #N">aliquo</lem>
-      <rdg wit="#T #f #U #l">in aliquo</rdg>
-    </app>sunt numero atque honore genera sunt duo. Nam
-    plebes paene seruorum habetur loco, quae 
-    <app>
-      <lem wit="#A #M">nihil audet per se</lem>
-      <rdg wit="#A1">nihil aut et per se</rdg>
-      <rdg wit="#R #S #L #N">nihil habet per se</rdg>
-      <rdg wit="#T #f #U #l">per se nihil audet</rdg>
-    </app>, 
-    <app>
-      <lem wit="#A #M #B #R #S #L #N">nullo</lem>
-      <rdg wit="#T #f #U #l">nulli</rdg>
-    </app>adhibetur 
-    <app>
-      <lem>consilio</lem>
-      <rdg wit="#T #U">concilio</rdg>
-    </app>.</p>
-  </div>
-</div>
-<div xml:id="div-translation_1" xml:lang="en">
-  <div type="section" n="6.13">
-    <head>XIII</head>
-    <p>Throughout all Gaul there are two orders of those men
-    who are of any rank and dignity: for the commonality is
-    held almost in the condition of slaves, and dares to
-    undertake nothing of itself, and is admitted to no
-    deliberation.</p>
-  </div>
-</div>
+\begin{minted}[linenos=false]{latex}
+% Preamble:
+% (\unskip is for removing the space left by the empty 2nd argument
+% below.)
+\DeclareShorthand{egomute}{\unskip}{ego}
+
+% Document:
+  \app{
+    \lem[resp=egomute, post=\emph{scripsi}, type=emendation]{μὲν}
+    \rdg[wit=codd, source=edd]{μὴ}
+  } εἴη διὰ ταῦτα [...]
 \end{minted}
 % \iffalse
 %</example>
 % \fi
+% \end{remarks}
+% 
+% PDF output:---
+% \medskip
+%
+% \needspace{7\baselineskip}
+% \resetlinenumber
+% \begin{alignment}[flush,tcols=1,texts=specimen,apparatus=specimen]
+%   \begin{specimen}
+%     \begin{ancientgreek}
+%       καὶ ἐγίνετο μᾶλλον \app{
+%       \lem[wit={hV, hIpc,hR,hH}]{νότῳ}
+%       \rdg[wit=hIac]{νότου}
+%       \rdg[source=Erm, type=conjecture]{ἐν νώτῳ}}· [...]
+%
+%       εἰ \app{
+%       \lem[resp=hegoscr, type=emendation]{μὲν}
+%       \rdg[wit=hcodd, source=hedd]{μὴ}
+%     } εἴη διὰ ταῦτα [...]
+%     \end{ancientgreek}
+%   \end{specimen}
+% \end{alignment}
+%
+% \texttt{TEI xml} output:---
 %
-% \subsection{Alignment of Several Texts}
-% \label{sec:multiple-alignment}
-% As described above \vpageref{ref:alignment-syntax}, the
-% \env{alignment} environment may receive an optional argument in
-% which
-% the following \enquote{name$=$value} arguments are accepted:---\\
-% \DescribeOption{tcols}
-% |tcols|$=$\meta{number}\hfill\tcboxverb{Default: 2}\\
-% |tcols| stores the \underLine{t}otal number of
-% \underLine{col}umn\underLine{s} of text to be aligned.\\
-% \DescribeOption{lcols}
-% |lcols|$=$\meta{number}\hfill\tcboxverb{Default: 1}\\
-% |lcols| stores the number of \underLine{col}umn\underLine{s} to be
-% printed on the \underLine{l}eft-hand page, \emph{out of the total
-% number} of columns specified with |tcols|. As can be seen from the
-% preceding two default values, \env{alignment} initially sets two
-% columns of text on facing pages. Of course, for this setting to work
-% properly, one must ensure that the \env{alignment} environment is
-% started on a
-% left page.\\
-% \DescribeOption{texts}
-% |texts|$=$\meta{\underLine{semicolon}-separated
-% values}\hfill\tcboxverb{Default: edition;translation}\\
-% Depending on the total number of columns that has been specified
-% with |tcols| above, |texts| is then used to define the names of the
-% environments that shall receive edition texts, translations,
-% \emph{\&c.} Furthermore, as described \vpageref{ref:starred-envs},
-% \pkg{ekdosis} also defines \enquote{starred} versions of these
-% environments to be used to synchronize columns so that corresponding
-% paragraphs are printed vertically aligned. Some very important
-% points need to be emphasized in this respect:---
-% \begin{enumerate}
-% \item Only unaccented letters of the alphabet (whatever the case)
-%   are allowed to compose the names of \LaTeX{} environments.
-% \item These names must be separated from one another by
-%   \emph{semicolons}, as shown in red in the listing below at the end
-%   of lines~1 and 2.
-%   \begin{enumerate}
-%   \item[\dbend] The colon at the end of line~3 closes the whole
-%     value of |text| and acts as a higher level separator.
-%   \end{enumerate}
-% \item \label{it:lang-subopt} Each name may be followed by a
-%   \enquote*{suboptional} argument between square brackets which will
-%   then be used to insert \texttt{TEI xml} attributes in the
-%   corresponding |<div>| element. For example, \iffalse
-%<*example>
-% \fi
-\begin{minted}[escapeinside=++]{latex}
-texts=latin[xml:lang="la"]+\textcolor{red}{;}+
-      english[xml:lang="en"]+\textcolor{red}{;}+
-      french[xml:lang="fr"]+\textcolor{red}{,}+
-\end{minted}
-% \iffalse
-%</example>
-% \fi
-% will be converted into \texttt{TEI xml} as follows:---
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}[linenos=false]{xml}
-<div xml:id="div-latin_1" xml:lang="la">
-...
-</div>
-<div xml:id="div-english_1" xml:lang="en">
-...
-</div>
-<div xml:id="div-french_1" xml:lang="fr">
-...
-</div>
+<p xml:lang="grc">καὶ ἐγίνετο μᾶλλον 
+<app>
+  <lem wit="#V #Ipc #R #H">νότῳ</lem>
+  <rdg wit="#Iac">νότου</rdg>
+  <rdg source="#Erm" type="conjecture">ἐν νώτῳ</rdg>
+</app>· [...]</p>
+<p>εἰ 
+<app>
+  <lem resp="#ego" type="emendation">μὲν</lem>
+  <rdg wit="#V #I #R #H" source="#Lit #Erm #Sm">
+  μὴ</rdg>
+</app>εἴη διὰ ταῦτα [...]</p>
 \end{minted}
 % \iffalse
 %</example>
 % \fi
-%   \begin{enumerate}
-%   \item[\dbend] As can be seen, \pkg{ekdosis} takes care of
-%     computing and inserting the |xml:id| attributes which are
-%     therefore not accepted in the \enquote*{suboptional} arguments
-%     of |texts|.
-%   \end{enumerate}
-% \item The names of the environments must be specified in exactly the
-%   same order as they are supposed to appear in the print edition,
-%   from left to right.
-% \end{enumerate}
-% \DescribeOption{apparatus}
-% |apparatus|$=$\meta{\underLine{semicolon}-separated
-% values}\hfill\tcboxverb{Default: edition}\\
-% Then, the |apparatus| option, just as |texts|, takes a
-% \underLine{semicolon}-separated list of previously defined
-% environments that shall receive at least one layer of apparatus
-% criticus.\\
-% \DescribeOption{paired} |paired|$=$\verb+true|false+%
-% \hfill\tcboxverb{Default: true (initially not set)}\\
-% This named argument does not need a value as it defaults to |true|
-% if it is used. By default, \pkg{ekdosis} follows the \LaTeX{} page
-% numbering scheme when multiple texts are arranged on facing
-% pages. The |paired| option leaves every right-hand page number
-% unchanged, so that both facing pages hold the same page number.\\
-% \DescribeOption{lineation} |lineation|$=$\verb+page|document+
-% \hfill\tcboxverb{Default: document}\\
-% This option applies to edition texts initially set to receive an
-% apparatus criticus. By default, lines are continuously numbered
-% throughout the document. |lineation=page| sets the numbering to
-% start afresh at the top of each page.\\
-% \DescribeOption{flush} |flush|$=$\verb+true|false+
-% \hfill\tcboxverb{Default: false}\\
-% This named argument does not need a value as it defaults to |true|
-% if it is used. This option applies when two or more distinct
-% \env{alignment} environments are started on the same page. Should
-% this happen, any subsequent \env{alignment} environment must be set
-% with the |flush| option so that every one of them carry its own
-% apparatus criticus.
 %
-% As an example, the alignment of the Latin edition text of Caesar's
-% \emph{Gallic War}, printed on left-hand pages, along with two
-% translations into English and French, printed on right-hand pages,
-% can be set as follows:---
+% \subsection{Editorial Addition and Deletion}
+% \label{sec:editorial-add-del}
+% \pkg{ekdosis} provides a set of commands to indicate that text has
+% been supplied or removed by conjecture. As regards critical
+% symbols conventionally used for representing emendations, lacunae,
+% omissions, gaps, editorial deletions or additions and the like,
+% \pkg{ekdosis} follows the standards as described by
+% \textcite[80--82]{West1973}:---
+% \begin{description}[font=\ttfamily]
+% \item[<>] text added by conjecture or from a parallel source.
+% \item[***] lacuna in the whole textual tradition.
+% \item[<***>] conjectured lacuna.
+% \item[\{\}] editorial deletion.
+% \item[\dag\dag] text juged by the editor to be corrupt. Note that if
+% only one word is suspect, only one crux is needed. 
+% \end{description}
+%
+% \DescribeMacro{\SetCritSymbols}\newfeature[v1.1]
+% \cs{SetCritSymbols}\marg{csv list of options} can be used to change
+% the critical symbols described above. This command accepts the
+% following list of |key-value|
+% optional arguments:---\\
+% \DescribeOption{suppbegin}|suppbegin|$=$\meta{symbol}
+% \hfill\tcboxverb{Default: <}\\
+% The opening symbol used to mark the text that is supplied.\\
+% \DescribeOption{suppend}|suppend|$=$\meta{symbol}
+% \hfill\tcboxverb{Default: >}\\
+% The closing symbol used to mark the text that is supplied.\\
+% \DescribeOption{delbegin}|delbegin|$=$\meta{symbol}
+% \hfill\tcboxverb|Default: {|\\
+% The opening symbol used to mark the text that is deleted.\\
+% \DescribeOption{delend}|delend|$=$\meta{symbol}
+% \hfill\tcboxverb|Default: }|\\
+% The closing symbol used to mark the text that is deleted.\\
+% \DescribeOption{sicbegin}|sicbegin|$=$\meta{symbol}
+% \hfill\tcboxverb{Default: †}\\
+% The opening symbol used to mark the text that is deemed to be
+% suspect.\\
+% \DescribeOption{sicend}|sicend|$=$\meta{symbol}
+% \hfill\tcboxverb{Default: †}\\
+% The closing symbol used to mark the text that is deemed to be
+% suspect.\\
+% \DescribeOption{gapmark}|gapmark|$=$\meta{symbols}
+% \hfill\tcboxverb{Default: ***}\\
+% The symbols used to mark lacunae.\\
+%
+% As an example, what follows sets |[]| for deletions and |...| for
+% lacunae:---
+% 
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}[linenos=false]{latex}
-\begin{alignment}[tcols=3,
-                  lcols=1,
-                  texts=latin[xml:lang="la"];
-                        english[xml:lang="en"];
-                        french[xml:lang="fr"],
-                  apparatus=latin,
-                  lineation=page]
-  \begin{latin}
-    Gallia est omnis divisa in partes tres quarum unam incolunt
-    Belgae, [...]
-  \end{latin}
-  \begin{english}
-    All Gaul is divided into three parts, one of which the Belgae
-    inhabit, [...]
-  \end{english}
-  \begin{french}
-    L'ensemble de la Gaule est divisé en trois parties: l'une est
-    habitée par les Belges, [...]
-  \end{french}
-\end{alignment}
+\SetCritSymbols{
+  delbegin = [,
+  delend = ],
+  gapmark = \dots
+}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
 %
-% \DescribeMacro{\SetAlignment}
-% \cs{SetAlignment}\marg{alignment settings}\\
-% If the same alignment settings are to be shared by several
-% \env{alignment} environments, common settings can be collected in
-% the argument of \cs{SetAlignment}, like
-% so:---\\
-% \iffalse
-%<*example>
-% \fi
-\begin{minted}[linenos=false]{latex}
-\SetAlignment{
-  tcols=3,
-  lcols=1,
-  texts=latin[xml:lang="la"];
-        english[xml:lang="en"];
-        french[xml:lang="fr"],
-  apparatus=latin,
-  lineation=page
-}
-\begin{alignment}
-  ...
-\end{alignment}
-\end{minted}
-% \iffalse
-%</example>
-% \fi
+% \danger If modified, brackets can be adapted to languages that are
+% written from right to left. To that effect, \pkg{ekdosis} provides a
+% boolean expression |al@rlmode| which is evaluated as |true| if the
+% writing direction is set from right to left and as |false|
+% otherwise. As the \pkg{etoolbox} package is loaded by \pkg{ekdosis},
+% \cs{ifboolean}|{al@rlmode}|\marg{rtl symbol}\marg{ltr symbol} can be
+% used to perform the test.
 %
-% \cs{SetAlignment} can be used either in the preamble or at
-% any point of the document to set or to modify alignment settings.
+% \paragraph{Editorial Addition}
+% \DescribeMacro{\supplied}\newfeature[v1.1]\cs{supplied}\marg{text}
+% is used to mark \meta{text} that is by definition missing from the
+% tradition as supplied by the editor or some other scholar. This
+% command is normally expected in \cs{lem}|{}| or \cs{rdg}|{}|.
 %
-% \subsubsection{Appending Hooks to Environments}
-% \label{sec:alignment-hooks}
-% \DescribeMacro{\AtBeginEnvironment} Once environments corresponding
-% to texts to be aligned have been defined, it is advisable to use the
-% \cs{AtBeginEnvironment}\marg{environment}\marg{code} command that is
-% provided by the \pkg{etoolbox} package\footnote{This package is
-% loaded by \pkg{ekdosis}.} to further adjust languages, hyphenation
-% rules, and/or fonts to be applied in each environment. To return to
-% the example provided above, once \cs{SetAlignment} has been
-% used, the languages can be set as follows:---
-% 
-% \iffalse
-%<*example>
-% \fi
-\begin{minted}[linenos=false]{latex}
-\AtBeginEnvironment{latin}{\selectlanguage{latin}}
-\AtBeginEnvironment{english}{\selectlanguage{english}}
-\AtBeginEnvironment{french}{\selectlanguage{french}}
-\end{minted}
-% \iffalse
-%</example>
-% \fi
+% \paragraph{Editorial Deletion}
+% \DescribeMacro{\surplus}\newfeature[v1.1] \cs{surplus}\marg{text}
+% is used to mark \meta{text} that is deemed to be inauthentic, but
+% nevertheless retained between braces in the edition text as it is
+% transmitted by all witnesses. This command is normally expected in
+% \cs{lem}|{}| or \cs{rdg}|{}|.
 %
-% \section{Emendations and Conjectures}
-% \label{sec:emendations-conjectures}
-% From a technical standpoint, \enquote{conjectures} are readings that
-% are not supported by manuscript evidence, but are instead proposed
-% by scholars to be taken into consideration for establishing the
-% edition text. A conjecture is called an \enquote{emendation} if it
-% is adopted in place of what is provided by or missing from the text
-% provided by the manuscripts. Emendations and conjectures are
-% therefore readings and as such expected to be found within |<lem>|
-% or |<rdg>| elements. However, as both come from editions or
-% scholars, not from manuscripts, they are naturally associated with
-% |source| or |resp| attributes as described above
-% \vpagerefrange{ref:lem-source}{ref:lem-resp},\footnote{See also
-% \vpagerefrange{ref:declare-source}{ref:declare-scholar}.} and can be
-% distinguished from one another by the |type| attribute, eg.\ either
-% |emendation| or |conjecture|.
+% \paragraph{Crux}
+% \DescribeMacro{\sic}\newfeature[v1.1] \cs{sic}\marg{text} takes as
+% mandatory argument the text deemed by the editor to be readable but
+% not understandable. \cs{sic} inserts \meta{text} between cruces
+% while \cs{sic*} prints only one crux before \meta{text}.
 %
-% As an example, the representation of witnesses, editors and
-% shorthands of Hippocrates' \emph{Epidemics}, Book~2 could be
-% summarized as follows:---
-% 
-% \iffalse
-%<*example>
-% \fi
-\begin{minted}{latex}
-% Witnesses:
-\DeclareWitness{V}{V}{\emph{Vaticanus Gr.} 276}
-\DeclareWitness{I}{I}{\emph{Parisinus Gr.} 2140}
-\DeclareHand{Iac}{I}{I\textsuperscript{ac}}[Lectio ante correctionem]
-\DeclareHand{Ipc}{I}{I\textsuperscript{pc}}[Lectio post correctionem]
-\DeclareWitness{R}{R}{\emph{Vaticanus Gr.} 277}
-\DeclareWitness{H}{H}{\emph{Parisinus Gr.} 2142}
-% Sources (the first arguments below must refer to biblatex labels and
-% an xml bibliographical database must be supplied):
-\DeclareSource{Lit}{Littré}
-\DeclareSource{Erm}{Ermerins}
-\DeclareSource{Sm}{Smith}
-% Persons:
-\DeclareScholar{ego}{ego}[
-                forename=Robert,
-                surname=Alessi]
-% Useful shorthands:
-\DeclareShorthand{codd}{codd.}{V,I,R,H}
-\DeclareShorthand{edd}{edd.}{Lit,Erm,Sm}
-\DeclareShorthand{egoscr}{\emph{scripsi}}{ego}
-\end{minted}
-% \iffalse
-%</example>
-% \fi
+% \paragraph{Lacuna}
+% \DescribeMacro{\gap}\newfeature[v1.1] \cs{gap}\marg{csv list of
+% options} indicates that some amount of text has fallen away from the
+% entire tradition. It takes as mandatory argument a comma-separated
+% list of options that can be used to further specify the reason for
+% omission, the unit of measurement, the quantity or the extent, as
+% follows:---\\
+% \DescribeOption{reason}|reason|$=$\meta{reason}\\
+% |reason| gives the reason for omission.\\
+% \DescribeOption{unit} |unit|$=$\meta{unit}\\
+% |unit| provides some regularized measurement, such as |character|,
+% |word|, |line| and the like.
+% \DescribeOption{quantity} |quantity|$=$\meta{n}\\
+% |quantity| specifies the number of the given unit that comprise the
+% measurement.\\
+% \DescribeOption{extent} |extent|$=$\meta{description}\\
+% |extent| describes the size, including quantity and unit in a single
+% string of words.
 %
-% As can be seen from lines~18--20, three useful shorthands have been
-% defined: |codd| prints \enquote{codd.} for Latin pl.\ \emph{codices}
-% viz.\ \enquote{all manuscripts} and refers to the three \texttt{xml}
-% identifiers |V|, |I|, |R| and |H| declared at ll.~2--3 and 6--7;
-% |edd| prints \enquote{edd.} for Latin pl.\ \emph{editores} viz.\
-% \enquote{all editors} and refers to the three \texttt{xml}
-% identifiers |Lit|, |Erm| and |Sm| declared at
-% ll.~10--12;\footnote{For detailed information on how to use
-% \cs{DeclareSource} and insert references to cited works, the reader
-% is invited to refer to \vref{sec:references-cited-works}.} finally,
-% |egoscr| (l.~20) is used to print the technical Latin term
-% \enquote{\emph{scripsi}}, \enquote{I wrote}, to denote a personal
-% conjecture. Then, the |.tex| source file can be structured as
-% follows:---
+% \paragraph{Conjectured Lacuna}
+% Assumably, the conjectured lacuna should be enclosed by
+% \cs{supplied} and as such contained by \cs{lem} with
+% |type=emendation| to indicate that the lacuna has been accepted by
+% the editor.
+%
+% Examples follow:---
 %
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}{latex}
-\begin{ekdosis}
-  καὶ ἐγίνετο μᾶλλον \app{
-    \lem[wit={V, Ipc,R,H}]{νότῳ}
-    \rdg[wit=Iac]{νότου}
-    \rdg[source=Erm, type=conjecture]{ἐν νώτῳ}}· [...] % conjecture
-  
-  εἰ
-  \app{
-    \lem[resp=egoscr, type=emendation]{μὲν} % emendation
-    \rdg[wit=codd, source=edd]{μὴ}
-  } εἴη διὰ ταῦτα [...]
-\end{ekdosis}
-\end{minted}
-% \iffalse
-%</example>
-% \fi
-% 
-% \begin{remarks}
-% \item Line~5 introduces a \emph{conjecture} which has been annotated
-%   with |type=conjecture| to facilitate its identification. Other
-%   optional arguments could have been used, such as
-%   |prewit=|\texttt{coni.} or |prewit=|\texttt{falso coni.}, to print
-%   explanatory words in the apparatus criticus before the abridged
-%   name of the scholar.
-% \item Conversely, line~9 introduces an \emph{emendation} for which
-%   the shorthand |egoscr| has been used to print the exact term
-%   \emph{scripsi} in the apparatus criticus while keeping |ego| as an
-%   |xml:id| for the \texttt{TEI xml} ouput file. Other strategies
-%   could have been used. For example, one could have defined a
-%   specific shorthand to print nothing in place of |ego| and leave
-%   the insertion of technical terms to the |post| optional argument
-%   of \cs{lem}, like so:---
-% \iffalse
-%<*example>
-% \fi
-\begin{minted}[linenos=false]{latex}
 % Preamble:
-% (\unskip is for removing the space left by the empty 2nd argument
-% below.)
 \DeclareShorthand{egomute}{\unskip}{ego}
 
 % Document:
+\begin{ekdosis}
+  σχεδὸν \app{
+    \lem[resp=egomute, nosep, post={post σχεδὸν quattuor uerba
+      excidisse uid.}, type=emendation]{\supplied{\gap{reason=lost,
+          unit=word, quantity=4}}}
+  } οὗτοι
+
+  subsidiis magnis \sic*{epicuri} constabilitas
+
+  declinare quis est qui \sic{possit cernere sese}.
+
   \app{
-    \lem[resp=egomute, post=\emph{scripsi}, type=emendation]{μὲν}
-    \rdg[wit=codd, source=edd]{μὴ}
-  } εἴη διὰ ταῦτα [...]
+    \lem[resp=egomute, type=emendation, nosep, post={ante
+      ὑπογίν.}]{\surplus{καὶ}}
+    \note{deleui e Gal.P}
+  } ὑπογίνονται
+
+  Πάντων δὲ \app{
+    \lem[resp=egomute, type=emendation, post={addidi (\arb{^gamI`a
+        'l-.hummayAti} Gal.)}]{\supplied{τῶν πυρετῶν}}
+    \rdg[nordg, source=Gal]{\arb{^gamI`a 'l-.hummayAti}}
+    \rdg[wit=codd, source=edd, alt=om.]{}
+  },
+\end{ekdosis}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
-% \end{remarks}
-% 
+%
 % PDF output:---
 % \medskip
-%
 % \needspace{7\baselineskip}
 % \resetlinenumber
 % \begin{alignment}[flush,tcols=1,texts=specimen,apparatus=specimen]
 %   \begin{specimen}
-%     \begin{ancientgreek}
-%       καὶ ἐγίνετο μᾶλλον \app{
-%       \lem[wit={hV, hIpc,hR,hH}]{νότῳ}
-%       \rdg[wit=hIac]{νότου}
-%       \rdg[source=Erm, type=conjecture]{ἐν νώτῳ}}· [...]
+%  σχεδὸν \app{
+%    \lem[resp=egomute, nosep, post={post σχεδὸν quattuor uerba
+%      excidisse uid.}, type=emendation]{\supplied{\gap{reason=lost,
+%          unit=word, quantity=4}}}
+%  } οὗτοι
 %
-%       εἰ \app{
-%       \lem[resp=hegoscr, type=emendation]{μὲν}
-%       \rdg[wit=hcodd, source=hedd]{μὴ}
-%     } εἴη διὰ ταῦτα [...]
-%     \end{ancientgreek}
+%  subsidiis magnis \sic*{epicuri} constabilitas
+%
+%  declinare quis est qui \sic{possit cernere sese}.
+%
+%  \app{
+%    \lem[resp=egomute, type=emendation, nosep, post={ante
+%      ὑπογίν.}]{\surplus{καὶ}}
+%    \note{deleui e Gal.P}
+%  } ὑπογίνονται
+%
+%
+%  Πάντων δὲ \app{
+%    \lem[resp=egomute, type=emendation, post={addidi (\arb{^gamI`a
+%        'l-.hummayAti} Gal.)}]{\supplied{τῶν πυρετῶν}}
+%    \rdg[nordg, source=Gal]{\arb{^gamI`a 'l-.hummayAti}}
+%    \rdg[wit=hcodd, source=hedd, alt=om.]{}
+%  },
 %   \end{specimen}
 % \end{alignment}
 %
-% \texttt{TEI xml} output:---
+% \texttt{TEI xml} ouput:---
 %
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}[linenos=false]{xml}
-<p xml:lang="grc">καὶ ἐγίνετο μᾶλλον 
-<app>
-  <lem wit="#V #Ipc #R #H">νότῳ</lem>
-  <rdg wit="#Iac">νότου</rdg>
-  <rdg source="#Erm" type="conjecture">ἐν νώτῳ</rdg>
-</app>· [...]</p>
-<p>εἰ 
+<p>σχεδὸν 
 <app>
-  <lem resp="#ego" type="emendation">μὲν</lem>
-  <rdg wit="#V #I #R #H" source="#Lit #Erm #Sm">
-  μὴ</rdg>
-</app>εἴη διὰ ταῦτα [...]</p>
-\end{minted}
-% \iffalse
-%</example>
-% \fi
-%
-% \subsection{Editorial Addition and Deletion}
-% \label{sec:editorial-add-del}
-% \pkg{ekdosis} provides a set of commands to indicate that text has
-% been supplied or removed by conjecture. As regards critical
-% symbols conventionally used for representing emendations, lacunae,
-% omissions, gaps, editorial deletions or additions and the like,
-% \pkg{ekdosis} follows the standards as described by
-% \textcite[80--82]{West1973}:---
-% \begin{description}[font=\ttfamily]
-% \item[<>] text added by conjecture or from a parallel source.
-% \item[***] lacuna in the whole textual tradition.
-% \item[<***>] conjectured lacuna.
-% \item[\{\}] editorial deletion.
-% \item[\dag\dag] text juged by the editor to be corrupt. Note that if
-% only one word is suspect, only one crux is needed. 
-% \end{description}
+  <lem resp="#ego" type="emendation">
+    <supplied>
+      <gap reason="lost" unit="word" quantity="4" />
+    </supplied>
+  </lem>
+</app>οὗτοι</p>
+<p>subsidiis magnis 
+<sic>epicuri</sic> constabilitas</p>
+<p>declinare quis est qui 
+<sic>possit cernere sese</sic>.</p>
+<p>
+<app>
+  <lem resp="#ego" type="emendation">
+    <surplus>καὶ</surplus>
+  </lem>
+  <note>deleui e Gal.P</note>
+</app>ὑπογίνονται</p>
+<p>Πάντων δὲ 
+<app>
+  <lem resp="#ego" type="emendation">
+    <supplied>τῶν πυρετῶν</supplied>
+  </lem>
+  <rdg source="#Gal">
+    <foreign xml:lang="ar-Latn" type="transliterated"
+    subtype="arabtex">^gamI`a 'l-.hummayAti</foreign>
+  </rdg>
+  <rdg wit="#V #I #R #H" source="#Lit #Erm #Sm" />
+</app>,</p>
+\end{minted}
+% \iffalse
+%</example>
+% \fi
 %
-% \DescribeMacro{\SetCritSymbols}\newfeature[v1.1]
-% \cs{SetCritSymbols}\marg{csv list of options} can be used to change
-% the critical symbols described above. This command accepts the
-% following list of |key-value|
-% optional arguments:---\\
-% \DescribeOption{suppbegin}|suppbegin|$=$\meta{symbol}
-% \hfill\tcboxverb{Default: <}\\
-% The opening symbol used to mark the text that is supplied.\\
-% \DescribeOption{suppend}|suppend|$=$\meta{symbol}
-% \hfill\tcboxverb{Default: >}\\
-% The closing symbol used to mark the text that is supplied.\\
-% \DescribeOption{delbegin}|delbegin|$=$\meta{symbol}
-% \hfill\tcboxverb|Default: {|\\
-% The opening symbol used to mark the text that is deleted.\\
-% \DescribeOption{delend}|delend|$=$\meta{symbol}
-% \hfill\tcboxverb|Default: }|\\
-% The closing symbol used to mark the text that is deleted.\\
-% \DescribeOption{sicbegin}|sicbegin|$=$\meta{symbol}
-% \hfill\tcboxverb{Default: †}\\
-% The opening symbol used to mark the text that is deemed to be
-% suspect.\\
-% \DescribeOption{sicend}|sicend|$=$\meta{symbol}
-% \hfill\tcboxverb{Default: †}\\
-% The closing symbol used to mark the text that is deemed to be
-% suspect.\\
-% \DescribeOption{gapmark}|gapmark|$=$\meta{symbols}
-% \hfill\tcboxverb{Default: ***}\\
-% The symbols used to mark lacunae.\\
+% \section{Alignment of Parallel Texts}
+% \label{sec:alignment-basic}
+% As already said above,\footnote{See point
+% \vref{it:multicol-feature}.} \pkg{ekdosis} can arrange sundry texts
+% in parallel columns\---synchronized or not\---either on the same
+% page or on facing pages. Depending on what is needed, any text can
+% be equipped with an apparatus criticus. The most common example is
+% that of an edition of a classical text with an apparatus criticus
+% accompanied by a translation into a modern language on the facing
+% page. One can also imagine an edition of two classical texts or two
+% different recensions of the same text, each of which provides
+% variants recorded in separate apparatus crititus, laid out on the
+% left-hand pages, with one or more translations on the corresponding
+% right-hand pages, and so forth.
+%
+% \paragraph{The \env{alignment} Environment}
+% \DescribeEnv{alignment} \cs{begin}|{alignment}|\oarg{options}\dots
+% \cs{end}|{alignment}|\label{ref:alignment-syntax}\\
+% This environment can be used as it is provided to typeset a standard
+% critical edition, namely an edition text, equipped with an apparatus
+% criticus and laid out on the left-hand pages, accompanied by a
+% translation into a modern language on the facing pages.
+%
+% \DescribeEnv{edition}\DescribeEnv{translation} Within
+% \env{alignment}, two environments are available by default:
+% \cs{begin}|{edition}|\allowbreak\dots
+% \cs{end}|{ed|\allowbreak|ition}| and \cs{begin}|{translation}|\dots
+% \cs{end}|{translation}|. Obviously, the former is used to typeset
+% the edition text with an apparatus criticus on the left, while the
+% latter is used to typeset the translation on the right, like so:---
+% \iffalse
+%<*example>
+% \fi
+\begin{minted}[linenos=false]{latex}
+\begin{alignment}
+  \begin{edition}
+    First § of the edition text.
+  \end{edition}
+  \begin{translation}
+    First § of the translation.
+  \end{translation}
+  \begin{edition}
+    Second § of the edition text.
+  \end{edition}
+  \begin{translation}
+    Second § of the translation.
+  \end{translation}
+\end{alignment}
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+%
+% \DescribeEnv{edition*}\DescribeEnv{translation*}
+% \label{ref:starred-envs} Furthermore, so-called \enquote{starred}
+% versions of these environments can be used at any point to
+% synchronize texts, that is to print them in such a way that the tops
+% of all paragraphs are vertically aligned. To that effect, it must be
+% noted that merely applying this command on a single
+% environment\---for instance the leftmost one\---will have all other
+% associated paragraphs printed aligned.
+%
+% \danger While the whole edition text and the whole translation can
+% be inserted in a single \env{edition}/\env{translation} environment
+% respectively, it is recommended to enter both texts paragraph by
+% paragraph as shown in the example above. Not only this method of
+% encoding allows not to lose sight of paragraphs that are meant to be
+% read together, but it is also the only way to align paragraphs in
+% print, and it is much more suitable to mark up correspondence
+% between spans of texts as will be demonstrated below in
+% \vref{ref:segmentation}.
+%
+% As an illustration, a short extract of Caesar's \emph{Gallic War},
+% VI, XIII.1 follows.\footnote{Latin text: \cite{Caesar-BG-v2};
+% English translation: \cite{CaesarTr}.} See the list of sigla for
+% manuscripts and manuscript families above
+% \vpageref{ref:caesar-bg-sigla}. As this document is not set for
+% duplex printing, both texts have been put together on the same
+% page. However, the reader will find the full |.tex| source file
+% in \vref{sec:caesar-gw-tex} and \texttt{TEI xml} output in
+% \vref{sec:caesar-gw-tei}. The corresponding PDF output is available
+% in \href{samples/Caesar_BG-6-13-1.pdf}{a separate file}:---
+%
+% \captof{Caesar's \emph{Gallic War}, VI, 13.1}[\label{lst:caesar-bg}]
+% \iffalse
+%<*example>
+% \fi
+\begin{minted}{latex}
+\begin{alignment}
+  \begin{edition}
+    \ekddiv{head=XIII, depth=2, n=6.13, type=section}
+    In omni Gallia eorum hominum qui \app{
+      \lem[wit=a]{aliquo}
+      \rdg[wit=b, alt=in al-]{in aliquo}}
+    sunt numero atque honore genera sunt duo. Nam plebes paene
+    seruorum habetur loco, quae \app{
+      \lem[wit={A,M}, alt={nihil audet (aut et \getsiglum{A1})
+        per se}]{nihil audet per se}
+      \rdg[wit=A1,nordg]{nihil aut et per se}
+      \rdg[wit={R,S,L,N}]{nihil habet per se}
+      \rdg[wit=b]{per se nihil audet}}, \app{
+      \lem[wit=a]{nullo}
+      \rdg[wit=b]{nulli}} adhibetur \app{
+      \lem{consilio}
+      \rdg[wit={T, U}, alt=conc-]{concilio}}.
+  \end{edition}
+  \begin{translation}
+    \ekddiv{head=XIII, depth=2, n=6.13, type=section}
+      Throughout all Gaul there are two orders of those men who are of
+      any rank and dignity: for the commonality is held almost in the
+      condition of slaves, and dares to undertake nothing of itself,
+      and is admitted to no deliberation.
+  \end{translation}
+\end{alignment}
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+%
+% \resetlinenumber
+% \FormatDiv{2}{}{.}
+% \begin{alignment}[flush,lcols=2,
+%                   texts=edition[xml:lang="la"];
+%                   translation[xml:lang="en"]]
+% \AtBeginEnvironment{edition}{\selectlanguage{latin}}
+% \AtBeginEnvironment{translation}{\selectlanguage{american}}
+%   \begin{edition}
+%     \ekddiv{head=XIII, depth=2, n=6.13, type=section}
+%     In omni Gallia eorum hominum qui \app{
+%       \lem[wit=ca]{aliquo}
+%       \rdg[wit=cb, alt=in al-]{in aliquo}}
+%     sunt numero atque honore genera sunt duo. Nam plebes paene
+%     seruorum habetur loco, quae \app{
+%       \lem[wit={cA,cM}, alt={nihil audet (aut et \getsiglum{cA1})
+%         per se}]{nihil audet per se}
+%       \rdg[wit=cA1,nordg]{nihil aut et per se}
+%       \rdg[wit={cR,cS,cL,cN}]{nihil habet per se}
+%       \rdg[wit=cb]{per se nihil audet}}, \app{
+%       \lem[wit=ca]{nullo}
+%       \rdg[wit=cb]{nulli}} adhibetur \app{
+%       \lem{consilio}
+%       \rdg[wit={cT, cU}, alt=conc-]{concilio}}.
+%   \end{edition}
+%   \begin{translation}
+%     \ekddiv{head=XIII, depth=2, n=6.13, type=section}
+%       Throughout all Gaul there are two orders of those men who are of
+%       any rank and dignity: for the commonality is held almost in the
+%       condition of slaves, and dares to undertake nothing of itself,
+%       and is admitted to no deliberation.
+%   \end{translation}
+% \end{alignment}
+%
+% \begin{remarks}
+% \item As can be seen from the apparatus entry related to l.~4 above,
+%   a subvariant has been inserted in the lemma part: \enquote{(aut et
+%   \getsiglum{cA1})}. This was done by using |alt| in
+%   \vref{lst:caesar-bg}, ll.~9--10. But as this variant is already
+%   recorded\---and printed\---in the lemma part, it was necessary to
+%   remove the entire otherwise redundant variant from the apparatus
+%   criticus in print. Hence the use of |nordg| at l.~11.
+% \item For examples of abbreviations, see ll.~6 and 17.
+% \item Line~17 shows how mss.\ T and U (which belong to two distinct
+%   subfamilies) have been separated from one another: %
+%   \verb*+wit={T, U}+. See above \vpageref{ref:mss-sep-families} for
+%   more information on this technique.
+% \end{remarks}
+%
+% Finally, the corresponding \texttt{TEI xml} output follows:---
+% \iffalse
+%<*example>
+% \fi
+\begin{minted}[linenos=false]{xml}
+<div xml:id="div-edition_1" xml:lang="la">
+  <div type="section" n="6.13">
+    <head>XIII</head>
+    <p>In omni Gallia eorum hominum qui 
+    <app>
+      <lem wit="#A #M #B #R #S #L #N">aliquo</lem>
+      <rdg wit="#T #f #U #l">in aliquo</rdg>
+    </app>sunt numero atque honore genera sunt duo. Nam
+    plebes paene seruorum habetur loco, quae 
+    <app>
+      <lem wit="#A #M">nihil audet per se</lem>
+      <rdg wit="#A1">nihil aut et per se</rdg>
+      <rdg wit="#R #S #L #N">nihil habet per se</rdg>
+      <rdg wit="#T #f #U #l">per se nihil audet</rdg>
+    </app>, 
+    <app>
+      <lem wit="#A #M #B #R #S #L #N">nullo</lem>
+      <rdg wit="#T #f #U #l">nulli</rdg>
+    </app>adhibetur 
+    <app>
+      <lem>consilio</lem>
+      <rdg wit="#T #U">concilio</rdg>
+    </app>.</p>
+  </div>
+</div>
+<div xml:id="div-translation_1" xml:lang="en">
+  <div type="section" n="6.13">
+    <head>XIII</head>
+    <p>Throughout all Gaul there are two orders of those men
+    who are of any rank and dignity: for the commonality is
+    held almost in the condition of slaves, and dares to
+    undertake nothing of itself, and is admitted to no
+    deliberation.</p>
+  </div>
+</div>
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+%
+% \subsection{Alignment of Several Texts}
+% \label{sec:multiple-alignment}
+% As described above \vpageref{ref:alignment-syntax}, the
+% \env{alignment} environment may receive an optional argument in
+% which
+% the following \enquote{name$=$value} arguments are accepted:---\\
+% \DescribeOption{tcols}
+% |tcols|$=$\meta{number}\hfill\tcboxverb{Default: 2}\\
+% |tcols| stores the \underLine{t}otal number of
+% \underLine{col}umn\underLine{s} of text to be aligned.\\
+% \DescribeOption{lcols}
+% |lcols|$=$\meta{number}\hfill\tcboxverb{Default: 1}\\
+% |lcols| stores the number of \underLine{col}umn\underLine{s} to be
+% printed on the \underLine{l}eft-hand page, \emph{out of the total
+% number} of columns specified with |tcols|. As can be seen from the
+% preceding two default values, \env{alignment} initially sets two
+% columns of text on facing pages. Of course, for this setting to work
+% properly, one must ensure that the \env{alignment} environment is
+% started on a
+% left page.\\
+% \DescribeOption{texts}
+% |texts|$=$\meta{\underLine{semicolon}-separated
+% values}\hfill\tcboxverb{Default: edition;translation}\\
+% Depending on the total number of columns that has been specified
+% with |tcols| above, |texts| is then used to define the names of the
+% environments that shall receive edition texts, translations,
+% \emph{\&c.} Furthermore, as described \vpageref{ref:starred-envs},
+% \pkg{ekdosis} also defines \enquote{starred} versions of these
+% environments to be used to synchronize columns so that corresponding
+% paragraphs are printed vertically aligned. Some very important
+% points need to be emphasized in this respect:---
+% \begin{enumerate}
+% \item Only unaccented letters of the alphabet (whatever the case)
+%   are allowed to compose the names of \LaTeX{} environments.
+% \item These names must be separated from one another by
+%   \emph{semicolons}, as shown in red in the listing below at the end
+%   of lines~1 and 2.
+%   \begin{enumerate}
+%   \item[\dbend] The colon at the end of line~3 closes the whole
+%     value of |text| and acts as a higher level separator.
+%   \end{enumerate}
+% \item \label{it:lang-subopt} Each name may be followed by a
+%   \enquote*{suboptional} argument between square brackets which will
+%   then be used to insert \texttt{TEI xml} attributes in the
+%   corresponding |<div>| element. For example, \iffalse
+%<*example>
+% \fi
+\begin{minted}[escapeinside=++]{latex}
+texts=latin[xml:lang="la"]+\textcolor{red}{;}+
+      english[xml:lang="en"]+\textcolor{red}{;}+
+      french[xml:lang="fr"]+\textcolor{red}{,}+
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+% will be converted into \texttt{TEI xml} as follows:---
+% \iffalse
+%<*example>
+% \fi
+\begin{minted}[linenos=false]{xml}
+<div xml:id="div-latin_1" xml:lang="la">
+...
+</div>
+<div xml:id="div-english_1" xml:lang="en">
+...
+</div>
+<div xml:id="div-french_1" xml:lang="fr">
+...
+</div>
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+%   \begin{enumerate}
+%   \item[\dbend] As can be seen, \pkg{ekdosis} takes care of
+%     computing and inserting the |xml:id| attributes which are
+%     therefore not accepted in the \enquote*{suboptional} arguments
+%     of |texts|.
+%   \end{enumerate}
+% \item The names of the environments must be specified in exactly the
+%   same order as they are supposed to appear in the print edition,
+%   from left to right.
+% \end{enumerate}
+% \DescribeOption{apparatus}
+% |apparatus|$=$\meta{\underLine{semicolon}-separated
+% values}\hfill\tcboxverb{Default: edition}\\
+% Then, the |apparatus| option, just as |texts|, takes a
+% \underLine{semicolon}-separated list of previously defined
+% environments that shall receive at least one layer of apparatus
+% criticus.\\
+% \DescribeOption{paired} |paired|$=$\verb+true|false+%
+% \hfill\tcboxverb{Default: true (initially not set)}\\
+% This named argument does not need a value as it defaults to |true|
+% if it is used. By default, \pkg{ekdosis} follows the \LaTeX{} page
+% numbering scheme when multiple texts are arranged on facing
+% pages. The |paired| option leaves every right-hand page number
+% unchanged, so that both facing pages hold the same page number.\\
+% \DescribeOption{lineation} |lineation|$=$\verb+page|document+
+% \hfill\tcboxverb{Default: document}\\
+% This option applies to edition texts initially set to receive an
+% apparatus criticus. By default, lines are continuously numbered
+% throughout the document. |lineation=page| sets the numbering to
+% start afresh at the top of each page.\\
+% \DescribeOption{flush} |flush|$=$\verb+true|false+
+% \hfill\tcboxverb{Default: false}\\
+% This named argument does not need a value as it defaults to |true|
+% if it is used. This option applies when two or more distinct
+% \env{alignment} environments are started on the same page. Should
+% this happen, any subsequent \env{alignment} environment must be set
+% with the |flush| option so that every one of them carry its own
+% apparatus criticus.
 %
-% As an example, what follows sets |[]| for deletions and |...| for
-% lacunae:---
-% 
+% As an example, the alignment of the Latin edition text of Caesar's
+% \emph{Gallic War}, printed on left-hand pages, along with two
+% translations into English and French, printed on right-hand pages,
+% can be set as follows:---
 % \iffalse
 %<*example>
 % \fi
 \begin{minted}[linenos=false]{latex}
-\SetCritSymbols{
-  delbegin = [,
-  delend = ],
-  gapmark = \dots
-}
+\begin{alignment}[tcols=3,
+                  lcols=1,
+                  texts=latin[xml:lang="la"];
+                        english[xml:lang="en"];
+                        french[xml:lang="fr"],
+                  apparatus=latin,
+                  lineation=page]
+  \begin{latin}
+    Gallia est omnis divisa in partes tres quarum unam incolunt
+    Belgae, [...]
+  \end{latin}
+  \begin{english}
+    All Gaul is divided into three parts, one of which the Belgae
+    inhabit, [...]
+  \end{english}
+  \begin{french}
+    L'ensemble de la Gaule est divisé en trois parties: l'une est
+    habitée par les Belges, [...]
+  \end{french}
+\end{alignment}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
 %
-% \danger If modified, brackets can be adapted to languages that are
-% written from right to left. To that effect, \pkg{ekdosis} provides a
-% boolean expression |al@rlmode| which is evaluated as |true| if the
-% writing direction is set from right to left and as |false|
-% otherwise. As the \pkg{etoolbox} package is loaded by \pkg{ekdosis},
-% \cs{ifboolean}|{al@rlmode}|\marg{rtl symbol}\marg{ltr symbol} can be
-% used to perform the test.
-%
-% \paragraph{Editorial Addition}
-% \DescribeMacro{\supplied}\newfeature[v1.1]\cs{supplied}\marg{text}
-% is used to mark \meta{text} that is by definition missing from the
-% tradition as supplied by the editor or some other scholar. This
-% command is normally expected in \cs{lem}|{}| or \cs{rdg}|{}|.
-%
-% \paragraph{Editorial Deletion}
-% \DescribeMacro{\surplus}\newfeature[v1.1] \cs{surplus}\marg{text}
-% is used to mark \meta{text} that is deemed to be inauthentic, but
-% nevertheless retained between braces in the edition text as it is
-% transmitted by all witnesses. This command is normally expected in
-% \cs{lem}|{}| or \cs{rdg}|{}|.
-%
-% \paragraph{Crux}
-% \DescribeMacro{\sic}\newfeature[v1.1] \cs{sic}\marg{text} takes as
-% mandatory argument the text deemed by the editor to be readable but
-% not understandable. \cs{sic} inserts \meta{text} between cruces
-% while \cs{sic*} prints only one crux before \meta{text}.
-%
-% \paragraph{Lacuna}
-% \DescribeMacro{\gap}\newfeature[v1.1] \cs{gap}\marg{csv list of
-% options} indicates that some amount of text has fallen away from the
-% entire tradition. It takes as mandatory argument a comma-separated
-% list of options that can be used to further specify the reason for
-% omission, the unit of measurement, the quantity or the extent, as
-% follows:---\\
-% \DescribeOption{reason}|reason|$=$\meta{reason}\\
-% |reason| gives the reason for omission.\\
-% \DescribeOption{unit} |unit|$=$\meta{unit}\\
-% |unit| provides some regularized measurement, such as |character|,
-% |word|, |line| and the like.
-% \DescribeOption{quantity} |quantity|$=$\meta{n}\\
-% |quantity| specifies the number of the given unit that comprise the
-% measurement.\\
-% \DescribeOption{extent} |extent|$=$\meta{description}\\
-% |extent| describes the size, including quantity and unit in a single
-% string of words.
-%
-% \paragraph{Conjectured Lacuna}
-% Assumably, the conjectured lacuna should be enclosed by
-% \cs{supplied} and as such contained by \cs{lem} with
-% |type=emendation| to indicate that the lacuna has been accepted by
-% the editor.
-%
-% Examples follow:---
-%
+% \DescribeMacro{\SetAlignment}
+% \cs{SetAlignment}\marg{alignment settings}\\
+% If the same alignment settings are to be shared by several
+% \env{alignment} environments, common settings can be collected in
+% the argument of \cs{SetAlignment}, like
+% so:---\\
 % \iffalse
 %<*example>
 % \fi
-\begin{minted}{latex}
-% Preamble:
-\DeclareShorthand{egomute}{\unskip}{ego}
-
-% Document:
-\begin{ekdosis}
-  σχεδὸν \app{
-    \lem[resp=egomute, nosep, post={post σχεδὸν quattuor uerba
-      excidisse uid.}, type=emendation]{\supplied{\gap{reason=lost,
-          unit=word, quantity=4}}}
-  } οὗτοι
-
-  subsidiis magnis \sic*{epicuri} constabilitas
-
-  declinare quis est qui \sic{possit cernere sese}.
-
-  \app{
-    \lem[resp=egomute, type=emendation, nosep, post={ante
-      ὑπογίν.}]{\surplus{καὶ}}
-    \note{deleui e Gal.P}
-  } ὑπογίνονται
-
-  Πάντων δὲ \app{
-    \lem[resp=egomute, type=emendation, post={addidi (\arb{^gamI`a
-        'l-.hummayAti} Gal.)}]{\supplied{τῶν πυρετῶν}}
-    \rdg[nordg, source=Gal]{\arb{^gamI`a 'l-.hummayAti}}
-    \rdg[wit=codd, source=edd, alt=om.]{}
-  },
-\end{ekdosis}
+\begin{minted}[linenos=false]{latex}
+\SetAlignment{
+  tcols=3,
+  lcols=1,
+  texts=latin[xml:lang="la"];
+        english[xml:lang="en"];
+        french[xml:lang="fr"],
+  apparatus=latin,
+  lineation=page
+}
+\begin{alignment}
+  ...
+\end{alignment}
 \end{minted}
 % \iffalse
 %</example>
 % \fi
 %
-% PDF output:---
-% \medskip
-% \needspace{7\baselineskip}
-% \resetlinenumber
-% \begin{alignment}[flush,tcols=1,texts=specimen,apparatus=specimen]
-%   \begin{specimen}
-%  σχεδὸν \app{
-%    \lem[resp=egomute, nosep, post={post σχεδὸν quattuor uerba
-%      excidisse uid.}, type=emendation]{\supplied{\gap{reason=lost,
-%          unit=word, quantity=4}}}
-%  } οὗτοι
-%
-%  subsidiis magnis \sic*{epicuri} constabilitas
-%
-%  declinare quis est qui \sic{possit cernere sese}.
-%
-%  \app{
-%    \lem[resp=egomute, type=emendation, nosep, post={ante
-%      ὑπογίν.}]{\surplus{καὶ}}
-%    \note{deleui e Gal.P}
-%  } ὑπογίνονται
-%
-%
-%  Πάντων δὲ \app{
-%    \lem[resp=egomute, type=emendation, post={addidi (\arb{^gamI`a
-%        'l-.hummayAti} Gal.)}]{\supplied{τῶν πυρετῶν}}
-%    \rdg[nordg, source=Gal]{\arb{^gamI`a 'l-.hummayAti}}
-%    \rdg[wit=hcodd, source=hedd, alt=om.]{}
-%  },
-%   \end{specimen}
-% \end{alignment}
-%
-% \texttt{TEI xml} ouput:---
+% \cs{SetAlignment} can be used either in the preamble or at
+% any point of the document to set or to modify alignment settings.
 %
+% \subsubsection{Appending Hooks to Environments}
+% \label{sec:alignment-hooks}
+% \DescribeMacro{\AtBeginEnvironment} Once environments corresponding
+% to texts to be aligned have been defined, it is advisable to use the
+% \cs{AtBeginEnvironment}\marg{environment}\marg{code} command to
+% further adjust languages, hyphenation rules, and/or fonts to be
+% applied in each environment. To return to the example provided
+% above, once \cs{SetAlignment} has been used, the languages can be
+% set as follows:---
+% 
 % \iffalse
 %<*example>
 % \fi
-\begin{minted}[linenos=false]{xml}
-<p>σχεδὸν 
-<app>
-  <lem resp="#ego" type="emendation">
-    <supplied>
-      <gap reason="lost" unit="word" quantity="4" />
-    </supplied>
-  </lem>
-</app>οὗτοι</p>
-<p>subsidiis magnis 
-<sic>epicuri</sic> constabilitas</p>
-<p>declinare quis est qui 
-<sic>possit cernere sese</sic>.</p>
-<p>
-<app>
-  <lem resp="#ego" type="emendation">
-    <surplus>καὶ</surplus>
-  </lem>
-  <note>deleui e Gal.P</note>
-</app>ὑπογίνονται</p>
-<p>Πάντων δὲ 
-<app>
-  <lem resp="#ego" type="emendation">
-    <supplied>τῶν πυρετῶν</supplied>
-  </lem>
-  <rdg source="#Gal">
-    <foreign xml:lang="ar-Latn" type="transliterated"
-    subtype="arabtex">^gamI`a 'l-.hummayAti</foreign>
-  </rdg>
-  <rdg wit="#V #I #R #H" source="#Lit #Erm #Sm" />
-</app>,</p>
+\begin{minted}[linenos=false]{latex}
+\AtBeginEnvironment{latin}{\selectlanguage{latin}}
+\AtBeginEnvironment{english}{\selectlanguage{english}}
+\AtBeginEnvironment{french}{\selectlanguage{french}}
 \end{minted}
 % \iffalse
 %</example>
@@ -5555,7 +5554,6 @@ Sample text with a \textcolor{red}{word} in red.
 % \RequirePackage{expkv-def} % already loaded above
 \RequirePackage{luacode}
 \RequirePackage{paracol}
-\RequirePackage{xparse}
 \RequirePackage{etoolbox}
 \RequirePackage{lineno}
 \RequirePackage{keyfloat}
@@ -5563,7 +5561,6 @@ Sample text with a \textcolor{red}{word} in red.
 \RequirePackage{zref-user}
 \RequirePackage{zref-abspage}
 \RequirePackage{ltxcmds}
-\RequirePackage{atbegshi}
 \RequirePackage{ifoddpage}
 \if@pkg@parnotes
   \RequirePackage{parnotes}
-- 
cgit v1.2.3