aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2020-06-26 09:38:37 +0200
committerRobert Alessi <alessi@robertalessi.net>2020-06-26 09:38:37 +0200
commitf33fc352fc0dd9fbc89b07d3ee297158f89957bf (patch)
tree1c095ba60348f87c8cfcf929f875ff569880a41b
parentf8fe1bb72b9a5790c579781fa64440c6a5ef28f5 (diff)
downloadekdosis-f33fc352fc0dd9fbc89b07d3ee297158f89957bf.tar.gz
more options in \DeclareApparatus. still documenting
-rw-r--r--Makefile1
-rw-r--r--ekdosis.dtx959
2 files changed, 777 insertions, 183 deletions
diff --git a/Makefile b/Makefile
index 1377980..fe0b2cc 100644
--- a/Makefile
+++ b/Makefile
@@ -25,6 +25,7 @@ $(NAME).pdf: $(NAME).dtx
25 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null 25 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
26 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null 26 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
27 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null 27 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
28 $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null
28 29
29clean: 30clean:
30 rm -rf auto 31 rm -rf auto
diff --git a/ekdosis.dtx b/ekdosis.dtx
index 337be6b..3713787 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -79,19 +79,20 @@ along with this program. If not, see
79%<*driver> 79%<*driver>
80\begin{filecontents}[overwrite]{\jobname.bib} 80\begin{filecontents}[overwrite]{\jobname.bib}
81@Article{Alessi2020, 81@Article{Alessi2020,
82 author = {Alessi, Robert},
82 title = {ekdosis: Using Lua\LaTeX{} for Producing \texttt{TEI 83 title = {ekdosis: Using Lua\LaTeX{} for Producing \texttt{TEI
83 xml} Compliant Critical Editions and Highlighting 84 xml} Compliant Critical Editions and Highlighting
84 Parallel Writings}, 85 Parallel Writings},
85 author = {Alessi, Robert},
86 journaltitle = {Journal of Data Mining and Digital Humanities}, 86 journaltitle = {Journal of Data Mining and Digital Humanities},
87 year = 2020,
88 pubstate = {submitted},
87 issuetitle = {Collecting, Preserving, and Disseminating Endangered 89 issuetitle = {Collecting, Preserving, and Disseminating Endangered
88 Cultural Heritage for New Understandings through 90 Cultural Heritage for New Understandings through
89 Multilingual Approaches}, 91 Multilingual Approaches},
90 date = 2020, 92 eprinttype = {hal},
91 pubstate = {submitted}, 93 eprint = {hal-02779803}
92 eprint = {hal-02779803},
93 eprinttype = {hal}
94} 94}
95
95@Online{DLL-TC, 96@Online{DLL-TC,
96 author = {{Digital Latin Library}}, 97 author = {{Digital Latin Library}},
97 title = {Textual Criticism}, 98 title = {Textual Criticism},
@@ -111,8 +112,21 @@ along with this program. If not, see
111 organization = {Society for Classical Studies} 112 organization = {Society for Classical Studies}
112} 113}
113\end{filecontents} 114\end{filecontents}
114\begin{filecontents}[overwrite]{ekdosis-cfg.tex} 115\begin{filecontents}[overwrite]{\jobname-cfg.tex}
115 116\footnotelayout{m}
117\DeclareApparatus{default}[
118 delim=\hskip0.75em,
119 ehook=.]
120\DeclareWitness{M}{M}{\emph{Marcianus Gr.} 269}[
121 settlement=Venice,
122 institution=Marciana Library,
123 msName=\emph{Marcianus Gr.},
124 idno=269,
125 origDate=s. X]
126\DeclareHand{M1}{M}{M\textsuperscript{1}}[Emendatio scribae ipsius]
127\DeclareHand{M2}{M}{M\textsuperscript{2}}[Manus posterior]
128\DeclareWitness{pjA}{A}{Manuscript A Call No 123}
129\DeclareWitness{pjB}{B}{Manuscript B Call No 456}
116\end{filecontents} 130\end{filecontents}
117\documentclass{ltxdoc} 131\documentclass{ltxdoc}
118\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry} 132\usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry}
@@ -140,11 +154,12 @@ along with this program. If not, see
140\def\sg#1{\textancientgreek{#1}} 154\def\sg#1{\textancientgreek{#1}}
141\usepackage[Old Standard]{mathfont} 155\usepackage[Old Standard]{mathfont}
142\usepackage{arabluatex} 156\usepackage{arabluatex}
143\usepackage{ekdosis} 157\usepackage[teiexport=tidy]{ekdosis}
144\footnotelayout{m}
145\input{ekdosis-cfg} 158\input{ekdosis-cfg}
159\usepackage{xltabular}
146\usepackage[prevent-all]{widows-and-orphans} 160\usepackage[prevent-all]{widows-and-orphans}
147\usepackage[shortcuts,nospacearound]{extdash} 161\usepackage[shortcuts,nospacearound]{extdash}
162\usepackage[american]{isodate}
148\usepackage{csquotes} 163\usepackage{csquotes}
149\usepackage{enumitem} 164\usepackage{enumitem}
150\setlist{nosep} 165\setlist{nosep}
@@ -170,10 +185,16 @@ along with this program. If not, see
170 pdftype={Text} 185 pdftype={Text}
171} 186}
172\usepackage{uri} 187\usepackage{uri}
173\usepackage[nospace,american]{varioref}
174\labelformat{section}{sect.~#1} 188\labelformat{section}{sect.~#1}
189\labelformat{subsection}{sect.~#1}
190\labelformat{subsubsection}{sect.~#1}
191\labelformat{figure}{fig.~#1}
192\usepackage[nospace,american]{varioref}
175\usepackage[style=ext-verbose-inote]{biblatex} 193\usepackage[style=ext-verbose-inote]{biblatex}
176\usepackage[symbolpackage=tikz]{biblatex-ext-oa} 194\usepackage[symbolpackage=tikz]{biblatex-ext-oa}
195\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcomma\space}
196\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space}
197\renewcommand*\newunitpunct{\addcomma\space}
177\newcommand*{\halurl}[1]{http://hal.archives-ouvertes.fr/#1} 198\newcommand*{\halurl}[1]{http://hal.archives-ouvertes.fr/#1}
178\DeclareFieldFormat{eprint:hal}{% 199\DeclareFieldFormat{eprint:hal}{%
179 \ifhyperref 200 \ifhyperref
@@ -236,21 +257,51 @@ along with this program. If not, see
236\usepackage{multicol} 257\usepackage{multicol}
237\usepackage{tocloft} 258\usepackage{tocloft}
238\newlistof{listing}{lol}{List of listings} 259\newlistof{listing}{lol}{List of listings}
260\renewcommand\cfttocprehook{\begin{multicols}{2}}
261\renewcommand\cfttocposthook{\end{multicols}}
262\renewcommand\cfttoctitlefont{\Large\bfseries}
239\renewcommand\cftlolprehook{\begin{multicols}{2}} 263\renewcommand\cftlolprehook{\begin{multicols}{2}}
240\renewcommand\cftlolposthook{\end{multicols}} 264\renewcommand\cftlolposthook{\end{multicols}}
241\renewcommand\cftloltitlefont{\Large\bfseries} 265\renewcommand\cftloltitlefont{\Large\bfseries}
242\usepackage{relsize} 266\usepackage{relsize}
243\usepackage{units} 267\usepackage{units}
268\usepackage{fbox}
244\usepackage{tikz} 269\usepackage{tikz}
270\usetikzlibrary{tikzmark}
271\NewDocumentCommand{\pointto}{m}{%
272 \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to
273 ([shift={(0.5em,0pt)}]pic cs:#1);%
274 \tikz[remember picture] \draw[color=gray, overlay]
275 ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];}
276\NewDocumentCommand{\pointtor}{m}{%
277 \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to
278 [bend left] ([shift={(0.5em,0pt)}]pic cs:#1);%
279 \tikz[remember picture] \draw[color=gray, overlay]
280 ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];}
281\NewDocumentCommand{\pointtol}{m}{%
282 \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to
283 [bend right] ([shift={(0.5em,0pt)}]pic cs:#1);%
284 \tikz[remember picture] \draw[color=gray, overlay]
285 ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];}
286\NewDocumentCommand{\pointtoel}{m}{%
287 \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to
288 [bend right] ([shift={(0em,0pt)}]pic cs:#1);%
289 \tikz[remember picture] \draw[color=gray, overlay]
290 ([shift={(-0.5em,0.5ex)}]pic cs:#1) ellipse [x radius=45pt, y
291 radius=6pt];}
245\usepackage[breakable, skins, xparse]{tcolorbox} 292\usepackage[breakable, skins, xparse]{tcolorbox}
293\tcbset{colback=white, boxrule=.15mm, colframe=cinnamon,
294 breakable}
246\usepackage[newfloat]{minted} 295\usepackage[newfloat]{minted}
296\labelformat{listing}{listing~#1}
247\setminted{bgcolor=ekdcolor,linenos, fontsize=\small} 297\setminted{bgcolor=ekdcolor,linenos, fontsize=\small}
248\newminted[ekdlua]{lua}{bgcolor={}, linenos, fontsize=\relsize{-0.5}, 298\newminted[ekdlua]{lua}{bgcolor={}, linenos, fontsize=\relsize{-0.5},
249 xleftmargin=12pt, breaklines, numberblanklines=false, numbersep=3pt, 299 xleftmargin=12pt, breaklines, numberblanklines=false, numbersep=3pt,
250 firstnumber=last} 300 firstnumber=last}
251\renewcommand{\theFancyVerbLine}{\rmfamily\smaller\arabic{FancyVerbLine}} 301\renewcommand{\theFancyVerbLine}{\rmfamily\smaller\arabic{FancyVerbLine}}
252\usepackage[contents]{colordoc} 302\usepackage[contents]{colordoc}
253\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} 303\newcommand{\pkg}[1]{\textsf{#1}\index{#1=#1 (package)}}
304\newcommand{\env}[1]{\texttt{#1}}
254\backgroundcolor{c}{ekdcolor} 305\backgroundcolor{c}{ekdcolor}
255\usepackage{caption} 306\usepackage{caption}
256\captionsetup[listing]{position=above,skip=-1ex} 307\captionsetup[listing]{position=above,skip=-1ex}
@@ -262,30 +313,30 @@ along with this program. If not, see
262 \captionof{#1}{#2}% 313 \captionof{#1}{#2}%
263 #3% 314 #3%
264 \egroup} 315 \egroup}
265\usepackage{etoc} 316% \usepackage{etoc}
266\etocsettocdepth{paragraph} 317% \etocsettocdepth{paragraph}
267\newcommand{\ekdtableofcontents}{% 318% \newcommand{\ekdtableofcontents}{%
268 \begingroup 319% \begingroup
269 \etocsetstyle{section}{}{} 320% \etocsetstyle{section}{}{}
270 {\etocsavedsectiontocline{% 321% {\etocsavedsectiontocline{%
271 \numberline{\etocnumber}\etocname}{\etocpage}}{} 322% \numberline{\etocnumber}\etocname}{\etocpage}}{}
272 \etocsetstyle{subsection}{}{} 323% \etocsetstyle{subsection}{}{}
273 {\etocsavedsubsectiontocline{% 324% {\etocsavedsubsectiontocline{%
274 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 325% \numberline{\etocnumber}\etocname}{\etocpage}}{}%
275 \etocsetstyle{subsubsection}{}{} 326% \etocsetstyle{subsubsection}{}{}
276 {\etocsavedsubsubsectiontocline{% 327% {\etocsavedsubsubsectiontocline{%
277 \numberline{\etocnumber}\etocname}{\etocpage}}{}% 328% \numberline{\etocnumber}\etocname}{\etocpage}}{}%
278 \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip 329% \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip
279 0pt plus 1fil\relax \nobreak} 330% 0pt plus 1fil\relax \nobreak}
280 {\noindent\etocname{} \etocpage{} }{\par}% 331% {\noindent\etocname{} \etocpage{} }{\par}%
281 \etocmulticolstyle[2]{\section*{Contents}} 332% \etocmulticolstyle[2]{\section*{Contents}}
282 \pdfbookmark[1]{Contents}{toc} 333% \pdfbookmark[1]{Contents}{toc}
283 \tableofcontents 334% \tableofcontents
284 \endgroup} 335% \endgroup}
285\EnableCrossrefs 336\EnableCrossrefs
286\CodelineIndex 337\CodelineIndex
287\RecordChanges 338\RecordChanges
288% \OnlyDescription 339 %\OnlyDescription
289\begin{document} 340\begin{document}
290 \DocInput{\jobname.dtx} 341 \DocInput{\jobname.dtx}
291 \PrintChanges 342 \PrintChanges
@@ -328,19 +379,19 @@ along with this program. If not, see
328% \metapick[print]{titletext} 379% \metapick[print]{titletext}
329% \end{tcolorbox} 380% \end{tcolorbox}
330% 381%
331% \ekdtableofcontents 382% \tableofcontents
332% \listoflistings 383% \listoflistings
333% 384%
334%\changes{v1.00}{2020/07/01}{First public release} 385%\changes{v1.00}{2020/07/01}{First public release}
335% 386%
336% \begin{abstract} 387% \begin{abstract}
337% \package{ekdosis} is a Lua\LaTeX{} package designed for 388% \pkg{ekdosis} is a Lua\LaTeX{} package designed for
338% multilingual critical editions. It can be used to typeset texts 389% multilingual critical editions. It can be used to typeset texts
339% and different layers of critical notes in any direction accepted 390% and different layers of critical notes in any direction accepted
340% by Lua\TeX. Texts can be arranged in running paragraphs or on 391% by Lua\TeX. Texts can be arranged in running paragraphs or on
341% facing pages, in any number of columns which in turn can be 392% facing pages, in any number of columns which in turn can be
342% synchronized or not. In addition to printed texts, 393% synchronized or not. In addition to printed texts,
343% \package{ekdosis} can convert \texttt{.tex} source files so as to 394% \pkg{ekdosis} can convert \texttt{.tex} source files so as to
344% produce \texttt{TEI xml} compliant critical 395% produce \texttt{TEI xml} compliant critical
345% editions. Database-driven encoding under \LaTeX{} then allows 396% editions. Database-driven encoding under \LaTeX{} then allows
346% extraction of texts entered segment by segment according to 397% extraction of texts entered segment by segment according to
@@ -349,18 +400,18 @@ along with this program. If not, see
349% terms of the GNU General Public License (GPL) version 3. 400% terms of the GNU General Public License (GPL) version 3.
350% \end{abstract} 401% \end{abstract}
351% 402%
352% \section*{License and disclaimer} 403% \section*{License and Disclaimer}
353% \addcontentsline{toc}{section}{License and disclamer} 404% \addcontentsline{toc}{section}{License and disclamer}
354% \subsection*{License applicable to this document} 405% \subsection*{License Applicable to this Document}
355% \pdfbookmark[2]{Licence applicable to this document}{copyright-doc} 406% \pdfbookmark[2]{Licence applicable to this document}{copyright-doc}
356% \leavevmode\marginpar{\hfill\texttt{fdl1.3}} 407% \leavevmode\marginpar{\hfill\texttt{fdl1.3}}
357% \metapick[print]{rightstext} (See below \vref{sec:fdl}.) 408% \metapick[print]{rightstext} (See below \vref{sec:fdl}.)
358% 409%
359% \subsection*{License applicable to the software} 410% \subsection*{License Applicable to the Software}
360% \pdfbookmark[2]{Licence applicable to the software}{copyright-soft} 411% \pdfbookmark[2]{Licence applicable to the software}{copyright-soft}
361% \label{sec:license-software} 412% \label{sec:license-software}
362% 413%
363% \package{ekdosis} --- \metapick[print]{subtitle} 414% \pkg{ekdosis} --- \metapick[print]{subtitle}
364% \metapick[print]{copyrightstatement} 415% \metapick[print]{copyrightstatement}
365% 416%
366% Please send error reports and suggestions for improvements to Robert 417% Please send error reports and suggestions for improvements to Robert
@@ -386,9 +437,10 @@ along with this program. If not, see
386% 437%
387% You should have received a copy of the GNU General Public License 438% You should have received a copy of the GNU General Public License
388% along with this program. If not, see 439% along with this program. If not, see
389% \href{http://www.gnu.org/licenses}{\texttt{<http://www.gnu.org/licenses/>}}. 440% \href{http://www.gnu.org/licenses}%
441% {\texttt{<http://www.gnu.org/licenses/>}}.
390% 442%
391% This release of \package{ekdosis} consists of the following 443% This release of \pkg{ekdosis} consists of the following
392% source files: 444% source files:
393% \begin{itemize} 445% \begin{itemize}
394% \item |ekdosis.ins| 446% \item |ekdosis.ins|
@@ -399,54 +451,55 @@ along with this program. If not, see
399% \section{Introduction} 451% \section{Introduction}
400% \label{sec:introduction} 452% \label{sec:introduction}
401% \begin{comment} 453% \begin{comment}
402% \begin{keyfigure}{c={Grid Typesetting (which never came into 454% \begin{keyfigure}{l={fig:grid-typesetting},c={Grid Typesetting
403% existence)}, t={Each square in the grid has a side length of 455% (which never came into existence)}, t={Each square in the grid
404% \unit[10]{pt}. Therefore, the distance between the last line of 456% has a side length of \unit[10]{pt}. Therefore, the distance
405% the text and the first line of the apparatus is here 457% between the last line of the text and the first line of the
406% approximately \unit[25]{pt}.}} 458% apparatus is here approximately \unit[25]{pt}.}}
407% \centering 459% \centering
408% \begin{tikzpicture} 460% \begin{tikzpicture}
409% \draw[gainsboro,thin] (0.5,0.5) grid [step=10pt] (10,5); % 461% \draw[gainsboro,thin] (0.5,0.5) grid [step=10pt] (10,5); %
410% \path node [align=justify, text width=8cm] at (5.5,3) {% 462% \path node [align=justify, text width=8cm] at (5.5,3) {%
411% I saw my friend Peter at the station yesterday. I saw my 463% I saw my friend Peter at the station yesterday. We were both
412% friend Peter at the station yesterday. I saw my friend Peter 464% in a great mood. \enquote{How nice to find you here!} he
413% at the station yesterday. I saw my friend Peter at the station 465% said. I chuckled to myself, recalling the last time we
414% yesterday.\par 466% met.\par
415% \rule{3cm}{0.01cm}\par\footnotesize% 467% \rule{3cm}{0.01cm}\par\footnotesize%
416% \textbf{1}~Peter A: John B\ \ \textbf{2}~Peter A: John B \ \ 468% \textbf{1}~saw A] met B\hskip1em Peter A] John B \hskip1em
417% \textbf{3}~Peter A: John B\ \ \textbf{4}~Peter A: John B}; 469% \textbf{2}~great A] good B\hskip1em \textbf{2--3}~How
418% \node at (0,3) {\scriptsize $\approx$ \unit[25]{pt}}; \draw 470% nice... said A] \emph{om.} B\hskip1em \textbf{4} \emph{post}
419% [->] (0,2.875) -- (0,2.025); 471% met \emph{add.} there B.}; \node at (0,3) {\scriptsize
472% $\approx$ \unit[25]{pt}}; \draw [->] (0,2.875) -- (0,2.025);
420% \end{tikzpicture} 473% \end{tikzpicture}
421% \end{keyfigure} 474% \end{keyfigure}
422% \end{comment} 475% \end{comment}
423% 476%
424%
425% The reader will find here, by way of introduction, a summarized 477% The reader will find here, by way of introduction, a summarized
426% version of the first part of an article that the author submitted 478% version of the first part of an article that the author submitted
427% some weeks ago to the 479% some weeks ago to the \mkbibemph{\citefield{Alessi2020}{journaltitle}} as
428% \mkbibemph{\citefield{Alessi2020}{journaltitle}} as a contribution 480% a contribution to a Digital Humanities workshop held at Stanford
429% to a Digital Humanities workshop held at Stanford University (April 481% University (\printdate{2019-04-15}).\footcite{Alessi2020}
430% 15, 2019).\footcite{Alessi2020} 482%
431% 483% The name of this package, \pkg{ekdosis}, derives from a Greek
432% The name of this package, ekdosis, derives from a Greek action 484% action noun\---\sg{ἔκδοσις}\---the meaning of which is:
433% noun\---\sg{ἔκδοσις}\---the meaning of which is: \enquote{publishing 485% \enquote{publishing a book}, and also in concrete sense: \enquote{a
434% a book}, and also in concrete sense: \enquote{a publication, 486% publication, treatise}. For us moderns, this term refers to a long
435% treatise}. For us moderns, this term refers to a long tradition of 487% tradition of scholarly work consisting in establishing from
436% scholarly work consisting in establishing from manuscript evidence 488% manuscript evidence the texts of Greek and Latin classics that were
437% the texts of Greek and Latin classics that were handled down through 489% handled down through the Middle Ages to the time of the first
438% the Middle Ages to the time of the first printed editions. Of 490% printed editions. Of course, this definition is extendible to other
439% course, this definition is extendible to other languages as 491% languages as well. The basic premise is that critical editions
440% well. The basic premise is that critical editions exhibit 492% exhibit reconstructed texts from manuscript evidence either under
441% reconstructed texts from manuscript evidence either under the title 493% the title of the edited text (direct tradition) or from explicit
442% of the edited text (direct tradition) or from explicit citations or 494% citations or parallel passages or translations in other languages
443% parallel passages or translations in other languages (indirect 495% (indirect tradition).
444% tradition). Whether in print or digital, critical editions come 496%
445% with an apparatus criticus in which is mentioned all the evidence 497% Whether in print or digital, critical editions come with an
446% that was used to build the edited text. Arguably, it is precisely on 498% apparatus criticus in which is mentioned all the evidence that was
447% this common point that the two kind of editions part ways for 499% used to build the edited text. Arguably, it is precisely on this
448% reading a traditional, well written apparatus criticus is only meant 500% common point that the two kind of editions part ways for reading a
449% for experienced readers. Getting oneself familiarized with its many 501% traditional, well written apparatus criticus is only meant for
502% experienced readers. Getting oneself familiarized with its many
450% conventional rules is not unrelated to learning a language, equipped 503% conventional rules is not unrelated to learning a language, equipped
451% with technical terms, grammar rules and style embellishments, which 504% with technical terms, grammar rules and style embellishments, which
452% came into existence out of over three centuries of scholarly 505% came into existence out of over three centuries of scholarly
@@ -455,7 +508,7 @@ along with this program. If not, see
455% conventional symbols, it is quite inaccessible to a computer unless 508% conventional symbols, it is quite inaccessible to a computer unless
456% every item of information has been encoded in the rather dumb format 509% every item of information has been encoded in the rather dumb format
457% that is suited to machines. 510% that is suited to machines.
458% 511%
459% On the other hand, editions in print have their own limitations. For 512% On the other hand, editions in print have their own limitations. For
460% example, every detail that editors of classical texts decide to 513% example, every detail that editors of classical texts decide to
461% discard to save space, regardless to its relevance to the purpose of 514% discard to save space, regardless to its relevance to the purpose of
@@ -464,74 +517,590 @@ along with this program. If not, see
464% indirect tradition are only available as references in the 517% indirect tradition are only available as references in the
465% \emph{apparatus testium} and cannot be referred to the original 518% \emph{apparatus testium} and cannot be referred to the original
466% text. As a result, the reader is refrained from bestowing attention 519% text. As a result, the reader is refrained from bestowing attention
467% upon major parallel passages to understand better difficult 520% upon major parallel passages to understand better difficult passages.
468% passages. 521%
469%
470% To conclude on these issues, print publications and digital editions 522% To conclude on these issues, print publications and digital editions
471% are often contrasted as they belonged to two different 523% are often contrasted as they belonged to two different
472% worlds.\footnote{For a good illustration of this point, see 524% worlds.\footnote{For a good illustration of this point, see
473% \cite{DLL-TC}.} It is commonly said that the content of editions in 525% \cite[\mkbibquote{Content, not Display}]{DLL-TC}.} It is commonly
474% print is the result of the binding of the book itself as an object, 526% said that the content of editions in print is the result of the
475% whereas digital editions, in which format and presentation are by 527% binding of the book itself as an object, whereas digital editions,
476% definition separated from content, are free from limitations coming 528% in which format and presentation are by definition separated from
477% from such bindings. To sum up from the foregoing considerations, 529% content, are free from limitations coming from such bindings. To sum
478% this statement is likely to be qualified: as already seen above, the 530% up from the foregoing considerations, this statement is likely to be
479% apparatus criticus must be looked at as a brilliant production of 531% qualified: as already seen above, the apparatus criticus must be
480% mind refined by centuries of scholarly tradition\--and surely 532% looked at as a brilliant production of mind refined by centuries of
481% tradition must go on\---arguably not as compact paragraphs that 533% scholarly tradition\---and surely tradition must go on\---arguably
482% require special and painful training to be \enquote*{decoded}. On 534% not as compact paragraphs that require special and painful training
483% the other hand, what editions in print do not provide are what 535% to be \enquote*{decoded}. On the other hand, what editions in print
484% \citeauthor{Mastronarde.Tarrant2017} have called \enquote{actionable 536% do not provide are what \citename{Mastronarde.Tarrant2017}{author}
485% texts for use in digital 537% have called \enquote{actionable texts for use in digital
486% research},\footcite{Mastronarde.Tarrant2017} namely database-driven 538% research},\footcite{Mastronarde.Tarrant2017} namely database-driven
487% texts allowing the reader to select annotations and display or 539% texts allowing the reader to select annotations and display or
488% arrange translations, parallel passages or borrowings in a variety 540% arrange translations, parallel passages or borrowings in a variety
489% of ways. 541% of ways.
490% 542%
491% \package{ekdosis} can be seen as an attempt at combining the two 543% \pkg{ekdosis} can be seen as an attempt at combining the two
492% approaches. 544% approaches.
493% 545%
494% \subsection{Features} 546% \subsection{Features}
495% \label{sec:features} 547% \label{sec:features}
496% A list of the main features of \package{ekdosis} folows:--- 548% A list of the main features of \pkg{ekdosis} follows:---
497% \begin{enumerate} 549% \begin{enumerate}
498% \item \emph{Multilingual critical editions}: \package{ekdosis} can 550% \item \emph{Multilingual critical editions\/}: \pkg{ekdosis} can
499% be used to typeset any number of texts in any direction accepted by 551% be used to typeset any number of texts in any direction accepted
500% \LuaTeX. Running paragraphs of text can be arranged in any number of 552% by \hologo{LuaTeX}. Running paragraphs of text can be arranged in
501% columns, either on single or facing pages, which in turn can be 553% any number of columns, either on single or facing pages, which in
502% synchronized or not. \package{ekdosis} is also suitable for complex 554% turn can be synchronized or not. \pkg{ekdosis} is also
503% layouts, such as Arabic poetry or images where three-way alignment 555% suitable for complex layouts as in the case of Arabic poetry or
504% is required, diagrams, \emph{\&c}. 556% images where three-way alignment is required, or diagrams,
557% \emph{\&c}.
558% \item \emph{Apparatus criticus\/}: Edited texts can receive multiple
559% layers of apparatus, e.g.\ apparatus criticus (to record variant
560% readings), apparatus fontium (to collect references to texts quoted
561% or cited in the edited text), apparatus testium (to collect
562% testimonia or parallel passages), or any kind of short notes to be
563% printed on the same page as the edited text, \emph{\&c}.
564% \item \texttt{TEI xml} output: \pkg{ekdosis} can be instructed
565% to output both PDF and \texttt{TEI xml} files at the same time.
566% \item \emph{Database-driven encoding} under \LaTeX{} of texts
567% entered segment by segment allows for alignment of parallel texts
568% from multilingual corpora.
505% \end{enumerate} 569% \end{enumerate}
506% 570%
507% \captof{The Peter and John example} 571% Before going into detail, the following simple example will give the
572% reader a general idea of the method of encoding with
573% \pkg{ekdosis} authoritative texts composed of lemmata, in a way
574% that is very close to \texttt{TEI xml} encoding:---
575%
576% \captof{The \enquote{Peter/John} basic example}[\label{lst:pj1}]
577% \iffalse
578%<*example>
579% \fi
580\begin{minted}{latex}
581\begin{ekdosis}
582 I
583 \app{
584 \lem{saw}
585 \rdg{met}
586 }
587 my friend \app{\lem{Peter}\rdg{John}} at the station yesterday.
588\end{ekdosis}
589\end{minted}
590% \iffalse
591%</example>
592% \fi
593%
594% \needspace{4\baselineskip}PDF output:---
595% \medskip
596% \begin{alignment}[tcols=1,texts=specimen,apparatus=specimen]
597% \begin{specimen}
598% I
599% \app{
600% \lem{saw}
601% \rdg{met}
602% }
603% my friend
604% \app{
605% \lem{Peter}
606% \rdg{John}
607% }
608% at the station yesterday.
609% \end{specimen}
610% \end{alignment}
611%
612% \texttt{TEI xml} output:---
613% \iffalse
614%<*example>
615% \fi
616\begin{minted}[linenos=false]{xml}
617<p>I
618<app>
619 <lem>saw</lem>
620 <rdg>met</rdg>
621</app>my friend
622<app>
623 <lem>Peter</lem>
624 <rdg>John</rdg>
625</app>at the station yesterday.</p>
626\end{minted}
627% \iffalse
628%</example>
629% \fi
630%
631% As can be seen from \vref{lst:pj1}, the edition text is inserted in
632% the \env{ekdosis} environment (l.~1 to 13). Then two
633% \cs{app}\marg{apparatus entry} commands (ll.~3 and 7) contain the
634% lemma (\cs{lem}\marg{lemma}), namely the reading that is accepted by
635% the editor, and at least one variant reading
636% (\cs{rdg}\marg{reading}, ll.~5 and 7). As the listing shows, the
637% editor is free to lay out the code in a legible manner to the eye:
638% the first lemma above spans several lines whereas the second one is
639% written in sequence without spaces.
640%
641% In the PDF ouput, the edition text is printed in the upper part of
642% the page, above the line, and naturally shows the accepted
643% readings. The margins are used for numeration. In the apparatus
644% criticus, below the line, reference to the text is made by
645% specifying the number of the line and if several items refer to the
646% same line, numbers are not repeated. Instead, items are separated
647% from one another by a broad horizontal space. Finally, a square
648% bracket is used inside items to distinguish the lemma from the
649% variant readings.
650%
651% Furthermore, as said above, if a \texttt{TEI xml} output is
652% required, \pkg{ekdosis} compiles an additional |.xml| file an
653% excerpt of which is provided above.
654%
655% \section{The Basics of \pkg{ekdosis}}
656% \label{sec:ekdosis-basics}
657%
658%\subsection{Loading the Package\---General Options}
659%\label{sec:load-general-options}
660%
661% \pkg{ekdosis} is loaded in the preamble like so:---
662% \iffalse
663%<*example>
664% \fi
665\begin{minted}[linenos=false]{latex}
666\usepackage{ekdosis}
667\end{minted}
668% \iffalse
669%</example>
670% \fi
671%
672% \pkg{ekdosis} may be loaded with four optional \enquote*{named
673% arguments} either of which is set using the syntax
674% \meta{key}$=$\meta{value}. The description of the optional arguments
675% follows.
676%
677% \danger The reader is invited to refer to the relevant sections of
678% this documentation for more information on how to use them.
679%
680% \DescribeOption{layout}\label{ref:layout-opt}
681% |layout|$=$\verb+float|footins+\hfill\tcboxverb{Default: float}\\
682% By default, layers of critical notes are inserted as a floating
683% environment to be printed at the bottom of pages. |layout=footins|
684% can be set to insert critical notes in the default footnote block
685% which can be considered to be a special kind of float that is
686% printed at the bottom of pages. In this case, the apparatus criticus
687% will be inserted between regular numbered footnotes, but will carry
688% no footnote mark of its own.
689%
690% \DescribeOption{divs}\label{ref:divs-opt}
691% |divs|$=$\verb+ekdosis|latex+\hfill\tcboxverb{Default: ekdosis}\\
692% In many occasions, \LaTeX{} standard textual divisions do not meet
693% the specific requirements of classical and literary texts, the
694% divisions of which may depend on many different received
695% traditions. \pkg{ekdosis} provides a flexible mechanism in which
696% format and presentation have been carefully separated. It is
697% designed to build un-numbered \texttt{TEI} divisions allowed to nest
698% recursively. However, if |divs| be set to |latex|, \LaTeX{} standard
699% textual divisions can be used and will be translated into
700% \texttt{TEI} numbered |<div>| elements.
701%
702% \danger It must be noted that the two styles are mutually exclusive.
703% \vskip\baselineskip
704%
705% \DescribeOption{parnotes}\label{ref:parnotes-opt}
706% |parnotes|$=$\verb+true|false|roman+%
707% \hfill\tcboxverb{Default: not set}\\
708% This named argument does not need a value as it defaults to |true|
709% if it is used. Apparatus criticus typeset by \pkg{ekdosis} may
710% contain notes and footnotes. The latter can be laid out as
711% paragraphed notes below the block of critical notes by means of the
712% \pkg{parnotes} package. Additionally, |parnotes=roman| prints these
713% footnotes numbered with Roman numerals.
714%
715% \DescribeOption{teiexport}\label{ref:teiexport-option}
716% |teiexport|$=$\verb+true|false|tidy+%
717% \hfill\tcboxverb{Default: not set}\\
718% This named argument does not need a value as it defaults to |true|
719% if it is used. If |teiexport| be set to |true|, \pkg{ekdosis} is
720% instructed to output both PDF and \texttt{TEI xml} files at the same
721% time. By default, the \texttt{TEI} file will receive the same
722% basename as the |.tex| source file, suffixed with |-tei.xml|. The
723% raw |.xml| file that is produced by \pkg{ekdosis} can be further
724% processed by the \textsf{tidy} console application.\footnote{See
725% \url{http://www.html-tidy.org}.} To make this happen, \textsf{tidy}
726% must be installed and the |.tex| source file must be compiled with
727% the |--shell-escape| facility so that spawning programs from
728% \LaTeX{} be allowed.\footnote{See
729% \url{https://texfaq.org/FAQ-spawnprog} for more information on how
730% to do this.}
731%
732% As an example, the following line loads \pkg{ekdosis} and instructs
733% it to output a \texttt{TEI xml} file (in addition of the PDF one)
734% and to use \pkg{parnotes} to format with Roman numerals the footnotes
735% that are inserted in the apparatus criticus:---
736% \iffalse
737%<*example>
738% \fi
739\begin{minted}[linenos=false]{latex}
740\usepackage[teiexport, parnotes=roman]{ekdosis}
741\end{minted}
742% \iffalse
743%</example>
744% \fi
745%
746% \subsection{Witnesses, Hands, Shorthands \& Scholars }
747% \label{sec:declarations}
748% Any reference that is to be used in the apparatus criticus must be
749% \enquote{declared} in the preamble beforehand, namely: manuscript
750% sigla (either for single manuscripts or manuscript families, primary
751% or later hands, \emph{\&c.}) or abbreviated last names of scholars.
752% To that effect, \pkg{ekdosis} provides the following preamble-only
753% commands:---
754% \begin{comment}
755% \begin{xltabular}[c]{0.4\linewidth}{lXr}
756% \caption*{\textbf{Conspectus Siglorum}}\\
757% \SigLine{M}\\
758% \end{xltabular}
759% \end{comment}
760%
761% \paragraph{Witnesses}
762% \DescribeMacro{\DeclareWitness} \cs{DeclareWitness}\marg{unique
763% id}\marg{rendition}\marg{description}\oarg{options}\\
764% This command requires three mandatory arguments enclosed between
765% curly braces used to specify consecutively:
766% \begin{enumerate}
767% \item The unique identifier of the witness to be used both in the
768% |.tex| source file and as an |xml:id| in the \texttt{TEI xml}
769% output if any.
770% \item The rendition to be used in the printed apparatus criticus,
771% which also will be found within the |<sourceDesc>| element of the
772% \texttt{TEI} header where the description of the witness occurs,
773% within a |<abbr type="siglum">| element.
774% \item A basic description of the manuscript to be found in a typical
775% printed Conspectus Siglorum, namely: the name of the manuscript
776% followed by its call number.
777% \end{enumerate}
778% Finally, the optional argument of \cs{DeclareWitness} accepts a
779% comma-separated list of the following \enquote{name=value} arguments
780% that are used to collect items of information to be found within
781% the |<msIdentifer>| element in the \texttt{TEI}
782% header:---\footnote{See
783% \url{https://tei-c.org/release/doc/tei-p5-doc/en/html/MS.html\#msid}
784% for detailed information on these elements.}\\
785% \DescribeOption{settlement} |settlement|$=$\meta{name}: The name of
786% a city or administrative unit.\\
787% \DescribeOption{institution} |institution|$=$\meta{name}: The name
788% of an institution such as a university or library.\\
789% \DescribeOption{repository} |repository|$=$\meta{name}: The name of
790% the repository within which the witness is stored.\\
791% \DescribeOption{collection} |collection|$=$\meta{name}: The name of
792% a collection of manuscripts.\\
793% \DescribeOption{idno} |idno|$=$\meta{call \#}: Any form of call
794% number.\\
795% \DescribeOption{msName} |msName|$=$\meta{name}: The name commonly
796% used for the witness.\\
797% \DescribeOption{origDate} |origDate|$=$\meta{date}: Any form of date
798% used to identify the date of origin for the witness.
799%
800% To take here one example, a witness such as the \emph{Marcianus
801% Graecus}~269, referred to as manuscript \enquote*{M} in the
802% editions, which contains sixty treatises from Hippocrates, could be
803% declared as follows:--- \iffalse
804%<*example>
805% \fi
806\begin{minted}[linenos=false]{latex}
807\DeclareWitness{M}{M}{\emph{Marcianus Gr.} 269}[
808 settlement=Venice,
809 institution=Marciana Library,
810 msName=\emph{Marcianus Gr.},
811 idno=269,
812 origDate=s. X]
813\end{minted}
814% \iffalse
815%</example>
816% \fi
817%
818% \paragraph{Hands}
819% \DescribeMacro{\DeclareHand} \cs{DeclareHand}\marg{unique
820% id}\marg{base ms.}\marg{rendition}\oarg{note}\\
821% This command requires three mandatory arguments enclosed between
822% curly braces and one optional argument between square brackets used
823% to specify consecutively:---
824% \begin{enumerate}
825% \item The unique identifier of the hand to be used both in the
826% |.tex| source file and as an |xml:id| in the \texttt{TEI xml} output
827% if any.
828% \item The unique idendifier of the witness the hand is related
829% to. Of course, this witness must have been previously declared.
830% \item The rendition to be used in the printed apparatus criticus,
831% which also will be found within the |<handNote>| element of the
832% \texttt{TEI} header where the description of the hand occurs, within
833% a |<abbr type="siglum">| element.
834% \item Some further information about the hand.
835% \end{enumerate}
836%
837% To continue the preceding example, here is how additions and
838% corrections found in the \emph{Marcianus Gr.}~269 could be declared
839% after this witness has been declared itself:---
840% \iffalse
841%<*example>
842% \fi
843\begin{minted}[linenos=false]{latex}
844\DeclareHand{M1}{M}{M\textsuperscript{1}}[Emendatio scribae ipsius]
845\DeclareHand{M2}{M}{M\textsuperscript{2}}[Manus posterior]
846\end{minted}
847% \iffalse
848%</example>
849% \fi
850%
851% As can be seen, values such as |M|, |M1| and |M2| in the |.tex|
852% source file will be printed as \getsiglum{M}, \getsiglum{M1} and
853% \getsiglum{M2} respectively. Not only the code gains legibility, but
854% also flexibility for simply changing any declared rendition will
855% update corresponding sigla thoughout the entire edition.
856%
857% As a final example, here is how \pkg{ekdosis} would encode
858% information as declared above for the \emph{Marcianus Gr.}~269
859% should a \texttt{TEI} output be required:---
860% \iffalse
861%<*example>
862% \fi
863\begin{minted}[linenos=false]{xml}
864<sourceDesc>
865 <listWit>
866 <witness xml:id="M">
867 <abbr type="siglum">M</abbr>
868 <emph>Marcianus Gr.</emph>269
869 <msDesc>
870 <msIdentifier>
871 <settlement>Venice</settlement>
872 <institution>Marciana Library</institution>
873 <idno>269</idno>
874 <msName>
875 <emph>Marcianus Gr.</emph>
876 </msName>
877 </msIdentifier>
878 <physDesc>
879 <handDesc hands="2">
880 <handNote xml:id="M1">
881 <abbr type="siglum">M
882 <hi rend="sup">1</hi></abbr>
883 <p>Emendatio scribae ipius</p>
884 </handNote>
885 <handNote xml:id="M2">
886 <abbr type="siglum">M
887 <hi rend="sup">2</hi></abbr>
888 <p>Manus posterior</p>
889 </handNote>
890 </handDesc>
891 </physDesc>
892 <history>
893 <origin>
894 <origDate>s. X</origDate>
895 </origin>
896 </history>
897 </msDesc></witness>
898 </listWit>
899</sourceDesc>
900\end{minted}
901% \iffalse
902%</example>
903% \fi
904%
905% \paragraph{Shorthands}
906% \DescribeMacro{\DeclareShorthand} \cs{DeclareShorthand}\marg{unique
907% id}\marg{rendition}\marg{csv list of witnesses}\\
908% This command provides a convenient way to declare \emph{families} of
909% witnesses. It takes three mandatory arguments used to specify
910% consecutively:---
911% \begin{enumerate}
912% \item The unique identifier of the family to be used in the |.tex|
913% source file.
914% \item The rendition to be used in the printed apparatus criticus.
915% \item A comma-separated list of previously declared witnesses.
916% \end{enumerate}
917%
918% As an example, the manuscripts of Caesar's \emph{Gallic War} are
919% divided into two families: α, which includes mss.\ A, M, B, R, S, L
920% and N, and β, which includes mss.\ T, f, U and l. Therefore,
921% provided that all theses witnesses have been already declared, here
922% is how the two families α and β could be declared:---
923% \iffalse
924%<*example>
925% \fi
926\begin{minted}[linenos=false]{latex}
927\DeclareShorthand{a}{α}{A,M,B,R,S,L,N}
928\DeclareShorthand{b}{β}{T,f,U,l}
929\end{minted}
930% \iffalse
931%</example>
932% \fi
933%
934% Then, symbols |a| and |b| can be used in the |.tex| source file in
935% place of manuscripts that belong to either family.
936%
937% \paragraph{Scholars}
938% \DescribeMacro{\DeclareScholar} \cs{DeclareScholar}\marg{unique
939% label}\marg{rendition}\\
940% The \emph{Conspectus Siglorum} that is placed ahead of the edition
941% text is traditionally divided into two parts: a)~\emph{Codices},
942% which provides the list of sigla used in the apparatus,
943% b)~\emph{Editiones uel Studia}, which provides references to
944% scholars whose published or unpublished works contain conjectures
945% used in the apparatus criticus. \cs{DeclareScholar} takes two
946% mandatory arguments used to specify consecutively:---
947% \begin{enumerate}
948% \item A unique label used in the |.tex| source file to refer to the
949% work where the conjecture is found.
950% \item The rendition to be used in the printed apparatus criticus.
951% \end{enumerate}
952%
953% As \pkg{ekdosis} can include and use \texttt{TEI xml} compliant
954% lists of references, it is avisable to use Bib\hologo{(La)TeX}
955% labels in the first argument of \cs{DeclareScholar}. Likewise,
956% shorthands fields from the bibliographical database can be recalled
957% from within the second argument of \cs{DeclareScholar}:---
958% \iffalse
959%<*example>
960% \fi
961\begin{minted}[linenos=false]{latex}
962\DeclareScholar{Wil}{Wilamowitz}
963% or for example:
964\DeclareScholar{Wil}{\citename{Wil}{shorteditor}}
965\end{minted}
966% \iffalse
967%</example>
968% \fi
969% \label{sec:declarations-end}
970%
971% \subsection{Editing a Single Text With No Translation}
972% \label{sec:single-text-editing}
973% \DescribeEnv{ekdosis}
974% Running paragraphs of one single text to be edited should be
975% inserted in the \env{ekdosis} environment, like so:---\footnote{See
976% above \vref{lst:pj1}.}
508% \iffalse 977% \iffalse
509%<*example> 978%<*example>
510% \fi 979% \fi
511\begin{minted}[linenos=false]{latex} 980\begin{minted}[linenos=false]{latex}
512\begin{ekdosis} 981\begin{ekdosis}
513 I saw my friend 982 Edition text goes here.
983\end{ekdosis}
984\end{minted}
985% \iffalse
986%</example>
987% \fi
988%
989% \paragraph{Apparatus Entries}
990% \DescribeMacro{\app} \cs{app}|[type=|\meta{type}|]|\marg{apparatus
991% entries}\\
992% This command takes one mandatory argument and accepts one optional
993% argument. Once references to be used as witnesses in the apparatus
994% criticus have been declared in the preamble as described in
995% \ref{sec:declarations}
996% \vpagerefrange{sec:declarations}{sec:declarations-end}, the \cs{app}
997% command is used for inserting entries in the apparatus criticus,
998% either, lemmas, readings or notes, like so:---
999% \iffalse
1000%<*example>
1001% \fi
1002\begin{minted}[linenos=false]{latex}
1003I saw my friend \app{\lem{Peter}\rdg{John}} yesterday.
1004or:
1005I saw my friend
514 \app{ 1006 \app{
515 \lem{Peter} 1007 \lem{Peter}
516 \rdg{John} 1008 \rdg{John}
517 } 1009 }
518 at the station yesterday. 1010yesterday.
519\end{ekdosis}
520\end{minted} 1011\end{minted}
521% \iffalse 1012% \iffalse
522%</example> 1013%</example>
523% \fi 1014% \fi
524% \begin{alignment}[flush,tcols=1,texts=specimen,apparatus=specimen] 1015% \cs{app} accepts one further optional argument:---\\
1016% \DescribeOption{type} |type|$=$\meta{type}\hfill%
1017% \tcboxverb{Default: default}\\
1018% By default, \pkg{ekdosis} sets one layer of notes\--- the |default|
1019% layer\---in the apparatus criticus. This layer is fit to receive
1020% notes related to variant readings from witnesses and sources used by
1021% the editor to establish the edition text. Additional layers can be
1022% defined to receive other kinds of notes, such as references to texts
1023% quoted or cited in the text of the edition (\emph{apparatus
1024% fontium}), references to testimonia, or quotations of the edited
1025% text by other authors (\emph{apparatus testium}), explanatory notes,
1026% and so forth.\footnote{See below, \vpageref{ref:type-app}.} Once
1027% additional layers have been defined and assigned to new
1028% \enquote*{types}, such as \enquote*{testium} and the like, these
1029% types can be used as values appended to the |type| \enquote*{named
1030% option}.
1031%
1032% \paragraph{Readings} As can be seen in the example above, there are
1033% two kinds of individual readings: the \emph{lemma}, which contains
1034% the base text accepted by the editor, and the \emph{reading}, which
1035% contains deviant readings rejected by the editor.
1036%
1037% \paragraph{Lemmas} \DescribeMacro{\lem}
1038% \cs{lem}\oarg{options}\marg{lemma text}
1039%
1040% \begin{comment}
1041% \captof{The \enquote{Peter/John} full example}
1042% \iffalse
1043%<*example>
1044% \fi
1045\begin{minted}{latex}
1046\begin{ekdosis}
1047 I
1048 \app{
1049 \lem[wit=A]{saw}
1050 \rdg[wit=B]{met}}
1051 my friend
1052 \app{
1053 \lem{Peter}
1054 \rdg{John}
1055 }
1056 at the station yesterday. We were both in a
1057 \app{
1058 \lem[wit=A]{great}
1059 \rdg[wit=B]{good}}
1060 mood.
1061 \app{
1062 \lem[wit=A, alt={How nice... said}]{\enquote{How nice to find
1063 you here!} he said.}
1064 \rdg[wit=B, alt=\emph{om.}]{}}
1065 I chuckled to myself, recalling the last time we
1066 \app{
1067 \lem[wit=A,nolem]{met}
1068 \rdg[wit=B, alt={\emph{post} met \emph{add.} there}]{met
1069 there}}.
1070\end{ekdosis}
1071\end{minted}
1072% \iffalse
1073%</example>
1074% \fi
1075%
1076% \begin{alignment}[tcols=1,texts=specimen,apparatus=specimen]
525% \begin{specimen} 1077% \begin{specimen}
526% I saw my friend 1078% I \app{\lem[wit=pjA]{saw}\rdg[wit=pjB]{met}} my friend
527% \app{ 1079% \app{
528% \lem{Peter} 1080% \lem{Peter}
529% \rdg{John} 1081% \rdg{John}
530% } 1082% }
531% at the station yesterday. 1083% at the station yesterday. We were both in a
1084% \app{
1085% \lem[wit=pjA]{great}
1086% \rdg[wit=pjB]{good}}
1087% mood.
1088% \app{
1089% \lem[wit=pjA, alt={\textooquote How nice... said}]{\enquote{How
1090% nice to find you here!} he said.}
1091% \rdg[wit=pjB, alt=\emph{om.}]{}}
1092% I chuckled to myself, recalling the last time we
1093% \app{
1094% \lem[wit=pjA,nolem]{met}
1095% \rdg[wit=pjB, alt={\emph{post} met \emph{add.} there}]{met
1096% there}}.
532% \end{specimen} 1097% \end{specimen}
533% \end{alignment} 1098% \end{alignment}
534% 1099% \end{comment}
1100%
1101% \section{To be continued...}
1102% \label{ref:type-app}
1103%
535% \section{GNU Free Documentation License} 1104% \section{GNU Free Documentation License}
536% \label{sec:fdl} 1105% \label{sec:fdl}
537% \textbf{Version 1.3, 3 November 2008} 1106% \textbf{Version 1.3, 3 November 2008}
@@ -552,7 +1121,7 @@ along with this program. If not, see
552% of this license document, but changing it is not allowed. 1121% of this license document, but changing it is not allowed.
553% \end{center} 1122% \end{center}
554% 1123%
555% \needspace{\baselineskip} 1124% \needspace{3\baselineskip}
556% \begin{center} 1125% \begin{center}
557% {\bf\large Preamble} 1126% {\bf\large Preamble}
558% \end{center} 1127% \end{center}
@@ -579,7 +1148,7 @@ along with this program. If not, see
579% this License principally for works whose purpose is instruction or 1148% this License principally for works whose purpose is instruction or
580% reference. 1149% reference.
581% 1150%
582% \needspace{\baselineskip} 1151% \needspace{3\baselineskip}
583% \begin{center} 1152% \begin{center}
584% {\large\bf 1. APPLICABILITY AND DEFINITIONS\par} 1153% {\large\bf 1. APPLICABILITY AND DEFINITIONS\par}
585% \end{center} 1154% \end{center}
@@ -678,7 +1247,7 @@ along with this program. If not, see
678% implication that these Warranty Disclaimers may have is void and has 1247% implication that these Warranty Disclaimers may have is void and has
679% no effect on the meaning of this License. 1248% no effect on the meaning of this License.
680% 1249%
681% \needspace{\baselineskip} 1250% \needspace{3\baselineskip}
682% \begin{center} 1251% \begin{center}
683% {\large\bf 2. VERBATIM COPYING\par} 1252% {\large\bf 2. VERBATIM COPYING\par}
684% \end{center} 1253% \end{center}
@@ -697,7 +1266,7 @@ along with this program. If not, see
697% You may also lend copies, under the same conditions stated above, 1266% You may also lend copies, under the same conditions stated above,
698% and you may publicly display copies. 1267% and you may publicly display copies.
699% 1268%
700% \needspace{\baselineskip} 1269% \needspace{3\baselineskip}
701% \begin{center} 1270% \begin{center}
702% {\large\bf 3. COPYING IN QUANTITY\par} 1271% {\large\bf 3. COPYING IN QUANTITY\par}
703% \end{center} 1272% \end{center}
@@ -738,7 +1307,7 @@ along with this program. If not, see
738% to give them a chance to provide you with an updated version of the 1307% to give them a chance to provide you with an updated version of the
739% Document. 1308% Document.
740% 1309%
741% \needspace{\baselineskip} 1310% \needspace{3\baselineskip}
742% \begin{center} 1311% \begin{center}
743% {\large\bf 4. MODIFICATIONS\par} 1312% {\large\bf 4. MODIFICATIONS\par}
744% \end{center} 1313% \end{center}
@@ -759,66 +1328,67 @@ along with this program. If not, see
759% previous version if the original publisher of that version gives 1328% previous version if the original publisher of that version gives
760% permission. 1329% permission.
761% 1330%
762% \item[B.] List on the Title Page, as authors, one or more persons 1331% \item[B.] List on the Title Page, as authors, one or more persons
763% or entities responsible for authorship of the modifications in the 1332% or entities responsible for authorship of the modifications in
764% Modified Version, together with at least five of the principal 1333% the Modified Version, together with at least five of the
765% authors of the Document (all of its principal authors, if it has 1334% principal authors of the Document (all of its principal authors,
766% fewer than five), unless they release you from this requirement. 1335% if it has fewer than five), unless they release you from this
1336% requirement.
767% 1337%
768% \item[C.] State on the Title page the name of the publisher of the 1338% \item[C.] State on the Title page the name of the publisher of the
769% Modified Version, as the publisher. 1339% Modified Version, as the publisher.
770% 1340%
771% \item[D.] Preserve all the copyright notices of the Document. 1341% \item[D.] Preserve all the copyright notices of the Document.
772% 1342%
773% \item[E.] Add an appropriate copyright notice for your 1343% \item[E.] Add an appropriate copyright notice for your
774% modifications adjacent to the other copyright notices. 1344% modifications adjacent to the other copyright notices.
775% 1345%
776% \item[F.] Include, immediately after the copyright notices, a 1346% \item[F.] Include, immediately after the copyright notices, a
777% license notice giving the public permission to use the Modified 1347% license notice giving the public permission to use the Modified
778% Version under the terms of this License, in the form shown in the 1348% Version under the terms of this License, in the form shown in the
779% Addendum below. 1349% Addendum below.
780% 1350%
781% \item[G.] Preserve in that license notice the full lists of 1351% \item[G.] Preserve in that license notice the full lists of
782% Invariant Sections and required Cover Texts given in the 1352% Invariant Sections and required Cover Texts given in the
783% Document's license notice. 1353% Document's license notice.
784% 1354%
785% \item[H.] Include an unaltered copy of this License. 1355% \item[H.] Include an unaltered copy of this License.
786% 1356%
787% \item[I.] Preserve the section Entitled \enquote{History}, Preserve 1357% \item[I.] Preserve the section Entitled \enquote{History},
788% its Title, and add to it an item stating at least the title, year, 1358% Preserve its Title, and add to it an item stating at least the
789% new authors, and publisher of the Modified Version as given on the 1359% title, year, new authors, and publisher of the Modified Version
790% Title Page. If there is no section Entitled \enquote{History} in 1360% as given on the Title Page. If there is no section Entitled
791% the Document, create one stating the title, year, authors, and 1361% \enquote{History} in the Document, create one stating the title,
792% publisher of the Document as given on its Title Page, then add an 1362% year, authors, and publisher of the Document as given on its
793% item describing the Modified Version as stated in the previous 1363% Title Page, then add an item describing the Modified Version as
794% sentence. 1364% stated in the previous sentence.
795% 1365%
796% \item[J.] Preserve the network location, if any, given in the 1366% \item[J.] Preserve the network location, if any, given in the
797% Document for public access to a Transparent copy of the Document, 1367% Document for public access to a Transparent copy of the Document,
798% and likewise the network locations given in the Document for 1368% and likewise the network locations given in the Document for
799% previous versions it was based on. These may be placed in the 1369% previous versions it was based on. These may be placed in the
800% \enquote{History} section. You may omit a network location for a 1370% \enquote{History} section. You may omit a network location for a
801% work that was published at least four years before the Document 1371% work that was published at least four years before the Document
802% itself, or if the original publisher of the version it refers to 1372% itself, or if the original publisher of the version it refers to
803% gives permission. 1373% gives permission.
804% 1374%
805% \item[K.] For any section Entitled \enquote{Acknowledgements} or 1375% \item[K.] For any section Entitled \enquote{Acknowledgements} or
806% \enquote{Dedications}, Preserve the Title of the section, and 1376% \enquote{Dedications}, Preserve the Title of the section, and
807% preserve in the section all the substance and tone of each of the 1377% preserve in the section all the substance and tone of each of the
808% contributor acknowledgements and/or dedications given therein. 1378% contributor acknowledgements and/or dedications given therein.
809% 1379%
810% \item[L.] Preserve all the Invariant Sections of the Document, 1380% \item[L.] Preserve all the Invariant Sections of the Document,
811% unaltered in their text and in their titles. Section numbers or 1381% unaltered in their text and in their titles. Section numbers or
812% the equivalent are not considered part of the section titles. 1382% the equivalent are not considered part of the section titles.
813% 1383%
814% \item[M.] Delete any section Entitled \enquote{Endorsements}. Such 1384% \item[M.] Delete any section Entitled \enquote{Endorsements}.
815% a section may not be included in the Modified Version. 1385% Such a section may not be included in the Modified Version.
816% 1386%
817% \item[N.] Do not retitle any existing section to be Entitled 1387% \item[N.] Do not retitle any existing section to be Entitled
818% \enquote{Endorsements} or to conflict in title with any Invariant 1388% \enquote{Endorsements} or to conflict in title with any Invariant
819% Section. 1389% Section.
820% 1390%
821% \item[O.] Preserve any Warranty Disclaimers. 1391% \item[O.] Preserve any Warranty Disclaimers.
822% \end{itemize} 1392% \end{itemize}
823% 1393%
824% If the Modified Version includes new front-matter sections or 1394% If the Modified Version includes new front-matter sections or
@@ -850,7 +1420,7 @@ along with this program. If not, see
850% License give permission to use their names for publicity for or to 1420% License give permission to use their names for publicity for or to
851% assert or imply endorsement of any Modified Version. 1421% assert or imply endorsement of any Modified Version.
852% 1422%
853% \needspace{\baselineskip} 1423% \needspace{3\baselineskip}
854% \begin{center} 1424% \begin{center}
855% {\large\bf 5. COMBINING DOCUMENTS\par} 1425% {\large\bf 5. COMBINING DOCUMENTS\par}
856% \end{center} 1426% \end{center}
@@ -879,7 +1449,7 @@ along with this program. If not, see
879% \enquote{Dedications}. You must delete all sections Entitled 1449% \enquote{Dedications}. You must delete all sections Entitled
880% \enquote{Endorsements}. 1450% \enquote{Endorsements}.
881% 1451%
882% \needspace{\baselineskip} 1452% \needspace{3\baselineskip}
883% \begin{center} 1453% \begin{center}
884% {\large\bf 6. COLLECTIONS OF DOCUMENTS\par} 1454% {\large\bf 6. COLLECTIONS OF DOCUMENTS\par}
885% \end{center} 1455% \end{center}
@@ -897,9 +1467,9 @@ along with this program. If not, see
897% License in all other respects regarding verbatim copying of that 1467% License in all other respects regarding verbatim copying of that
898% document. 1468% document.
899% 1469%
900% \needspace{\baselineskip} 1470% \needspace{3\baselineskip}
901% \begin{center} 1471% \begin{center}
902% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par} 1472% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
903% \end{center} 1473% \end{center}
904% 1474%
905% A compilation of the Document or its derivatives with other separate 1475% A compilation of the Document or its derivatives with other separate
@@ -919,7 +1489,7 @@ along with this program. If not, see
919% form. Otherwise they must appear on printed covers that bracket the 1489% form. Otherwise they must appear on printed covers that bracket the
920% whole aggregate. 1490% whole aggregate.
921% 1491%
922% \needspace{\baselineskip} 1492% \needspace{3\baselineskip}
923% \begin{center} 1493% \begin{center}
924% {\large\bf 8. TRANSLATION\par} 1494% {\large\bf 8. TRANSLATION\par}
925% \end{center} 1495% \end{center}
@@ -943,7 +1513,7 @@ along with this program. If not, see
943% (section~4) to Preserve its Title (section~1) will typically require 1513% (section~4) to Preserve its Title (section~1) will typically require
944% changing the actual title. 1514% changing the actual title.
945% 1515%
946% \needspace{\baselineskip} 1516% \needspace{3\baselineskip}
947% \begin{center} 1517% \begin{center}
948% {\large\bf 9. TERMINATION\par} 1518% {\large\bf 9. TERMINATION\par}
949% \end{center} 1519% \end{center}
@@ -973,7 +1543,7 @@ along with this program. If not, see
973% permanently reinstated, receipt of a copy of some or all of the same 1543% permanently reinstated, receipt of a copy of some or all of the same
974% material does not give you any rights to use it. 1544% material does not give you any rights to use it.
975% 1545%
976% \needspace{\baselineskip} 1546% \needspace{3\baselineskip}
977% \begin{center} 1547% \begin{center}
978% {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par} 1548% {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
979% \end{center} 1549% \end{center}
@@ -997,7 +1567,7 @@ along with this program. If not, see
997% proxy's public statement of acceptance of a version permanently 1567% proxy's public statement of acceptance of a version permanently
998% authorizes you to choose that version for the Document. 1568% authorizes you to choose that version for the Document.
999% 1569%
1000% \needspace{\baselineskip} 1570% \needspace{3\baselineskip}
1001% \begin{center} 1571% \begin{center}
1002% {\large\bf 11. RELICENSING\par} 1572% {\large\bf 11. RELICENSING\par}
1003% \end{center} 1573% \end{center}
@@ -1030,7 +1600,7 @@ along with this program. If not, see
1030% site under CC-BY-SA on the same site at any time before August 1, 1600% site under CC-BY-SA on the same site at any time before August 1,
1031% 2009, provided the MMC is eligible for relicensing. 1601% 2009, provided the MMC is eligible for relicensing.
1032% 1602%
1033% \needspace{\baselineskip} 1603% \needspace{3\baselineskip}
1034% \begin{center} 1604% \begin{center}
1035% {\large\bf ADDENDUM: How to use this License for your documents\par} 1605% {\large\bf ADDENDUM: How to use this License for your documents\par}
1036% \end{center} 1606% \end{center}
@@ -1067,26 +1637,31 @@ along with this program. If not, see
1067% 1637%
1068% If your document contains nontrivial examples of program code, we 1638% If your document contains nontrivial examples of program code, we
1069% recommend releasing these examples in parallel under your choice of 1639% recommend releasing these examples in parallel under your choice of
1070% free software license, such as the GNU General Public License, to 1640% free software license, such as the GNU General Public License,
1071% permit their use in free software. 1641% to permit their use in free software.
1642%
1643% \printbibliography[heading=bibintoc]
1072% 1644%
1645% \StopEventually{}
1646%
1073% \section{Implementation} 1647% \section{Implementation}
1074% 1648%
1075% \iffalse 1649% \iffalse
1076%<*package> 1650%<*package>
1077% \fi 1651% \fi
1078% 1652%
1079% \package{ekdosis} relies on Lua functions and tables. Read the 1653% \pkg{ekdosis} relies on Lua functions and tables. Read the
1080% |.lua| files that accompany \package{ekdosis} for more information. 1654% |.lua| files that accompany \pkg{ekdosis} for more
1655% information.
1081% \begin{macrocode} 1656% \begin{macrocode}
1082\RequirePackage{iftex} 1657\RequirePackage{iftex}
1083% \end{macrocode} 1658% \end{macrocode}
1084% \package{ekdosis} requires {\LuaLaTeX} of course. Issue an error 1659% \pkg{ekdosis} requires {\LuaLaTeX} of course. Issue an error
1085% if the document is processed with another engine. 1660% if the document is processed with another engine.
1086% \begin{macrocode} 1661% \begin{macrocode}
1087\RequireLuaTeX 1662\RequireLuaTeX
1088% \end{macrocode} 1663% \end{macrocode}
1089% Packages that are required by \package{ekdosis}: 1664% Packages that are required by \pkg{ekdosis}:
1090% \begin{macrocode} 1665% \begin{macrocode}
1091\RequirePackage{xkeyval} 1666\RequirePackage{xkeyval}
1092\newif\if@pkg@float 1667\newif\if@pkg@float
@@ -1183,7 +1758,9 @@ along with this program. If not, see
1183% \begin{macrocode} 1758% \begin{macrocode}
1184\ekvdefinekeys{ekd@witness}{ 1759\ekvdefinekeys{ekd@witness}{
1185 store settlement = \settlement@value, 1760 store settlement = \settlement@value,
1761 store institution = \institution@value,
1186 store repository = \repository@value, 1762 store repository = \repository@value,
1763 store collection = \collection@value,
1187 store idno = \idno@value, 1764 store idno = \idno@value,
1188 store msName = \msName@value, 1765 store msName = \msName@value,
1189 store origDate = \origDate@value 1766 store origDate = \origDate@value
@@ -1196,7 +1773,9 @@ along with this program. If not, see
1196 \luastringN{#2}, 1773 \luastringN{#2},
1197 \luastringN{#3}, 1774 \luastringN{#3},
1198 \luastringO{\settlement@value}, 1775 \luastringO{\settlement@value},
1776 \luastringO{\institution@value},
1199 \luastringO{\repository@value}, 1777 \luastringO{\repository@value},
1778 \luastringO{\collection@value},
1200 \luastringO{\idno@value}, 1779 \luastringO{\idno@value},
1201 \luastringO{\msName@value}, 1780 \luastringO{\msName@value},
1202 \luastringO{\origDate@value})} 1781 \luastringO{\origDate@value})}
@@ -2128,7 +2707,9 @@ function ekdosis.newwitness(id,
2128 siglum, 2707 siglum,
2129 description, 2708 description,
2130 Settlement, 2709 Settlement,
2710 Institution,
2131 Repository, 2711 Repository,
2712 Collection,
2132 Idno, 2713 Idno,
2133 MsName, 2714 MsName,
2134 OrigDate) 2715 OrigDate)
@@ -2149,7 +2730,9 @@ function ekdosis.newwitness(id,
2149 detailsDesc = description, 2730 detailsDesc = description,
2150 msIdentifier = { 2731 msIdentifier = {
2151 settlement = Settlement, 2732 settlement = Settlement,
2733 institution = Institution,
2152 repository = Repository, 2734 repository = Repository,
2735 collection = Collection,
2153 idno = Idno, 2736 idno = Idno,
2154 msName = MsName} 2737 msName = MsName}
2155 }) 2738 })
@@ -2267,6 +2850,8 @@ local cmdtotags = {
2267 {a="LRfootnote", b="note", c=" place=\"bottom\""}, 2850 {a="LRfootnote", b="note", c=" place=\"bottom\""},
2268 {a="RLfootnote", b="note", c=" place=\"bottom\""}, 2851 {a="RLfootnote", b="note", c=" place=\"bottom\""},
2269 {a="footnote", b="note", c=" place=\"bottom\""}, 2852 {a="footnote", b="note", c=" place=\"bottom\""},
2853 {a="enquote *", b="quote", c=""},
2854 {a="enquote", b="quote", c=""},
2270 {a="txtrans", b="s", c=" xml:lang=\"ar-Latn\" type=\"transliterated\""}, 2855 {a="txtrans", b="s", c=" xml:lang=\"ar-Latn\" type=\"transliterated\""},
2271 {a="textbf", b="hi", c=" rend=\"bold\""}, 2856 {a="textbf", b="hi", c=" rend=\"bold\""},
2272 {a="textit", b="hi", c=" rend=\"italic\""}, 2857 {a="textit", b="hi", c=" rend=\"italic\""},
@@ -2951,7 +3536,9 @@ function ekdosis.openteistream()
2951 f:write(textotei(listWit[i].detailsDesc), "\n") 3536 f:write(textotei(listWit[i].detailsDesc), "\n")
2952 f:write("<msDesc>", "\n") 3537 f:write("<msDesc>", "\n")
2953 if listWit[i].msIdentifier.settlement == "" 3538 if listWit[i].msIdentifier.settlement == ""
3539 and listWit[i].msIdentifier.institution == ""
2954 and listWit[i].msIdentifier.repository == "" 3540 and listWit[i].msIdentifier.repository == ""
3541 and listWit[i].msIdentifier.collection == ""
2955 and listWit[i].msIdentifier.idno == "" 3542 and listWit[i].msIdentifier.idno == ""
2956 and listWit[i].msIdentifier.msName == "" 3543 and listWit[i].msIdentifier.msName == ""
2957 then 3544 then
@@ -2961,9 +3548,15 @@ function ekdosis.openteistream()
2961 if listWit[i].msIdentifier.settlement ~= "" then 3548 if listWit[i].msIdentifier.settlement ~= "" then
2962 f:write("<settlement>", textotei(listWit[i].msIdentifier.settlement), "</settlement>", "\n") 3549 f:write("<settlement>", textotei(listWit[i].msIdentifier.settlement), "</settlement>", "\n")
2963 else end 3550 else end
3551 if listWit[i].msIdentifier.institution ~= "" then
3552 f:write("<institution>", textotei(listWit[i].msIdentifier.institution), "</institution>", "\n")
3553 else end
2964 if listWit[i].msIdentifier.repository ~= "" then 3554 if listWit[i].msIdentifier.repository ~= "" then
2965 f:write("<repository>", textotei(listWit[i].msIdentifier.repository), "</repository>", "\n") 3555 f:write("<repository>", textotei(listWit[i].msIdentifier.repository), "</repository>", "\n")
2966 else end 3556 else end
3557 if listWit[i].msIdentifier.collection ~= "" then
3558 f:write("<collection>", textotei(listWit[i].msIdentifier.collection), "</collection>", "\n")
3559 else end
2967 if listWit[i].msIdentifier.idno ~= "" then 3560 if listWit[i].msIdentifier.idno ~= "" then
2968 f:write("<idno>", textotei(listWit[i].msIdentifier.idno), "</idno>", "\n") 3561 f:write("<idno>", textotei(listWit[i].msIdentifier.idno), "</idno>", "\n")
2969 else end 3562 else end
@@ -3709,4 +4302,4 @@ end
3709% \iffalse 4302% \iffalse
3710%</examples> 4303%</examples>
3711% \fi 4304% \fi
3712\endinput \ No newline at end of file 4305\endinput