aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ekdosis.dtx59
1 files changed, 34 insertions, 25 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx
index e85d6fb..203415b 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -59,7 +59,7 @@ Alessi <alessi@robertalessi.net>
59%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] 59%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
60%<package>\ProvidesPackage{ekdosis} 60%<package>\ProvidesPackage{ekdosis}
61%<*package> 61%<*package>
62 [2023/05/21 v1.5-dev Typesetting TEI xml-compliant critical editions] 62 [2023/06/17 v1.5-dev Typesetting TEI xml-compliant critical editions]
63%</package> 63%</package>
64%<*driver> 64%<*driver>
65\begin{filecontents}[noheader,overwrite]{bibdata.xml} 65\begin{filecontents}[noheader,overwrite]{bibdata.xml}
@@ -3385,12 +3385,14 @@ texts=latin[xml:lang="la"]+\textcolor{red}{;}+
3385% number.\footnote{For setting headers and footers in this arrangement 3385% number.\footnote{For setting headers and footers in this arrangement
3386% of text, but also for the current limitations attached to this 3386% of text, but also for the current limitations attached to this
3387% option, see \vpageref{sec:header-paired-pages}.}\\ 3387% option, see \vpageref{sec:header-paired-pages}.}\\
3388% \DescribeOption{lineation} |lineation|$=$\verb+page|document+ 3388% \DescribeOption{lineation} |lineation|$=$\verb+page|document|none+
3389% \hfill\tcboxverb{Default: document}\\ 3389% \hfill\tcboxverb{Default: document}\\
3390% This option applies to edition texts initially set to receive an 3390% This option applies to edition texts initially set to receive an
3391% apparatus criticus. By default, lines are continuously numbered 3391% apparatus criticus. By default, lines are continuously numbered
3392% throughout the document. |lineation=page| sets the numbering to 3392% throughout the document. |lineation=page| sets the numbering to
3393% start afresh at the top of each page.\\ 3393% start afresh at the top of each page. |none| does the same as |page|
3394% but prevents the numbers from being printed in
3395% the margins while keeping them in use in the apparatus criticus.\\
3394% \DescribeOption{flush} |flush|$=$\verb+true|false+ 3396% \DescribeOption{flush} |flush|$=$\verb+true|false+
3395% \hfill\tcboxverb{Default: false}\\ 3397% \hfill\tcboxverb{Default: false}\\
3396% This named argument does not need a value as it defaults to |true| 3398% This named argument does not need a value as it defaults to |true|
@@ -8223,7 +8225,7 @@ Sample text with a \textcolor{red}{word} in red.
8223% \end{macrocode} 8225% \end{macrocode}
8224% \paragraph{\textsf{ekdosis} Symbol} 8226% \paragraph{\textsf{ekdosis} Symbol}
8225% \begin{macro}{\eKd} 8227% \begin{macro}{\eKd}
8226% \changes{v1.5}{2023/05/21}{Prints \textsf{ekdosis} indentifying 8228% \changes{v1.5}{2023/06/17}{Prints \textsf{ekdosis} indentifying
8227% symbol} As of v1.5, \pkg{ekdosis} has its own identifying 8229% symbol} As of v1.5, \pkg{ekdosis} has its own identifying
8228% symbol. It is produced by \cs{eKd} and best printed with the Old 8230% symbol. It is produced by \cs{eKd} and best printed with the Old
8229% Standard Greek font. 8231% Standard Greek font.
@@ -8486,7 +8488,7 @@ Sample text with a \textcolor{red}{word} in red.
8486% \begin{macro}{\teidirectE} 8488% \begin{macro}{\teidirectE}
8487% \changes{v1.3}{2021/08/18}{direct insertion of elements in the 8489% \changes{v1.3}{2021/08/18}{direct insertion of elements in the
8488% \texttt{TEI xml} file} 8490% \texttt{TEI xml} file}
8489% \changes{v1.5}{2023/05/21}{direct insertion of empty elements in the 8491% \changes{v1.5}{2023/06/17}{direct insertion of empty elements in the
8490% \texttt{TEI xml} file} 8492% \texttt{TEI xml} file}
8491% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code} 8493% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code}
8492% does nothing in \LaTeX. It is only used to insert elements in the 8494% does nothing in \LaTeX. It is only used to insert elements in the
@@ -8501,7 +8503,7 @@ Sample text with a \textcolor{red}{word} in red.
8501% \end{macro} 8503% \end{macro}
8502% \end{macro} 8504% \end{macro}
8503% \begin{macro}{\getTEIxmlid} 8505% \begin{macro}{\getTEIxmlid}
8504% \changes{v1.5}{2023/05/21}{returns \texttt{TEI xml:ids} from a 8506% \changes{v1.5}{2023/06/17}{returns \texttt{TEI xml:ids} from a
8505% csv-list of ids} This command returns from a csv-list of unique 8507% csv-list of ids} This command returns from a csv-list of unique
8506% identifiers declared in commands such as \cs{DeclareWitness} and the 8508% identifiers declared in commands such as \cs{DeclareWitness} and the
8507% like a space-separated list of their corresponding |xml:id|s, each 8509% like a space-separated list of their corresponding |xml:id|s, each
@@ -8977,7 +8979,7 @@ Sample text with a \textcolor{red}{word} in red.
8977\newlength{\ekd@app@localheight} 8979\newlength{\ekd@app@localheight}
8978% \end{macrocode} 8980% \end{macrocode}
8979% \begin{macro}{\localappheight} 8981% \begin{macro}{\localappheight}
8980% \changes{v1.5}{2023/05/21}{changes the height of the apparatus 8982% \changes{v1.5}{2023/06/17}{changes the height of the apparatus
8981% criticus} 8983% criticus}
8982% \cs{localappheight}\marg{dimen} can be used to change locally the 8984% \cs{localappheight}\marg{dimen} can be used to change locally the
8983% length of \cs{ekd@app@height} set by the |appheight| option of 8985% length of \cs{ekd@app@height} set by the |appheight| option of
@@ -8996,7 +8998,7 @@ Sample text with a \textcolor{red}{word} in red.
8996% \end{macrocode} 8998% \end{macrocode}
8997% \end{macro} 8999% \end{macro}
8998% \begin{macro}{\addtoappheight} 9000% \begin{macro}{\addtoappheight}
8999% \changes{v1.5}{2023/05/21}{increases or decreases the height of the 9001% \changes{v1.5}{2023/06/17}{increases or decreases the height of the
9000% apparatus criticus} 9002% apparatus criticus}
9001% As the name suggests, in contrast to \cs{localappheight}, 9003% As the name suggests, in contrast to \cs{localappheight},
9002% \cs{addtoappheight}\marg{dimen} is used to increase or decrease 9004% \cs{addtoappheight}\marg{dimen} is used to increase or decrease
@@ -9193,6 +9195,7 @@ Sample text with a \textcolor{red}{word} in red.
9193% numbering should start afresh at the top of each page. 9195% numbering should start afresh at the top of each page.
9194% \begin{macrocode} 9196% \begin{macrocode}
9195\newif\ifekd@pagelineation 9197\newif\ifekd@pagelineation
9198\newif\ifekd@hidelinenumbers
9196\newif\ifekd@pagevlineation 9199\newif\ifekd@pagevlineation
9197% \end{macrocode} 9200% \end{macrocode}
9198% Two counters (|ekd@lnperpage| and |ekd@locallnperpage|) are defined 9201% Two counters (|ekd@lnperpage| and |ekd@locallnperpage|) are defined
@@ -9211,7 +9214,7 @@ Sample text with a \textcolor{red}{word} in red.
9211 choice lineation = {page = \ekd@pagelineationtrue, 9214 choice lineation = {page = \ekd@pagelineationtrue,
9212 document = \ekd@pagelineationfalse, 9215 document = \ekd@pagelineationfalse,
9213 none = \ekd@pagelineationtrue 9216 none = \ekd@pagelineationtrue
9214 \renewcommand\thelinenumber{}}, 9217 \ekd@hidelinenumberstrue},
9215 unknown-choice lineation = \PackageError{ekdosis}{unknown 9218 unknown-choice lineation = \PackageError{ekdosis}{unknown
9216 lineation=#1}{`lineation' must be either `page' or `document'.}, 9219 lineation=#1}{`lineation' must be either `page' or `document'.},
9217 choice vlineation = {page = \ekd@pagevlineationtrue, 9220 choice vlineation = {page = \ekd@pagevlineationtrue,
@@ -9282,7 +9285,7 @@ Sample text with a \textcolor{red}{word} in red.
9282% The following commands are provided to set and control the maximum 9285% The following commands are provided to set and control the maximum
9283% number of lines printed on each page. 9286% number of lines printed on each page.
9284% \begin{macro}{\setmaxlines} 9287% \begin{macro}{\setmaxlines}
9285% \changes{v1.5}{2023/05/21}{limits the number of lines per page} 9288% \changes{v1.5}{2023/06/17}{limits the number of lines per page}
9286% \cs{setmaxlines}\marg{n}, where \meta{n} is a positive integer 9289% \cs{setmaxlines}\marg{n}, where \meta{n} is a positive integer
9287% $\geq 1$, can be used either in the preamble or at any point of the 9290% $\geq 1$, can be used either in the preamble or at any point of the
9288% document to set the maximum number of lines to be printed on each 9291% document to set the maximum number of lines to be printed on each
@@ -9293,7 +9296,7 @@ Sample text with a \textcolor{red}{word} in red.
9293% \end{macrocode} 9296% \end{macrocode}
9294% \end{macro} 9297% \end{macro}
9295% \begin{macro}{\localmaxlines} 9298% \begin{macro}{\localmaxlines}
9296% \changes{v1.5}{2023/05/21}{changes the maximum number of lines 9299% \changes{v1.5}{2023/06/17}{changes the maximum number of lines
9297% locally} 9300% locally}
9298% Once a maximum number of lines per page has been set, 9301% Once a maximum number of lines per page has been set,
9299% \cs{localmaxlines}\marg{n} can be used to adjust this number on a 9302% \cs{localmaxlines}\marg{n} can be used to adjust this number on a
@@ -9306,7 +9309,7 @@ Sample text with a \textcolor{red}{word} in red.
9306% \end{macrocode} 9309% \end{macrocode}
9307% \end{macro} 9310% \end{macro}
9308% \begin{macro}{\addtomaxlines} 9311% \begin{macro}{\addtomaxlines}
9309% \changes{v1.5}{2023/05/21}{adds or subtracts lines from a given page} 9312% \changes{v1.5}{2023/06/17}{adds or subtracts lines from a given page}
9310% Unlike \cs{localmaxlines}, \cs{addtomaxlines}\meta{n} takes as 9313% Unlike \cs{localmaxlines}, \cs{addtomaxlines}\meta{n} takes as
9311% argument the number of lines one wishes to add or substract from the 9314% argument the number of lines one wishes to add or substract from the
9312% number that has been set by \cs{setmaxlines}. As a result, \meta{n} 9315% number that has been set by \cs{setmaxlines}. As a result, \meta{n}
@@ -9319,7 +9322,7 @@ Sample text with a \textcolor{red}{word} in red.
9319% \end{macrocode} 9322% \end{macrocode}
9320% \end{macro} 9323% \end{macro}
9321% \begin{macro}{\nomaxlines} 9324% \begin{macro}{\nomaxlines}
9322% \changes{v1.5}{2023/05/21}{unsets \cs{setmaxlines}} 9325% \changes{v1.5}{2023/06/17}{unsets \cs{setmaxlines}}
9323% \cs{nomaxlines} unsets any limit previously set by \cs{setmaxlines}. 9326% \cs{nomaxlines} unsets any limit previously set by \cs{setmaxlines}.
9324% \begin{macrocode} 9327% \begin{macrocode}
9325\def\nomaxlines{\luadirect{tex.sprint(ekdosis.resetlocalmaxlines())}} 9328\def\nomaxlines{\luadirect{tex.sprint(ekdosis.resetlocalmaxlines())}}
@@ -9383,7 +9386,7 @@ Sample text with a \textcolor{red}{word} in red.
9383% \end{macrocode} 9386% \end{macrocode}
9384% \end{macro} 9387% \end{macro}
9385% \begin{macro}{\App} 9388% \begin{macro}{\App}
9386% \changes{v1.5}{2023/05/21}{To be used conjointly with 9389% \changes{v1.5}{2023/06/17}{To be used conjointly with
9387% \texttt{ekdosis.el}} 9390% \texttt{ekdosis.el}}
9388% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and 9391% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and
9389% accepts one optional argument like so: 9392% accepts one optional argument like so:
@@ -10267,7 +10270,7 @@ Sample text with a \textcolor{red}{word} in red.
10267% \end{macro} 10270% \end{macro}
10268% \paragraph{Lacunae} 10271% \paragraph{Lacunae}
10269% \begin{macro}{\ilabel} 10272% \begin{macro}{\ilabel}
10270% \changes{v1.5}{2023/05/21}{recalls and sets the ending label of 10273% \changes{v1.5}{2023/06/17}{recalls and sets the ending label of
10271% lemmas used to mark lacunae in witnesses} When \cs{lem} has been 10274% lemmas used to mark lacunae in witnesses} When \cs{lem} has been
10272% used with the optional argument |ilabel=<label>|, 10275% used with the optional argument |ilabel=<label>|,
10273% \cs{ilabel}\marg{label} must be used to mark the point where the 10276% \cs{ilabel}\marg{label} must be used to mark the point where the
@@ -10354,9 +10357,12 @@ Sample text with a \textcolor{red}{word} in red.
10354 store apparatus = \apparatus@value, 10357 store apparatus = \apparatus@value,
10355 bool paired = \ifekd@paired, 10358 bool paired = \ifekd@paired,
10356 choice lineation = {page = \ekd@pagelineationtrue, 10359 choice lineation = {page = \ekd@pagelineationtrue,
10357 document = \ekd@pagelineationfalse}, 10360 document = \ekd@pagelineationfalse,
10361 none = \ekd@pagelineationtrue
10362 \ekd@hidelinenumberstrue},
10358 unknown-choice lineation = \PackageError{ekdosis}{unknown 10363 unknown-choice lineation = \PackageError{ekdosis}{unknown
10359 lineation=#1}{`lineation' must be either `page' or `document'.}, 10364 lineation=#1}{`lineation' must be either `page', `document' or
10365 `none'.},
10360 choice segmentation = {auto = \def\segmentation@val{auto}, 10366 choice segmentation = {auto = \def\segmentation@val{auto},
10361 noauto = \def\segmentation@val{noauto}}, 10367 noauto = \def\segmentation@val{noauto}},
10362 unknown-choice segmentation = \PackageError{ekdosis}{unknown 10368 unknown-choice segmentation = \PackageError{ekdosis}{unknown
@@ -10393,9 +10399,9 @@ Sample text with a \textcolor{red}{word} in red.
10393% by \pkg{ekdosis}. 10399% by \pkg{ekdosis}.
10394% \begin{macrocode} 10400% \begin{macrocode}
10395\NewDocumentCommand{\EkdosisColStart}{}{% 10401\NewDocumentCommand{\EkdosisColStart}{}{%
10396 \ekd@setlineno% 10402 \ekd@setlineno
10397 \runninglinenumbers 10403 \runninglinenumbers
10398 \ekd@storecol% 10404 \ekd@storecol
10399 \stepcounter{ekd@lab}% 10405 \stepcounter{ekd@lab}%
10400 \zlabel{ekd:\theekd@lab}% 10406 \zlabel{ekd:\theekd@lab}%
10401 \luadirect{% 10407 \luadirect{%
@@ -10404,6 +10410,9 @@ Sample text with a \textcolor{red}{word} in red.
10404 \ifekd@pagelineation 10410 \ifekd@pagelineation
10405 \luadirect{tex.sprint(ekdosis.checkresetlineno())} 10411 \luadirect{tex.sprint(ekdosis.checkresetlineno())}
10406 \fi 10412 \fi
10413 \ifekd@hidelinenumbers
10414 \def\thelinenumber{}%
10415 \fi
10407} 10416}
10408\NewDocumentCommand{\EkdosisColStop}{}{% 10417\NewDocumentCommand{\EkdosisColStop}{}{%
10409 \stepcounter{ekd@lab}% 10418 \stepcounter{ekd@lab}%
@@ -10411,7 +10420,7 @@ Sample text with a \textcolor{red}{word} in red.
10411 \luadirect{% 10420 \luadirect{%
10412 ekdosis.storeabspg(\luastring{\zref@extract{ekd:\theekd@lab}{abspage}}, 10421 ekdosis.storeabspg(\luastring{\zref@extract{ekd:\theekd@lab}{abspage}},
10413 "pg_ii")}% 10422 "pg_ii")}%
10414 \endrunninglinenumbers% 10423 \endrunninglinenumbers
10415} 10424}
10416% \end{macrocode} 10425% \end{macrocode}
10417% \begin{environment}{alignment} 10426% \begin{environment}{alignment}
@@ -10583,7 +10592,7 @@ Sample text with a \textcolor{red}{word} in red.
10583% \end{macrocode} 10592% \end{macrocode}
10584% \end{macro} 10593% \end{macro}
10585% \begin{macro}{\ekdEOprint} 10594% \begin{macro}{\ekdEOprint}
10586% \changes{v1.5}{2023/05/21}{Sets headers and footers on 10595% \changes{v1.5}{2023/06/17}{Sets headers and footers on
10587% \enquote{paired} facing pages} 10596% \enquote{paired} facing pages}
10588% To set headers and footers on \enquote{paired} facing pages, 10597% To set headers and footers on \enquote{paired} facing pages,
10589% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like 10598% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like
@@ -10623,7 +10632,7 @@ Sample text with a \textcolor{red}{word} in red.
10623% counter to set the value of the page numbers. This counter should be 10632% counter to set the value of the page numbers. This counter should be
10624% incremented every two pages. 10633% incremented every two pages.
10625% \begin{counter}{pairedpage} 10634% \begin{counter}{pairedpage}
10626% \changes{v1.5}{2023/05/21}{A counter incremented every two pages} 10635% \changes{v1.5}{2023/06/17}{A counter incremented every two pages}
10627% |pairedpage| is first set as a global counter:--- 10636% |pairedpage| is first set as a global counter:---
10628% \begin{macrocode} 10637% \begin{macrocode}
10629\newcounter{pairedpage} 10638\newcounter{pairedpage}
@@ -10631,19 +10640,19 @@ Sample text with a \textcolor{red}{word} in red.
10631% \end{macrocode} 10640% \end{macrocode}
10632% \end{counter} 10641% \end{counter}
10633% \begin{macro}{\setpairedpagenum} 10642% \begin{macro}{\setpairedpagenum}
10634% \changes{v1.5}{2023/05/21}{sets the same page number on paired 10643% \changes{v1.5}{2023/06/17}{sets the same page number on paired
10635% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of 10644% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of
10636% the alignment environment to set the number of the first left-hand 10645% the alignment environment to set the number of the first left-hand
10637% paired page. 10646% paired page.
10638% \begin{macro}{\setpairedpage} 10647% \begin{macro}{\setpairedpage}
10639% \changes{v1.5}{2023/05/21}{sets the page number of the first paired 10648% \changes{v1.5}{2023/06/17}{sets the page number of the first paired
10640% page} \cs{setpairedpage} is an argument-less command meant to be 10649% page} \cs{setpairedpage} is an argument-less command meant to be
10641% issued in commands used to set headers or footers before 10650% issued in commands used to set headers or footers before
10642% \cs{thepage}. This command has the counter |pairedpage| 10651% \cs{thepage}. This command has the counter |pairedpage|
10643% incremented on right-hand pages only, and sets |page| $\leftarrow$ 10652% incremented on right-hand pages only, and sets |page| $\leftarrow$
10644% |pairedpage| on every page. 10653% |pairedpage| on every page.
10645% \begin{macro}{\resetpagenumber} 10654% \begin{macro}{\resetpagenumber}
10646% \changes{v1.5}{2023/05/21}{resets normal running page numbers} 10655% \changes{v1.5}{2023/06/17}{resets normal running page numbers}
10647% \cs{resetpagenumber} must be used right out of \enquote{mirrored} 10656% \cs{resetpagenumber} must be used right out of \enquote{mirrored}
10648% paired pages alignment environments. This argument-less command 10657% paired pages alignment environments. This argument-less command
10649% corrects any numbering error on the page following the edition 10658% corrects any numbering error on the page following the edition