From 4109f2797cdb006d70dd2115c5ba63cac6ddafb4 Mon Sep 17 00:00:00 2001
From: Robert Alessi <alessi@robertalessi.net>
Date: Fri, 4 Sep 2020 12:29:08 +0200
Subject: new section Variae Questiones

---
 ekdosis.dtx | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 69 insertions(+), 10 deletions(-)

(limited to 'ekdosis.dtx')

diff --git a/ekdosis.dtx b/ekdosis.dtx
index 0fc51ae..620fc2b 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -2599,11 +2599,14 @@ texts=latin[xml:lang="la"]+\textcolor{red}{;}+
 % indentation of one em.
 %
 % \DescribeMacro{\SetEndApparatus}
+% \label{ref:setendapparatus}
 % \cs{SetEndApparatus}\marg{characters} can be used to append
 % \meta{characters} at the end of the apparatus block. By default,
-% nothing is appended. As an example of use, |\SetEndApparatus{.}|
-% will have a period printed at the end of the apparatus as it is
-% customary in some editions.
+% nothing is appended. \label{ref:ending-dot}As an example of use,
+% |\SetEndApparatus{.}| will have a period printed at the end of the
+% apparatus as it is customary in some
+% editions.\footnote{\label{fn:rm-dots}See also below
+% \vpageref{sec:superfluous-dots} on how to remove superfluous dots.}
 %
 % \DescribeMacro{\SetUnitDelimiter}
 % \cs{SetUnitDelimiter}\marg{delimiter} can be used to set the
@@ -2644,7 +2647,8 @@ texts=latin[xml:lang="la"]+\textcolor{red}{;}+
 % apparatus block.\\
 % \DescribeOption{ehook} |ehook|$=$\meta{characters}
 % \hfill\tcboxverb{Default: empty}\\
-% The characters to be appended at the end of the apparatus block.\\
+% The characters to be appended at the end of the apparatus
+% block.\footnote{See also n.~\vref{fn:rm-dots}.}\\
 % \DescribeOption{rule} |rule|$=$\meta{command}\verb+|+|none|
 % \hfill\tcboxverb{Default: \rule{0.4\columnwidth}{0.4pt}}\\
 % As described above, |rule| is used to draw the separating line
@@ -3836,8 +3840,8 @@ subtype="arabtex">'inna 'abI kAna mina
 % run a test is performed on this auxliary file to determine whether
 % there are entries\---and if so, which ones\---to be printed on the
 % current page. At the same time, references to the line numbers are
-% updated if necessary. Then, on the third run, the apparatus criticus
-% is printed.
+% updated if necessary. Finally, on the third run, the apparatus
+% criticus is printed.
 %
 % Of course, every change made to the input may similarly require
 % \hologo{LuaLaTeX} to be run three more times to get everything to
@@ -3879,10 +3883,10 @@ subtype="arabtex">'inna 'abI kAna mina
 % vertical spaces may come between the edition text and the apparatus
 % criticus. Conversely, |maxentries| must not be too big: otherwise,
 % should entries overflow on a given page, the edition text and the
-% apparatus criticus may clash. As said above, a couple of clashes can
-% be managed with a couple of manually inserted page breaks. But if
-% there are too many ot them, it is a good indication that the
-% selected value of |maxentries| is too to high.
+% apparatus criticus may clash again. As said above, a couple of
+% clashes can be managed with a couple of manually inserted page
+% breaks. But if there are too many ot them, it is a good indication
+% that the selected value of |maxentries| is too to high.
 %
 % Complex edition texts do have a magic number. An advisable way to
 % figure it out would be to start from a sample of only a few pages,
@@ -3913,6 +3917,61 @@ subtype="arabtex">'inna 'abI kAna mina
 % many of them and \pkg{ekdosis} still oscillates between different
 % sets of page decisions.
 %
+% \subsection{Variae Quaestiones}
+% \label{sec:variae-quaestiones}
+% This section is about issues that are not strictly speaking part of
+% the documentation of \pkg{ekdosis} but may nevertheless
+% circumstancially arise.
+%
+% \paragraph{Superfluous Dots}
+% \label{sec:superfluous-dots}
+% As said above \vpageref{ref:ending-dot}, it is customary in some
+% editions to have a full stop printed at the end of the apparatus
+% criticus. \pkg{ekdosis} provides specific commands to achieve this
+% in a straightforward way, such as \cs{SetEndApparatus} and the
+% |ehook| optional argument of \cs{SetApparatus} and
+% \cs{DeclareApparatus}.\footnote{See above on pages
+% \pageref{ref:setendapparatus}, \pageref{ref:apparatus-settings-b}
+% and \pageref{sec:declaring-layers} respectively.} However, if the
+% last word of the apparatus criticus on a given page be an
+% abbreviation followed by a dot, such a setting will have two dots
+% printed at the end of the apparatus instead of one. The solution is
+% to define a command to have a dot printed only if it is not followed
+% by a dot, and append this command to the abbreviated form of the
+% word, like so:---
+% 
+% \iffalse
+%<*example>
+% \fi
+\begin{minted}{latex}
+% Preamble:
+\usepackage{xspace}
+\usepackage{ekdosis}
+
+\makeatletter
+\newcommand{\ekddot}{%
+  \ltx@ifnextchar{.}{\xspace}{.\xspace}}
+\makeatother
+
+\DeclareApparatus{default}[ehook=.]
+\DeclareScholar{Erm}{Erm\ekddot}
+\end{minted}
+% \iffalse
+%</example>
+% \fi
+%
+% \begin{remarks}
+% \item Line~2: The \pkg{xspace} package is needed for \cs{xspace} is
+%   used by the \cs{ekddot} command that is defined at l.~6.
+% \item Line~7: \cs{ltx@ifnextchar} is part of the \pkg{ltxcmds}
+%   package which is loaded by \pkg{ekdosis}. As this command uses a
+%   private control sequence, it must be found within
+%   \cs{makeatletter} \dots\ \cs{makeatother}.
+% \item Line~10: \cs{ekddot} will only work with multiple-layer
+%   apparatus criticus. Therefore, \cs{DeclareAppa{\allowbreak}ratus}
+%   must be used even if only one layer of critical notes is needed.
+% \end{remarks}
+%
 % \section{\texttt{TEI xml} Output}
 % \label{sec:teixml-output}
 % Several examples of \texttt{TEI xml} output have been provided
-- 
cgit v1.2.3

