From 0bb0349f8bfaceac713f00dc42c9dc7c5f17aa4d Mon Sep 17 00:00:00 2001 From: Robert Alessi 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 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 @@

Installation

  1. Run 'latex ekdosis.ins' to produce the ekdosis.sty and ekdosis.lua files.

  2. -
  3. To finish the installation you have to move the ekdosis.sty and ekdosis.lua files into a directory where LaTeX can find it. See the FAQ on texfaq.org at https://texfaq.org/FAQ-inst-wlcf for more on this.

  4. +
  5. To finish the installation you have to move the ekdosis.sty and 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.

Development, Git Repository

Browse the Code

diff --git a/ekdosis.dtx b/ekdosis.dtx index 5a7282e..4319887 100644 --- a/ekdosis.dtx +++ b/ekdosis.dtx @@ -1712,803 +1712,802 @@ yesterday. % % \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 || +% or || 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 % % \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 % % \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} -
-
- XIII -

In omni Gallia eorum hominum qui - - aliquo - in aliquo - sunt numero atque honore genera sunt duo. Nam - plebes paene seruorum habetur loco, quae - - nihil audet per se - nihil aut et per se - nihil habet per se - per se nihil audet - , - - nullo - nulli - adhibetur - - consilio - concilio - .

-
-
-
-
- XIII -

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.

-
-
+\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 % % \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 |
| 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 -% -% \fi -% will be converted into \texttt{TEI xml} as follows:--- % \iffalse %<*example> % \fi \begin{minted}[linenos=false]{xml} -
-... -
-
-... -
-
-... -
+

καὶ ἐγίνετο μᾶλλον + + νότῳ + νότου + ἐν νώτῳ +· [...]

+

εἰ + + μὲν + + μὴ +εἴη διὰ ταῦτα [...]

\end{minted} % \iffalse % % \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 % % \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 -% -% \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 -% -% \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 || -% or || 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 -% -% \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 -% -% \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 % % \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} -

καὶ ἐγίνετο μᾶλλον - - νότῳ - νότου - ἐν νώτῳ -· [...]

-

εἰ +

σχεδὸν - μὲν - - μὴ -εἴη διὰ ταῦτα [...]

-\end{minted} -% \iffalse -% -% \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} + + + + + +οὗτοι

+

subsidiis magnis +epicuri constabilitas

+

declinare quis est qui +possit cernere sese.

+

+ + + καὶ + + deleui e Gal.P +ὑπογίνονται

+

Πάντων δὲ + + + τῶν πυρετῶν + + + ^gamI`a 'l-.hummayAti + + +,

+\end{minted} +% \iffalse +% +% \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 +% +% \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 +% +% \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} +
+
+ XIII +

In omni Gallia eorum hominum qui + + aliquo + in aliquo + sunt numero atque honore genera sunt duo. Nam + plebes paene seruorum habetur loco, quae + + nihil audet per se + nihil aut et per se + nihil habet per se + per se nihil audet + , + + nullo + nulli + adhibetur + + consilio + concilio + .

+
+
+
+
+ XIII +

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{minted} +% \iffalse +% +% \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 |
| 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 +% +% \fi +% will be converted into \texttt{TEI xml} as follows:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{xml} +
+... +
+
+... +
+
+... +
+\end{minted} +% \iffalse +% +% \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 % % \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 % % \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} -

σχεδὸν - - - - - - -οὗτοι

-

subsidiis magnis -epicuri constabilitas

-

declinare quis est qui -possit cernere sese.

-

- - - καὶ - - deleui e Gal.P -ὑπογίνονται

-

Πάντων δὲ - - - τῶν πυρετῶν - - - ^gamI`a 'l-.hummayAti - - -,

+\begin{minted}[linenos=false]{latex} +\AtBeginEnvironment{latin}{\selectlanguage{latin}} +\AtBeginEnvironment{english}{\selectlanguage{english}} +\AtBeginEnvironment{french}{\selectlanguage{french}} \end{minted} % \iffalse % @@ -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