From f33fc352fc0dd9fbc89b07d3ee297158f89957bf Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Fri, 26 Jun 2020 09:38:37 +0200 Subject: more options in \DeclareApparatus. still documenting --- Makefile | 1 + ekdosis.dtx | 959 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 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 $(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 + $(CMP) --shell-escape --recorder --interaction=nonstopmode $(NAME).dtx > /dev/null clean: 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 %<*driver> \begin{filecontents}[overwrite]{\jobname.bib} @Article{Alessi2020, + author = {Alessi, Robert}, title = {ekdosis: Using Lua\LaTeX{} for Producing \texttt{TEI xml} Compliant Critical Editions and Highlighting Parallel Writings}, - author = {Alessi, Robert}, journaltitle = {Journal of Data Mining and Digital Humanities}, + year = 2020, + pubstate = {submitted}, issuetitle = {Collecting, Preserving, and Disseminating Endangered Cultural Heritage for New Understandings through Multilingual Approaches}, - date = 2020, - pubstate = {submitted}, - eprint = {hal-02779803}, - eprinttype = {hal} + eprinttype = {hal}, + eprint = {hal-02779803} } + @Online{DLL-TC, author = {{Digital Latin Library}}, title = {Textual Criticism}, @@ -111,8 +112,21 @@ along with this program. If not, see organization = {Society for Classical Studies} } \end{filecontents} -\begin{filecontents}[overwrite]{ekdosis-cfg.tex} - +\begin{filecontents}[overwrite]{\jobname-cfg.tex} +\footnotelayout{m} +\DeclareApparatus{default}[ + delim=\hskip0.75em, + ehook=.] +\DeclareWitness{M}{M}{\emph{Marcianus Gr.} 269}[ + settlement=Venice, + institution=Marciana Library, + msName=\emph{Marcianus Gr.}, + idno=269, + origDate=s. X] +\DeclareHand{M1}{M}{M\textsuperscript{1}}[Emendatio scribae ipsius] +\DeclareHand{M2}{M}{M\textsuperscript{2}}[Manus posterior] +\DeclareWitness{pjA}{A}{Manuscript A Call No 123} +\DeclareWitness{pjB}{B}{Manuscript B Call No 456} \end{filecontents} \documentclass{ltxdoc} \usepackage[letterpaper,margin=25mm,left=50mm,nohead]{geometry} @@ -140,11 +154,12 @@ along with this program. If not, see \def\sg#1{\textancientgreek{#1}} \usepackage[Old Standard]{mathfont} \usepackage{arabluatex} -\usepackage{ekdosis} -\footnotelayout{m} +\usepackage[teiexport=tidy]{ekdosis} \input{ekdosis-cfg} +\usepackage{xltabular} \usepackage[prevent-all]{widows-and-orphans} \usepackage[shortcuts,nospacearound]{extdash} +\usepackage[american]{isodate} \usepackage{csquotes} \usepackage{enumitem} \setlist{nosep} @@ -170,10 +185,16 @@ along with this program. If not, see pdftype={Text} } \usepackage{uri} -\usepackage[nospace,american]{varioref} \labelformat{section}{sect.~#1} +\labelformat{subsection}{sect.~#1} +\labelformat{subsubsection}{sect.~#1} +\labelformat{figure}{fig.~#1} +\usepackage[nospace,american]{varioref} \usepackage[style=ext-verbose-inote]{biblatex} \usepackage[symbolpackage=tikz]{biblatex-ext-oa} +\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcomma\space} +\DeclareDelimFormat[bib,biblist]{innametitledelim}{\addcomma\space} +\renewcommand*\newunitpunct{\addcomma\space} \newcommand*{\halurl}[1]{http://hal.archives-ouvertes.fr/#1} \DeclareFieldFormat{eprint:hal}{% \ifhyperref @@ -236,21 +257,51 @@ along with this program. If not, see \usepackage{multicol} \usepackage{tocloft} \newlistof{listing}{lol}{List of listings} +\renewcommand\cfttocprehook{\begin{multicols}{2}} +\renewcommand\cfttocposthook{\end{multicols}} +\renewcommand\cfttoctitlefont{\Large\bfseries} \renewcommand\cftlolprehook{\begin{multicols}{2}} \renewcommand\cftlolposthook{\end{multicols}} \renewcommand\cftloltitlefont{\Large\bfseries} \usepackage{relsize} \usepackage{units} +\usepackage{fbox} \usepackage{tikz} +\usetikzlibrary{tikzmark} +\NewDocumentCommand{\pointto}{m}{% + \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to + ([shift={(0.5em,0pt)}]pic cs:#1);% + \tikz[remember picture] \draw[color=gray, overlay] + ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];} +\NewDocumentCommand{\pointtor}{m}{% + \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to + [bend left] ([shift={(0.5em,0pt)}]pic cs:#1);% + \tikz[remember picture] \draw[color=gray, overlay] + ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];} +\NewDocumentCommand{\pointtol}{m}{% + \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to + [bend right] ([shift={(0.5em,0pt)}]pic cs:#1);% + \tikz[remember picture] \draw[color=gray, overlay] + ([shift={(0.5em,0.5ex)}]pic cs:#1) circle [radius=8pt];} +\NewDocumentCommand{\pointtoel}{m}{% + \tikz[remember picture] \draw[>->,color=blue,overlay] (1em,0.5ex) to + [bend right] ([shift={(0em,0pt)}]pic cs:#1);% + \tikz[remember picture] \draw[color=gray, overlay] + ([shift={(-0.5em,0.5ex)}]pic cs:#1) ellipse [x radius=45pt, y + radius=6pt];} \usepackage[breakable, skins, xparse]{tcolorbox} +\tcbset{colback=white, boxrule=.15mm, colframe=cinnamon, + breakable} \usepackage[newfloat]{minted} +\labelformat{listing}{listing~#1} \setminted{bgcolor=ekdcolor,linenos, fontsize=\small} \newminted[ekdlua]{lua}{bgcolor={}, linenos, fontsize=\relsize{-0.5}, xleftmargin=12pt, breaklines, numberblanklines=false, numbersep=3pt, firstnumber=last} \renewcommand{\theFancyVerbLine}{\rmfamily\smaller\arabic{FancyVerbLine}} \usepackage[contents]{colordoc} -\newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} +\newcommand{\pkg}[1]{\textsf{#1}\index{#1=#1 (package)}} +\newcommand{\env}[1]{\texttt{#1}} \backgroundcolor{c}{ekdcolor} \usepackage{caption} \captionsetup[listing]{position=above,skip=-1ex} @@ -262,30 +313,30 @@ along with this program. If not, see \captionof{#1}{#2}% #3% \egroup} -\usepackage{etoc} -\etocsettocdepth{paragraph} -\newcommand{\ekdtableofcontents}{% - \begingroup - \etocsetstyle{section}{}{} - {\etocsavedsectiontocline{% - \numberline{\etocnumber}\etocname}{\etocpage}}{} - \etocsetstyle{subsection}{}{} - {\etocsavedsubsectiontocline{% - \numberline{\etocnumber}\etocname}{\etocpage}}{}% - \etocsetstyle{subsubsection}{}{} - {\etocsavedsubsubsectiontocline{% - \numberline{\etocnumber}\etocname}{\etocpage}}{}% - \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip - 0pt plus 1fil\relax \nobreak} - {\noindent\etocname{} \etocpage{} }{\par}% - \etocmulticolstyle[2]{\section*{Contents}} - \pdfbookmark[1]{Contents}{toc} - \tableofcontents - \endgroup} +% \usepackage{etoc} +% \etocsettocdepth{paragraph} +% \newcommand{\ekdtableofcontents}{% +% \begingroup +% \etocsetstyle{section}{}{} +% {\etocsavedsectiontocline{% +% \numberline{\etocnumber}\etocname}{\etocpage}}{} +% \etocsetstyle{subsection}{}{} +% {\etocsavedsubsectiontocline{% +% \numberline{\etocnumber}\etocname}{\etocpage}}{}% +% \etocsetstyle{subsubsection}{}{} +% {\etocsavedsubsubsectiontocline{% +% \numberline{\etocnumber}\etocname}{\etocpage}}{}% +% \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip +% 0pt plus 1fil\relax \nobreak} +% {\noindent\etocname{} \etocpage{} }{\par}% +% \etocmulticolstyle[2]{\section*{Contents}} +% \pdfbookmark[1]{Contents}{toc} +% \tableofcontents +% \endgroup} \EnableCrossrefs \CodelineIndex \RecordChanges -% \OnlyDescription + %\OnlyDescription \begin{document} \DocInput{\jobname.dtx} \PrintChanges @@ -328,19 +379,19 @@ along with this program. If not, see % \metapick[print]{titletext} % \end{tcolorbox} % -% \ekdtableofcontents +% \tableofcontents % \listoflistings -% +% %\changes{v1.00}{2020/07/01}{First public release} % % \begin{abstract} -% \package{ekdosis} is a Lua\LaTeX{} package designed for +% \pkg{ekdosis} is a Lua\LaTeX{} package designed for % multilingual critical editions. It can be used to typeset texts % and different layers of critical notes in any direction accepted % by Lua\TeX. Texts can be arranged in running paragraphs or on % facing pages, in any number of columns which in turn can be % synchronized or not. In addition to printed texts, -% \package{ekdosis} can convert \texttt{.tex} source files so as to +% \pkg{ekdosis} can convert \texttt{.tex} source files so as to % produce \texttt{TEI xml} compliant critical % editions. Database-driven encoding under \LaTeX{} then allows % extraction of texts entered segment by segment according to @@ -349,18 +400,18 @@ along with this program. If not, see % terms of the GNU General Public License (GPL) version 3. % \end{abstract} % -% \section*{License and disclaimer} +% \section*{License and Disclaimer} % \addcontentsline{toc}{section}{License and disclamer} -% \subsection*{License applicable to this document} +% \subsection*{License Applicable to this Document} % \pdfbookmark[2]{Licence applicable to this document}{copyright-doc} % \leavevmode\marginpar{\hfill\texttt{fdl1.3}} % \metapick[print]{rightstext} (See below \vref{sec:fdl}.) % -% \subsection*{License applicable to the software} +% \subsection*{License Applicable to the Software} % \pdfbookmark[2]{Licence applicable to the software}{copyright-soft} % \label{sec:license-software} % -% \package{ekdosis} --- \metapick[print]{subtitle} +% \pkg{ekdosis} --- \metapick[print]{subtitle} % \metapick[print]{copyrightstatement} % % Please send error reports and suggestions for improvements to Robert @@ -386,9 +437,10 @@ along with this program. If not, see % % You should have received a copy of the GNU General Public License % along with this program. If not, see -% \href{http://www.gnu.org/licenses}{\texttt{}}. +% \href{http://www.gnu.org/licenses}% +% {\texttt{}}. % -% This release of \package{ekdosis} consists of the following +% This release of \pkg{ekdosis} consists of the following % source files: % \begin{itemize} % \item |ekdosis.ins| @@ -399,54 +451,55 @@ along with this program. If not, see % \section{Introduction} % \label{sec:introduction} % \begin{comment} -% \begin{keyfigure}{c={Grid Typesetting (which never came into -% existence)}, t={Each square in the grid has a side length of -% \unit[10]{pt}. Therefore, the distance between the last line of -% the text and the first line of the apparatus is here -% approximately \unit[25]{pt}.}} +% \begin{keyfigure}{l={fig:grid-typesetting},c={Grid Typesetting +% (which never came into existence)}, t={Each square in the grid +% has a side length of \unit[10]{pt}. Therefore, the distance +% between the last line of the text and the first line of the +% apparatus is here approximately \unit[25]{pt}.}} % \centering % \begin{tikzpicture} % \draw[gainsboro,thin] (0.5,0.5) grid [step=10pt] (10,5); % % \path node [align=justify, text width=8cm] at (5.5,3) {% -% I saw my friend Peter at the station yesterday. I saw my -% friend Peter at the station yesterday. I saw my friend Peter -% at the station yesterday. I saw my friend Peter at the station -% yesterday.\par +% I saw my friend Peter at the station yesterday. We were both +% in a great mood. \enquote{How nice to find you here!} he +% said. I chuckled to myself, recalling the last time we +% met.\par % \rule{3cm}{0.01cm}\par\footnotesize% -% \textbf{1}~Peter A: John B\ \ \textbf{2}~Peter A: John B \ \ -% \textbf{3}~Peter A: John B\ \ \textbf{4}~Peter A: John B}; -% \node at (0,3) {\scriptsize $\approx$ \unit[25]{pt}}; \draw -% [->] (0,2.875) -- (0,2.025); +% \textbf{1}~saw A] met B\hskip1em Peter A] John B \hskip1em +% \textbf{2}~great A] good B\hskip1em \textbf{2--3}~How +% nice... said A] \emph{om.} B\hskip1em \textbf{4} \emph{post} +% met \emph{add.} there B.}; \node at (0,3) {\scriptsize +% $\approx$ \unit[25]{pt}}; \draw [->] (0,2.875) -- (0,2.025); % \end{tikzpicture} % \end{keyfigure} % \end{comment} -% -% +% % The reader will find here, by way of introduction, a summarized % version of the first part of an article that the author submitted -% some weeks ago to the -% \mkbibemph{\citefield{Alessi2020}{journaltitle}} as a contribution -% to a Digital Humanities workshop held at Stanford University (April -% 15, 2019).\footcite{Alessi2020} -% -% The name of this package, ekdosis, derives from a Greek action -% noun\---\sg{ἔκδοσις}\---the meaning of which is: \enquote{publishing -% a book}, and also in concrete sense: \enquote{a publication, -% treatise}. For us moderns, this term refers to a long tradition of -% scholarly work consisting in establishing from manuscript evidence -% the texts of Greek and Latin classics that were handled down through -% the Middle Ages to the time of the first printed editions. Of -% course, this definition is extendible to other languages as -% well. The basic premise is that critical editions exhibit -% reconstructed texts from manuscript evidence either under the title -% of the edited text (direct tradition) or from explicit citations or -% parallel passages or translations in other languages (indirect -% tradition). Whether in print or digital, critical editions come -% with an apparatus criticus in which is mentioned all the evidence -% that was used to build the edited text. Arguably, it is precisely on -% this common point that the two kind of editions part ways for -% reading a traditional, well written apparatus criticus is only meant -% for experienced readers. Getting oneself familiarized with its many +% some weeks ago to the \mkbibemph{\citefield{Alessi2020}{journaltitle}} as +% a contribution to a Digital Humanities workshop held at Stanford +% University (\printdate{2019-04-15}).\footcite{Alessi2020} +% +% The name of this package, \pkg{ekdosis}, derives from a Greek +% action noun\---\sg{ἔκδοσις}\---the meaning of which is: +% \enquote{publishing a book}, and also in concrete sense: \enquote{a +% publication, treatise}. For us moderns, this term refers to a long +% tradition of scholarly work consisting in establishing from +% manuscript evidence the texts of Greek and Latin classics that were +% handled down through the Middle Ages to the time of the first +% printed editions. Of course, this definition is extendible to other +% languages as well. The basic premise is that critical editions +% exhibit reconstructed texts from manuscript evidence either under +% the title of the edited text (direct tradition) or from explicit +% citations or parallel passages or translations in other languages +% (indirect tradition). +% +% Whether in print or digital, critical editions come with an +% apparatus criticus in which is mentioned all the evidence that was +% used to build the edited text. Arguably, it is precisely on this +% common point that the two kind of editions part ways for reading a +% traditional, well written apparatus criticus is only meant for +% experienced readers. Getting oneself familiarized with its many % conventional rules is not unrelated to learning a language, equipped % with technical terms, grammar rules and style embellishments, which % came into existence out of over three centuries of scholarly @@ -455,7 +508,7 @@ along with this program. If not, see % conventional symbols, it is quite inaccessible to a computer unless % every item of information has been encoded in the rather dumb format % that is suited to machines. -% +% % On the other hand, editions in print have their own limitations. For % example, every detail that editors of classical texts decide to % discard to save space, regardless to its relevance to the purpose of @@ -464,74 +517,590 @@ along with this program. If not, see % indirect tradition are only available as references in the % \emph{apparatus testium} and cannot be referred to the original % text. As a result, the reader is refrained from bestowing attention -% upon major parallel passages to understand better difficult -% passages. -% +% upon major parallel passages to understand better difficult passages. +% % To conclude on these issues, print publications and digital editions % are often contrasted as they belonged to two different % worlds.\footnote{For a good illustration of this point, see -% \cite{DLL-TC}.} It is commonly said that the content of editions in -% print is the result of the binding of the book itself as an object, -% whereas digital editions, in which format and presentation are by -% definition separated from content, are free from limitations coming -% from such bindings. To sum up from the foregoing considerations, -% this statement is likely to be qualified: as already seen above, the -% apparatus criticus must be looked at as a brilliant production of -% mind refined by centuries of scholarly tradition\--and surely -% tradition must go on\---arguably not as compact paragraphs that -% require special and painful training to be \enquote*{decoded}. On -% the other hand, what editions in print do not provide are what -% \citeauthor{Mastronarde.Tarrant2017} have called \enquote{actionable -% texts for use in digital +% \cite[\mkbibquote{Content, not Display}]{DLL-TC}.} It is commonly +% said that the content of editions in print is the result of the +% binding of the book itself as an object, whereas digital editions, +% in which format and presentation are by definition separated from +% content, are free from limitations coming from such bindings. To sum +% up from the foregoing considerations, this statement is likely to be +% qualified: as already seen above, the apparatus criticus must be +% looked at as a brilliant production of mind refined by centuries of +% scholarly tradition\---and surely tradition must go on\---arguably +% not as compact paragraphs that require special and painful training +% to be \enquote*{decoded}. On the other hand, what editions in print +% do not provide are what \citename{Mastronarde.Tarrant2017}{author} +% have called \enquote{actionable texts for use in digital % research},\footcite{Mastronarde.Tarrant2017} namely database-driven % texts allowing the reader to select annotations and display or % arrange translations, parallel passages or borrowings in a variety % of ways. % -% \package{ekdosis} can be seen as an attempt at combining the two +% \pkg{ekdosis} can be seen as an attempt at combining the two % approaches. % % \subsection{Features} % \label{sec:features} -% A list of the main features of \package{ekdosis} folows:--- +% A list of the main features of \pkg{ekdosis} follows:--- % \begin{enumerate} -% \item \emph{Multilingual critical editions}: \package{ekdosis} can -% be used to typeset any number of texts in any direction accepted by -% \LuaTeX. Running paragraphs of text can be arranged in any number of -% columns, either on single or facing pages, which in turn can be -% synchronized or not. \package{ekdosis} is also suitable for complex -% layouts, such as Arabic poetry or images where three-way alignment -% is required, diagrams, \emph{\&c}. +% \item \emph{Multilingual critical editions\/}: \pkg{ekdosis} can +% be used to typeset any number of texts in any direction accepted +% by \hologo{LuaTeX}. Running paragraphs of text can be arranged in +% any number of columns, either on single or facing pages, which in +% turn can be synchronized or not. \pkg{ekdosis} is also +% suitable for complex layouts as in the case of Arabic poetry or +% images where three-way alignment is required, or diagrams, +% \emph{\&c}. +% \item \emph{Apparatus criticus\/}: Edited texts can receive multiple +% layers of apparatus, e.g.\ apparatus criticus (to record variant +% readings), apparatus fontium (to collect references to texts quoted +% or cited in the edited text), apparatus testium (to collect +% testimonia or parallel passages), or any kind of short notes to be +% printed on the same page as the edited text, \emph{\&c}. +% \item \texttt{TEI xml} output: \pkg{ekdosis} can be instructed +% to output both PDF and \texttt{TEI xml} files at the same time. +% \item \emph{Database-driven encoding} under \LaTeX{} of texts +% entered segment by segment allows for alignment of parallel texts +% from multilingual corpora. % \end{enumerate} % -% \captof{The Peter and John example} +% Before going into detail, the following simple example will give the +% reader a general idea of the method of encoding with +% \pkg{ekdosis} authoritative texts composed of lemmata, in a way +% that is very close to \texttt{TEI xml} encoding:--- +% +% \captof{The \enquote{Peter/John} basic example}[\label{lst:pj1}] +% \iffalse +%<*example> +% \fi +\begin{minted}{latex} +\begin{ekdosis} + I + \app{ + \lem{saw} + \rdg{met} + } + my friend \app{\lem{Peter}\rdg{John}} at the station yesterday. +\end{ekdosis} +\end{minted} +% \iffalse +% +% \fi +% +% \needspace{4\baselineskip}PDF output:--- +% \medskip +% \begin{alignment}[tcols=1,texts=specimen,apparatus=specimen] +% \begin{specimen} +% I +% \app{ +% \lem{saw} +% \rdg{met} +% } +% my friend +% \app{ +% \lem{Peter} +% \rdg{John} +% } +% at the station yesterday. +% \end{specimen} +% \end{alignment} +% +% \texttt{TEI xml} output:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{xml} +

I + + saw + met +my friend + + Peter + John +at the station yesterday.

+\end{minted} +% \iffalse +% +% \fi +% +% As can be seen from \vref{lst:pj1}, the edition text is inserted in +% the \env{ekdosis} environment (l.~1 to 13). Then two +% \cs{app}\marg{apparatus entry} commands (ll.~3 and 7) contain the +% lemma (\cs{lem}\marg{lemma}), namely the reading that is accepted by +% the editor, and at least one variant reading +% (\cs{rdg}\marg{reading}, ll.~5 and 7). As the listing shows, the +% editor is free to lay out the code in a legible manner to the eye: +% the first lemma above spans several lines whereas the second one is +% written in sequence without spaces. +% +% In the PDF ouput, the edition text is printed in the upper part of +% the page, above the line, and naturally shows the accepted +% readings. The margins are used for numeration. In the apparatus +% criticus, below the line, reference to the text is made by +% specifying the number of the line and if several items refer to the +% same line, numbers are not repeated. Instead, items are separated +% from one another by a broad horizontal space. Finally, a square +% bracket is used inside items to distinguish the lemma from the +% variant readings. +% +% Furthermore, as said above, if a \texttt{TEI xml} output is +% required, \pkg{ekdosis} compiles an additional |.xml| file an +% excerpt of which is provided above. +% +% \section{The Basics of \pkg{ekdosis}} +% \label{sec:ekdosis-basics} +% +%\subsection{Loading the Package\---General Options} +%\label{sec:load-general-options} +% +% \pkg{ekdosis} is loaded in the preamble like so:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\usepackage{ekdosis} +\end{minted} +% \iffalse +% +% \fi +% +% \pkg{ekdosis} may be loaded with four optional \enquote*{named +% arguments} either of which is set using the syntax +% \meta{key}$=$\meta{value}. The description of the optional arguments +% follows. +% +% \danger The reader is invited to refer to the relevant sections of +% this documentation for more information on how to use them. +% +% \DescribeOption{layout}\label{ref:layout-opt} +% |layout|$=$\verb+float|footins+\hfill\tcboxverb{Default: float}\\ +% By default, layers of critical notes are inserted as a floating +% environment to be printed at the bottom of pages. |layout=footins| +% can be set to insert critical notes in the default footnote block +% which can be considered to be a special kind of float that is +% printed at the bottom of pages. In this case, the apparatus criticus +% will be inserted between regular numbered footnotes, but will carry +% no footnote mark of its own. +% +% \DescribeOption{divs}\label{ref:divs-opt} +% |divs|$=$\verb+ekdosis|latex+\hfill\tcboxverb{Default: ekdosis}\\ +% In many occasions, \LaTeX{} standard textual divisions do not meet +% the specific requirements of classical and literary texts, the +% divisions of which may depend on many different received +% traditions. \pkg{ekdosis} provides a flexible mechanism in which +% format and presentation have been carefully separated. It is +% designed to build un-numbered \texttt{TEI} divisions allowed to nest +% recursively. However, if |divs| be set to |latex|, \LaTeX{} standard +% textual divisions can be used and will be translated into +% \texttt{TEI} numbered |
| elements. +% +% \danger It must be noted that the two styles are mutually exclusive. +% \vskip\baselineskip +% +% \DescribeOption{parnotes}\label{ref:parnotes-opt} +% |parnotes|$=$\verb+true|false|roman+% +% \hfill\tcboxverb{Default: not set}\\ +% This named argument does not need a value as it defaults to |true| +% if it is used. Apparatus criticus typeset by \pkg{ekdosis} may +% contain notes and footnotes. The latter can be laid out as +% paragraphed notes below the block of critical notes by means of the +% \pkg{parnotes} package. Additionally, |parnotes=roman| prints these +% footnotes numbered with Roman numerals. +% +% \DescribeOption{teiexport}\label{ref:teiexport-option} +% |teiexport|$=$\verb+true|false|tidy+% +% \hfill\tcboxverb{Default: not set}\\ +% This named argument does not need a value as it defaults to |true| +% if it is used. If |teiexport| be set to |true|, \pkg{ekdosis} is +% instructed to output both PDF and \texttt{TEI xml} files at the same +% time. By default, the \texttt{TEI} file will receive the same +% basename as the |.tex| source file, suffixed with |-tei.xml|. The +% raw |.xml| file that is produced by \pkg{ekdosis} can be further +% processed by the \textsf{tidy} console application.\footnote{See +% \url{http://www.html-tidy.org}.} To make this happen, \textsf{tidy} +% must be installed and the |.tex| source file must be compiled with +% the |--shell-escape| facility so that spawning programs from +% \LaTeX{} be allowed.\footnote{See +% \url{https://texfaq.org/FAQ-spawnprog} for more information on how +% to do this.} +% +% As an example, the following line loads \pkg{ekdosis} and instructs +% it to output a \texttt{TEI xml} file (in addition of the PDF one) +% and to use \pkg{parnotes} to format with Roman numerals the footnotes +% that are inserted in the apparatus criticus:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\usepackage[teiexport, parnotes=roman]{ekdosis} +\end{minted} +% \iffalse +% +% \fi +% +% \subsection{Witnesses, Hands, Shorthands \& Scholars } +% \label{sec:declarations} +% Any reference that is to be used in the apparatus criticus must be +% \enquote{declared} in the preamble beforehand, namely: manuscript +% sigla (either for single manuscripts or manuscript families, primary +% or later hands, \emph{\&c.}) or abbreviated last names of scholars. +% To that effect, \pkg{ekdosis} provides the following preamble-only +% commands:--- +% \begin{comment} +% \begin{xltabular}[c]{0.4\linewidth}{lXr} +% \caption*{\textbf{Conspectus Siglorum}}\\ +% \SigLine{M}\\ +% \end{xltabular} +% \end{comment} +% +% \paragraph{Witnesses} +% \DescribeMacro{\DeclareWitness} \cs{DeclareWitness}\marg{unique +% id}\marg{rendition}\marg{description}\oarg{options}\\ +% This command requires three mandatory arguments enclosed between +% curly braces used to specify consecutively: +% \begin{enumerate} +% \item The unique identifier of the witness to be used both in the +% |.tex| source file and as an |xml:id| in the \texttt{TEI xml} +% output if any. +% \item The rendition to be used in the printed apparatus criticus, +% which also will be found within the || element of the +% \texttt{TEI} header where the description of the witness occurs, +% within a || element. +% \item A basic description of the manuscript to be found in a typical +% printed Conspectus Siglorum, namely: the name of the manuscript +% followed by its call number. +% \end{enumerate} +% Finally, the optional argument of \cs{DeclareWitness} accepts a +% comma-separated list of the following \enquote{name=value} arguments +% that are used to collect items of information to be found within +% the || element in the \texttt{TEI} +% header:---\footnote{See +% \url{https://tei-c.org/release/doc/tei-p5-doc/en/html/MS.html\#msid} +% for detailed information on these elements.}\\ +% \DescribeOption{settlement} |settlement|$=$\meta{name}: The name of +% a city or administrative unit.\\ +% \DescribeOption{institution} |institution|$=$\meta{name}: The name +% of an institution such as a university or library.\\ +% \DescribeOption{repository} |repository|$=$\meta{name}: The name of +% the repository within which the witness is stored.\\ +% \DescribeOption{collection} |collection|$=$\meta{name}: The name of +% a collection of manuscripts.\\ +% \DescribeOption{idno} |idno|$=$\meta{call \#}: Any form of call +% number.\\ +% \DescribeOption{msName} |msName|$=$\meta{name}: The name commonly +% used for the witness.\\ +% \DescribeOption{origDate} |origDate|$=$\meta{date}: Any form of date +% used to identify the date of origin for the witness. +% +% To take here one example, a witness such as the \emph{Marcianus +% Graecus}~269, referred to as manuscript \enquote*{M} in the +% editions, which contains sixty treatises from Hippocrates, could be +% declared as follows:--- \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\DeclareWitness{M}{M}{\emph{Marcianus Gr.} 269}[ + settlement=Venice, + institution=Marciana Library, + msName=\emph{Marcianus Gr.}, + idno=269, + origDate=s. X] +\end{minted} +% \iffalse +% +% \fi +% +% \paragraph{Hands} +% \DescribeMacro{\DeclareHand} \cs{DeclareHand}\marg{unique +% id}\marg{base ms.}\marg{rendition}\oarg{note}\\ +% This command requires three mandatory arguments enclosed between +% curly braces and one optional argument between square brackets used +% to specify consecutively:--- +% \begin{enumerate} +% \item The unique identifier of the hand to be used both in the +% |.tex| source file and as an |xml:id| in the \texttt{TEI xml} output +% if any. +% \item The unique idendifier of the witness the hand is related +% to. Of course, this witness must have been previously declared. +% \item The rendition to be used in the printed apparatus criticus, +% which also will be found within the || element of the +% \texttt{TEI} header where the description of the hand occurs, within +% a || element. +% \item Some further information about the hand. +% \end{enumerate} +% +% To continue the preceding example, here is how additions and +% corrections found in the \emph{Marcianus Gr.}~269 could be declared +% after this witness has been declared itself:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\DeclareHand{M1}{M}{M\textsuperscript{1}}[Emendatio scribae ipsius] +\DeclareHand{M2}{M}{M\textsuperscript{2}}[Manus posterior] +\end{minted} +% \iffalse +% +% \fi +% +% As can be seen, values such as |M|, |M1| and |M2| in the |.tex| +% source file will be printed as \getsiglum{M}, \getsiglum{M1} and +% \getsiglum{M2} respectively. Not only the code gains legibility, but +% also flexibility for simply changing any declared rendition will +% update corresponding sigla thoughout the entire edition. +% +% As a final example, here is how \pkg{ekdosis} would encode +% information as declared above for the \emph{Marcianus Gr.}~269 +% should a \texttt{TEI} output be required:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{xml} + + + + M + Marcianus Gr.269 + + + Venice + Marciana Library + 269 + + Marcianus Gr. + + + + + + M + 1 +

Emendatio scribae ipius

+
+ + M + 2 +

Manus posterior

+
+
+
+ + + s. X + + +
+
+
+\end{minted} +% \iffalse +% +% \fi +% +% \paragraph{Shorthands} +% \DescribeMacro{\DeclareShorthand} \cs{DeclareShorthand}\marg{unique +% id}\marg{rendition}\marg{csv list of witnesses}\\ +% This command provides a convenient way to declare \emph{families} of +% witnesses. It takes three mandatory arguments used to specify +% consecutively:--- +% \begin{enumerate} +% \item The unique identifier of the family to be used in the |.tex| +% source file. +% \item The rendition to be used in the printed apparatus criticus. +% \item A comma-separated list of previously declared witnesses. +% \end{enumerate} +% +% As an example, the manuscripts of Caesar's \emph{Gallic War} are +% divided into two families: α, which includes mss.\ A, M, B, R, S, L +% and N, and β, which includes mss.\ T, f, U and l. Therefore, +% provided that all theses witnesses have been already declared, here +% is how the two families α and β could be declared:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\DeclareShorthand{a}{α}{A,M,B,R,S,L,N} +\DeclareShorthand{b}{β}{T,f,U,l} +\end{minted} +% \iffalse +% +% \fi +% +% Then, symbols |a| and |b| can be used in the |.tex| source file in +% place of manuscripts that belong to either family. +% +% \paragraph{Scholars} +% \DescribeMacro{\DeclareScholar} \cs{DeclareScholar}\marg{unique +% label}\marg{rendition}\\ +% The \emph{Conspectus Siglorum} that is placed ahead of the edition +% text is traditionally divided into two parts: a)~\emph{Codices}, +% which provides the list of sigla used in the apparatus, +% b)~\emph{Editiones uel Studia}, which provides references to +% scholars whose published or unpublished works contain conjectures +% used in the apparatus criticus. \cs{DeclareScholar} takes two +% mandatory arguments used to specify consecutively:--- +% \begin{enumerate} +% \item A unique label used in the |.tex| source file to refer to the +% work where the conjecture is found. +% \item The rendition to be used in the printed apparatus criticus. +% \end{enumerate} +% +% As \pkg{ekdosis} can include and use \texttt{TEI xml} compliant +% lists of references, it is avisable to use Bib\hologo{(La)TeX} +% labels in the first argument of \cs{DeclareScholar}. Likewise, +% shorthands fields from the bibliographical database can be recalled +% from within the second argument of \cs{DeclareScholar}:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +\DeclareScholar{Wil}{Wilamowitz} +% or for example: +\DeclareScholar{Wil}{\citename{Wil}{shorteditor}} +\end{minted} +% \iffalse +% +% \fi +% \label{sec:declarations-end} +% +% \subsection{Editing a Single Text With No Translation} +% \label{sec:single-text-editing} +% \DescribeEnv{ekdosis} +% Running paragraphs of one single text to be edited should be +% inserted in the \env{ekdosis} environment, like so:---\footnote{See +% above \vref{lst:pj1}.} % \iffalse %<*example> % \fi \begin{minted}[linenos=false]{latex} \begin{ekdosis} - I saw my friend + Edition text goes here. +\end{ekdosis} +\end{minted} +% \iffalse +% +% \fi +% +% \paragraph{Apparatus Entries} +% \DescribeMacro{\app} \cs{app}|[type=|\meta{type}|]|\marg{apparatus +% entries}\\ +% This command takes one mandatory argument and accepts one optional +% argument. Once references to be used as witnesses in the apparatus +% criticus have been declared in the preamble as described in +% \ref{sec:declarations} +% \vpagerefrange{sec:declarations}{sec:declarations-end}, the \cs{app} +% command is used for inserting entries in the apparatus criticus, +% either, lemmas, readings or notes, like so:--- +% \iffalse +%<*example> +% \fi +\begin{minted}[linenos=false]{latex} +I saw my friend \app{\lem{Peter}\rdg{John}} yesterday. +or: +I saw my friend \app{ \lem{Peter} \rdg{John} } - at the station yesterday. -\end{ekdosis} +yesterday. \end{minted} % \iffalse % % \fi -% \begin{alignment}[flush,tcols=1,texts=specimen,apparatus=specimen] +% \cs{app} accepts one further optional argument:---\\ +% \DescribeOption{type} |type|$=$\meta{type}\hfill% +% \tcboxverb{Default: default}\\ +% By default, \pkg{ekdosis} sets one layer of notes\--- the |default| +% layer\---in the apparatus criticus. This layer is fit to receive +% notes related to variant readings from witnesses and sources used by +% the editor to establish the edition text. Additional layers can be +% defined to receive other kinds of notes, such as references to texts +% quoted or cited in the text of the edition (\emph{apparatus +% fontium}), references to testimonia, or quotations of the edited +% text by other authors (\emph{apparatus testium}), explanatory notes, +% and so forth.\footnote{See below, \vpageref{ref:type-app}.} Once +% additional layers have been defined and assigned to new +% \enquote*{types}, such as \enquote*{testium} and the like, these +% types can be used as values appended to the |type| \enquote*{named +% option}. +% +% \paragraph{Readings} As can be seen in the example above, there are +% two kinds of individual readings: the \emph{lemma}, which contains +% the base text accepted by the editor, and the \emph{reading}, which +% contains deviant readings rejected by the editor. +% +% \paragraph{Lemmas} \DescribeMacro{\lem} +% \cs{lem}\oarg{options}\marg{lemma text} +% +% \begin{comment} +% \captof{The \enquote{Peter/John} full example} +% \iffalse +%<*example> +% \fi +\begin{minted}{latex} +\begin{ekdosis} + I + \app{ + \lem[wit=A]{saw} + \rdg[wit=B]{met}} + my friend + \app{ + \lem{Peter} + \rdg{John} + } + at the station yesterday. We were both in a + \app{ + \lem[wit=A]{great} + \rdg[wit=B]{good}} + mood. + \app{ + \lem[wit=A, alt={How nice... said}]{\enquote{How nice to find + you here!} he said.} + \rdg[wit=B, alt=\emph{om.}]{}} + I chuckled to myself, recalling the last time we + \app{ + \lem[wit=A,nolem]{met} + \rdg[wit=B, alt={\emph{post} met \emph{add.} there}]{met + there}}. +\end{ekdosis} +\end{minted} +% \iffalse +% +% \fi +% +% \begin{alignment}[tcols=1,texts=specimen,apparatus=specimen] % \begin{specimen} -% I saw my friend +% I \app{\lem[wit=pjA]{saw}\rdg[wit=pjB]{met}} my friend % \app{ % \lem{Peter} % \rdg{John} -% } -% at the station yesterday. +% } +% at the station yesterday. We were both in a +% \app{ +% \lem[wit=pjA]{great} +% \rdg[wit=pjB]{good}} +% mood. +% \app{ +% \lem[wit=pjA, alt={\textooquote How nice... said}]{\enquote{How +% nice to find you here!} he said.} +% \rdg[wit=pjB, alt=\emph{om.}]{}} +% I chuckled to myself, recalling the last time we +% \app{ +% \lem[wit=pjA,nolem]{met} +% \rdg[wit=pjB, alt={\emph{post} met \emph{add.} there}]{met +% there}}. % \end{specimen} % \end{alignment} -% +% \end{comment} +% +% \section{To be continued...} +% \label{ref:type-app} +% % \section{GNU Free Documentation License} % \label{sec:fdl} % \textbf{Version 1.3, 3 November 2008} @@ -552,7 +1121,7 @@ along with this program. If not, see % of this license document, but changing it is not allowed. % \end{center} % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\bf\large Preamble} % \end{center} @@ -579,7 +1148,7 @@ along with this program. If not, see % this License principally for works whose purpose is instruction or % reference. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 1. APPLICABILITY AND DEFINITIONS\par} % \end{center} @@ -678,7 +1247,7 @@ along with this program. If not, see % implication that these Warranty Disclaimers may have is void and has % no effect on the meaning of this License. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 2. VERBATIM COPYING\par} % \end{center} @@ -697,7 +1266,7 @@ along with this program. If not, see % You may also lend copies, under the same conditions stated above, % and you may publicly display copies. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 3. COPYING IN QUANTITY\par} % \end{center} @@ -738,7 +1307,7 @@ along with this program. If not, see % to give them a chance to provide you with an updated version of the % Document. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 4. MODIFICATIONS\par} % \end{center} @@ -759,66 +1328,67 @@ along with this program. If not, see % previous version if the original publisher of that version gives % permission. % -% \item[B.] List on the Title Page, as authors, one or more persons -% or entities responsible for authorship of the modifications in the -% Modified Version, together with at least five of the principal -% authors of the Document (all of its principal authors, if it has -% fewer than five), unless they release you from this requirement. +% \item[B.] List on the Title Page, as authors, one or more persons +% or entities responsible for authorship of the modifications in +% the Modified Version, together with at least five of the +% principal authors of the Document (all of its principal authors, +% if it has fewer than five), unless they release you from this +% requirement. % -% \item[C.] State on the Title page the name of the publisher of the -% Modified Version, as the publisher. +% \item[C.] State on the Title page the name of the publisher of the +% Modified Version, as the publisher. % -% \item[D.] Preserve all the copyright notices of the Document. +% \item[D.] Preserve all the copyright notices of the Document. % -% \item[E.] Add an appropriate copyright notice for your -% modifications adjacent to the other copyright notices. +% \item[E.] Add an appropriate copyright notice for your +% modifications adjacent to the other copyright notices. % -% \item[F.] Include, immediately after the copyright notices, a -% license notice giving the public permission to use the Modified -% Version under the terms of this License, in the form shown in the -% Addendum below. +% \item[F.] Include, immediately after the copyright notices, a +% license notice giving the public permission to use the Modified +% Version under the terms of this License, in the form shown in the +% Addendum below. % -% \item[G.] Preserve in that license notice the full lists of -% Invariant Sections and required Cover Texts given in the -% Document's license notice. +% \item[G.] Preserve in that license notice the full lists of +% Invariant Sections and required Cover Texts given in the +% Document's license notice. % -% \item[H.] Include an unaltered copy of this License. +% \item[H.] Include an unaltered copy of this License. % -% \item[I.] Preserve the section Entitled \enquote{History}, Preserve -% its Title, and add to it an item stating at least the title, year, -% new authors, and publisher of the Modified Version as given on the -% Title Page. If there is no section Entitled \enquote{History} in -% the Document, create one stating the title, year, authors, and -% publisher of the Document as given on its Title Page, then add an -% item describing the Modified Version as stated in the previous -% sentence. +% \item[I.] Preserve the section Entitled \enquote{History}, +% Preserve its Title, and add to it an item stating at least the +% title, year, new authors, and publisher of the Modified Version +% as given on the Title Page. If there is no section Entitled +% \enquote{History} in the Document, create one stating the title, +% year, authors, and publisher of the Document as given on its +% Title Page, then add an item describing the Modified Version as +% stated in the previous sentence. % -% \item[J.] Preserve the network location, if any, given in the -% Document for public access to a Transparent copy of the Document, -% and likewise the network locations given in the Document for -% previous versions it was based on. These may be placed in the -% \enquote{History} section. You may omit a network location for a -% work that was published at least four years before the Document -% itself, or if the original publisher of the version it refers to -% gives permission. +% \item[J.] Preserve the network location, if any, given in the +% Document for public access to a Transparent copy of the Document, +% and likewise the network locations given in the Document for +% previous versions it was based on. These may be placed in the +% \enquote{History} section. You may omit a network location for a +% work that was published at least four years before the Document +% itself, or if the original publisher of the version it refers to +% gives permission. % -% \item[K.] For any section Entitled \enquote{Acknowledgements} or -% \enquote{Dedications}, Preserve the Title of the section, and -% preserve in the section all the substance and tone of each of the -% contributor acknowledgements and/or dedications given therein. +% \item[K.] For any section Entitled \enquote{Acknowledgements} or +% \enquote{Dedications}, Preserve the Title of the section, and +% preserve in the section all the substance and tone of each of the +% contributor acknowledgements and/or dedications given therein. % -% \item[L.] Preserve all the Invariant Sections of the Document, -% unaltered in their text and in their titles. Section numbers or -% the equivalent are not considered part of the section titles. +% \item[L.] Preserve all the Invariant Sections of the Document, +% unaltered in their text and in their titles. Section numbers or +% the equivalent are not considered part of the section titles. % -% \item[M.] Delete any section Entitled \enquote{Endorsements}. Such -% a section may not be included in the Modified Version. +% \item[M.] Delete any section Entitled \enquote{Endorsements}. +% Such a section may not be included in the Modified Version. % -% \item[N.] Do not retitle any existing section to be Entitled -% \enquote{Endorsements} or to conflict in title with any Invariant -% Section. +% \item[N.] Do not retitle any existing section to be Entitled +% \enquote{Endorsements} or to conflict in title with any Invariant +% Section. % -% \item[O.] Preserve any Warranty Disclaimers. +% \item[O.] Preserve any Warranty Disclaimers. % \end{itemize} % % If the Modified Version includes new front-matter sections or @@ -850,7 +1420,7 @@ along with this program. If not, see % License give permission to use their names for publicity for or to % assert or imply endorsement of any Modified Version. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 5. COMBINING DOCUMENTS\par} % \end{center} @@ -879,7 +1449,7 @@ along with this program. If not, see % \enquote{Dedications}. You must delete all sections Entitled % \enquote{Endorsements}. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 6. COLLECTIONS OF DOCUMENTS\par} % \end{center} @@ -897,9 +1467,9 @@ along with this program. If not, see % License in all other respects regarding verbatim copying of that % document. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} -% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par} +% {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par} % \end{center} % % A compilation of the Document or its derivatives with other separate @@ -919,7 +1489,7 @@ along with this program. If not, see % form. Otherwise they must appear on printed covers that bracket the % whole aggregate. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 8. TRANSLATION\par} % \end{center} @@ -943,7 +1513,7 @@ along with this program. If not, see % (section~4) to Preserve its Title (section~1) will typically require % changing the actual title. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 9. TERMINATION\par} % \end{center} @@ -973,7 +1543,7 @@ along with this program. If not, see % permanently reinstated, receipt of a copy of some or all of the same % material does not give you any rights to use it. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par} % \end{center} @@ -997,7 +1567,7 @@ along with this program. If not, see % proxy's public statement of acceptance of a version permanently % authorizes you to choose that version for the Document. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf 11. RELICENSING\par} % \end{center} @@ -1030,7 +1600,7 @@ along with this program. If not, see % site under CC-BY-SA on the same site at any time before August 1, % 2009, provided the MMC is eligible for relicensing. % -% \needspace{\baselineskip} +% \needspace{3\baselineskip} % \begin{center} % {\large\bf ADDENDUM: How to use this License for your documents\par} % \end{center} @@ -1067,26 +1637,31 @@ along with this program. If not, see % % If your document contains nontrivial examples of program code, we % recommend releasing these examples in parallel under your choice of -% free software license, such as the GNU General Public License, to -% permit their use in free software. +% free software license, such as the GNU General Public License, +% to permit their use in free software. +% +% \printbibliography[heading=bibintoc] % +% \StopEventually{} +% % \section{Implementation} % % \iffalse %<*package> % \fi % -% \package{ekdosis} relies on Lua functions and tables. Read the -% |.lua| files that accompany \package{ekdosis} for more information. +% \pkg{ekdosis} relies on Lua functions and tables. Read the +% |.lua| files that accompany \pkg{ekdosis} for more +% information. % \begin{macrocode} \RequirePackage{iftex} % \end{macrocode} -% \package{ekdosis} requires {\LuaLaTeX} of course. Issue an error +% \pkg{ekdosis} requires {\LuaLaTeX} of course. Issue an error % if the document is processed with another engine. % \begin{macrocode} \RequireLuaTeX % \end{macrocode} -% Packages that are required by \package{ekdosis}: +% Packages that are required by \pkg{ekdosis}: % \begin{macrocode} \RequirePackage{xkeyval} \newif\if@pkg@float @@ -1183,7 +1758,9 @@ along with this program. If not, see % \begin{macrocode} \ekvdefinekeys{ekd@witness}{ store settlement = \settlement@value, + store institution = \institution@value, store repository = \repository@value, + store collection = \collection@value, store idno = \idno@value, store msName = \msName@value, store origDate = \origDate@value @@ -1196,7 +1773,9 @@ along with this program. If not, see \luastringN{#2}, \luastringN{#3}, \luastringO{\settlement@value}, + \luastringO{\institution@value}, \luastringO{\repository@value}, + \luastringO{\collection@value}, \luastringO{\idno@value}, \luastringO{\msName@value}, \luastringO{\origDate@value})} @@ -2128,7 +2707,9 @@ function ekdosis.newwitness(id, siglum, description, Settlement, + Institution, Repository, + Collection, Idno, MsName, OrigDate) @@ -2149,7 +2730,9 @@ function ekdosis.newwitness(id, detailsDesc = description, msIdentifier = { settlement = Settlement, + institution = Institution, repository = Repository, + collection = Collection, idno = Idno, msName = MsName} }) @@ -2267,6 +2850,8 @@ local cmdtotags = { {a="LRfootnote", b="note", c=" place=\"bottom\""}, {a="RLfootnote", b="note", c=" place=\"bottom\""}, {a="footnote", b="note", c=" place=\"bottom\""}, + {a="enquote *", b="quote", c=""}, + {a="enquote", b="quote", c=""}, {a="txtrans", b="s", c=" xml:lang=\"ar-Latn\" type=\"transliterated\""}, {a="textbf", b="hi", c=" rend=\"bold\""}, {a="textit", b="hi", c=" rend=\"italic\""}, @@ -2951,7 +3536,9 @@ function ekdosis.openteistream() f:write(textotei(listWit[i].detailsDesc), "\n") f:write("", "\n") if listWit[i].msIdentifier.settlement == "" + and listWit[i].msIdentifier.institution == "" and listWit[i].msIdentifier.repository == "" + and listWit[i].msIdentifier.collection == "" and listWit[i].msIdentifier.idno == "" and listWit[i].msIdentifier.msName == "" then @@ -2961,9 +3548,15 @@ function ekdosis.openteistream() if listWit[i].msIdentifier.settlement ~= "" then f:write("", textotei(listWit[i].msIdentifier.settlement), "", "\n") else end + if listWit[i].msIdentifier.institution ~= "" then + f:write("", textotei(listWit[i].msIdentifier.institution), "", "\n") + else end if listWit[i].msIdentifier.repository ~= "" then f:write("", textotei(listWit[i].msIdentifier.repository), "", "\n") else end + if listWit[i].msIdentifier.collection ~= "" then + f:write("", textotei(listWit[i].msIdentifier.collection), "", "\n") + else end if listWit[i].msIdentifier.idno ~= "" then f:write("", textotei(listWit[i].msIdentifier.idno), "", "\n") else end @@ -3709,4 +4302,4 @@ end % \iffalse % % \fi -\endinput \ No newline at end of file +\endinput -- cgit v1.2.3