aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ekdosis.dtx113
-rw-r--r--ekdosis.el1
2 files changed, 68 insertions, 46 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx
index a7a5b49..a1c3bb0 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -61,7 +61,7 @@ along with this program. If not, see
61%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] 61%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
62%<package>\ProvidesPackage{ekdosis} 62%<package>\ProvidesPackage{ekdosis}
63%<*package> 63%<*package>
64 [2022/08/28 v1.5-dev Typesetting TEI xml-compliant critical editions] 64 [2022/09/01 v1.5-dev Typesetting TEI xml-compliant critical editions]
65%</package> 65%</package>
66%<*driver> 66%<*driver>
67\begin{filecontents}[noheader,overwrite]{bibdata.xml} 67\begin{filecontents}[noheader,overwrite]{bibdata.xml}
@@ -2011,13 +2011,17 @@ yesterday.
2011% \vpageref{ref:ilabel-cmd}.} This allows for abbreviated lemmas 2011% \vpageref{ref:ilabel-cmd}.} This allows for abbreviated lemmas
2012% corresponding to spans of texts that cross verse, paragraph or 2012% corresponding to spans of texts that cross verse, paragraph or
2013% section boundaries as described below in \vnref{sec:lacunae}.\\ 2013% section boundaries as described below in \vnref{sec:lacunae}.\\
2014% \DescribeOption{nodelim} |nodelim|$=$\verb+true|false+\\ 2014% \DescribeOption{delim} (no-value argument) \newfeature[v1.5]\\
2015% \newfeature[v1.5] This named argument does not need a value as it 2015% |delim| takes no value. If used, this argument instructs to forcibly
2016% defaults to |true| if used. |nodelim| removes the delimiter that is 2016% print the delimiter that \pkg{ekdosis} may have decided not to print
2017% printed just before the entry in the apparatus criticus. This option 2017% in the apparatus criticus before the lemma text.\\
2018% is typically used in rare occasions in combination with |nolem| and 2018% \DescribeOption{nodelim} (no-value argument)\\
2019% |nonum| for entries that carry information not to be printed in the 2019% \newfeature[v1.5] |nodelim| takes no value. If used, this argument
2020% apparatus but nevertheless to be retained in the \texttt{TEI xml} 2020% removes the delimiter that is printed just before the entry in the
2021% apparatus criticus. This option is typically used in rare occasions
2022% in combination with |nolem| and |nonum| for entries that carry
2023% information not to be printed in the apparatus but nevertheless to
2024% be retained in the \texttt{TEI xml}
2021% output file.\\ 2025% output file.\\
2022% \DescribeOption{sep} |sep|$=$\meta{separator}\\ 2026% \DescribeOption{sep} |sep|$=$\meta{separator}\\
2023% |sep| allows to change the symbol used to separate the lemma text 2027% |sep| allows to change the symbol used to separate the lemma text
@@ -8399,7 +8403,7 @@ Sample text with a \textcolor{red}{word} in red.
8399% \end{macrocode} 8403% \end{macrocode}
8400% \paragraph{\textsf{ekdosis} Symbol} 8404% \paragraph{\textsf{ekdosis} Symbol}
8401% \begin{macro}{\eKd} 8405% \begin{macro}{\eKd}
8402% \changes{v1.5}{2022/08/28}{Prints \textsf{ekdosis} indentifying 8406% \changes{v1.5}{2022/09/01}{Prints \textsf{ekdosis} indentifying
8403% symbol} As of v1.5, \pkg{ekdosis} has its own identifying 8407% symbol} As of v1.5, \pkg{ekdosis} has its own identifying
8404% symbol. It is produced by \cs{eKd} and best printed with the Old 8408% symbol. It is produced by \cs{eKd} and best printed with the Old
8405% Standard Greek font. 8409% Standard Greek font.
@@ -8662,7 +8666,7 @@ Sample text with a \textcolor{red}{word} in red.
8662% \begin{macro}{\teidirectE} 8666% \begin{macro}{\teidirectE}
8663% \changes{v1.3}{2021/08/18}{direct insertion of elements in the 8667% \changes{v1.3}{2021/08/18}{direct insertion of elements in the
8664% \texttt{TEI xml} file} 8668% \texttt{TEI xml} file}
8665% \changes{v1.5}{2022/08/28}{direct insertion of empty elements in the 8669% \changes{v1.5}{2022/09/01}{direct insertion of empty elements in the
8666% \texttt{TEI xml} file} 8670% \texttt{TEI xml} file}
8667% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code} 8671% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code}
8668% does nothing in \LaTeX. It is only used to insert elements in the 8672% does nothing in \LaTeX. It is only used to insert elements in the
@@ -8677,7 +8681,7 @@ Sample text with a \textcolor{red}{word} in red.
8677% \end{macro} 8681% \end{macro}
8678% \end{macro} 8682% \end{macro}
8679% \begin{macro}{\getTEIxmlid} 8683% \begin{macro}{\getTEIxmlid}
8680% \changes{v1.5}{2022/08/28}{returns \texttt{TEI xml:ids} from a 8684% \changes{v1.5}{2022/09/01}{returns \texttt{TEI xml:ids} from a
8681% csv-list of ids} This command returns from a csv-list of unique 8685% csv-list of ids} This command returns from a csv-list of unique
8682% identifiers declared in commands such as \cs{DeclareWitness} and the 8686% identifiers declared in commands such as \cs{DeclareWitness} and the
8683% like a space-separated list of their corresponding |xml:id|s, each 8687% like a space-separated list of their corresponding |xml:id|s, each
@@ -9425,7 +9429,7 @@ Sample text with a \textcolor{red}{word} in red.
9425% \end{macrocode} 9429% \end{macrocode}
9426% \end{macro} 9430% \end{macro}
9427% \begin{macro}{\App} 9431% \begin{macro}{\App}
9428% \changes{v1.5}{2022/08/28}{To be used conjointly with 9432% \changes{v1.5}{2022/09/01}{To be used conjointly with
9429% \texttt{ekdosis.el}} 9433% \texttt{ekdosis.el}}
9430% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and 9434% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and
9431% accepts one optional argument like so: 9435% accepts one optional argument like so:
@@ -9655,6 +9659,8 @@ Sample text with a \textcolor{red}{word} in red.
9655% \begin{macrocode} 9659% \begin{macrocode}
9656\newif\ifekdl@forcenum 9660\newif\ifekdl@forcenum
9657\newif\ifekdl@nonum 9661\newif\ifekdl@nonum
9662\newif\ifekdl@nodelim
9663\newif\ifekdl@forcedelim
9658\newif\ifekdl@ilabel 9664\newif\ifekdl@ilabel
9659\ekvdefinekeys{lem}{ 9665\ekvdefinekeys{lem}{
9660 code wit = \def\ekdlr@wit{#1}, 9666 code wit = \def\ekdlr@wit{#1},
@@ -9670,7 +9676,8 @@ Sample text with a \textcolor{red}{word} in red.
9670 store sep = \ekdl@sep, 9676 store sep = \ekdl@sep,
9671 noval nonum = \ekdl@nonumtrue, 9677 noval nonum = \ekdl@nonumtrue,
9672 noval num = \ekdl@forcenumtrue, 9678 noval num = \ekdl@forcenumtrue,
9673 bool nodelim = \ifekdl@nodelim, 9679 noval nodelim = \ekdl@nodelimtrue,
9680 noval delim = \ekdl@forcedelimtrue,
9674 bool nolem = \ifekdl@nolem, 9681 bool nolem = \ifekdl@nolem,
9675 nmeta Nolem = {nodelim, nonum, nolem}, 9682 nmeta Nolem = {nodelim, nonum, nolem},
9676 bool nosep = \ifekdl@nosep, 9683 bool nosep = \ifekdl@nosep,
@@ -9771,32 +9778,42 @@ Sample text with a \textcolor{red}{word} in red.
9771 \luadirect{tex.sprint(ekdosis.getappdelim(\luastringO{\ekdan@type}))}}% 9778 \luadirect{tex.sprint(ekdosis.getappdelim(\luastringO{\ekdan@type}))}}%
9772 \luadirect{tex.sprint(ekdosis.limit_bagunits(\luastringO{\ekdan@type}))}% 9779 \luadirect{tex.sprint(ekdosis.limit_bagunits(\luastringO{\ekdan@type}))}%
9773 \fi% 9780 \fi%
9774 \ifekdl@nolem\edef\lem@app{% 9781 \ifekdl@nolem
9775 % \hskip .75em 9782 \edef\lem@app{%
9776 \ifekd@mapps 9783 % \hskip .75em
9777 \unless\ifekdl@nodelim 9784 \ifekd@mapps
9778 \ifbool{subsq@unit@\ekdan@type}% 9785 \unless\ifekdl@nodelim
9779 {\ekd@munit@delim}{}% 9786 \ifbool{subsq@unit@\ekdan@type}%
9780 \fi 9787 {\ekd@munit@delim}{\ifekdl@forcedelim\ekd@munit@delim\fi}%
9781 \else 9788 \fi
9782 \unless\ifekdl@nodelim 9789 \else
9783 \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi 9790 \unless\ifekdl@nodelim
9784 \fi 9791 \ifsubsq@unit
9785 \fi% 9792 \unexpanded\expandafter{\ekd@unit@delim}%
9786 \unless\ifekdl@nonum\current@ref\fi}%\hskip .25em}% 9793 \else
9794 \ifekdl@forcedelim\unexpanded\expandafter{\ekd@unit@delim}\fi
9795 \fi
9796 \fi
9797 \fi%
9798 \unless\ifekdl@nonum\current@ref\fi
9799 }%\hskip .25em}%
9787 \else% 9800 \else%
9788 \ifbool{al@rlmode}{% 9801 \ifbool{al@rlmode}{%
9789 \edef\lem@app{% 9802 \edef\lem@app{%
9790 % \hskip .75em 9803 % \hskip .75em
9791 \ifekd@mapps 9804 \ifekd@mapps
9792 \unless\ifekdl@nodelim 9805 \unless\ifekdl@nodelim
9793 \ifbool{subsq@unit@\ekdan@type}% 9806 \ifbool{subsq@unit@\ekdan@type}%
9794 {\ekd@munit@delim}{}% 9807 {\ekd@munit@delim}{\ifekdl@forcedelim\ekd@munit@delim\fi}%
9795 \fi 9808 \fi
9796 \else 9809 \else
9797 \unless\ifekdl@nodelim 9810 \unless\ifekdl@nodelim
9798 \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi 9811 \ifsubsq@unit
9799 \fi 9812 \unexpanded\expandafter{\ekd@unit@delim}%
9813 \else
9814 \ifekdl@forcedelim\unexpanded\expandafter{\ekd@unit@delim}\fi
9815 \fi
9816 \fi
9800 \fi% 9817 \fi%
9801 \unless\ifekdl@nonum\current@ref\fi%\hskip .25em 9818 \unless\ifekdl@nonum\current@ref\fi%\hskip .25em
9802 \ifdefined\ekdlr@alt% 9819 \ifdefined\ekdlr@alt%
@@ -9828,14 +9845,18 @@ Sample text with a \textcolor{red}{word} in red.
9828 \edef\lem@app{% 9845 \edef\lem@app{%
9829 % \hskip .75em 9846 % \hskip .75em
9830 \ifekd@mapps 9847 \ifekd@mapps
9831 \unless\ifekdl@nodelim 9848 \unless\ifekdl@nodelim
9832 \ifbool{subsq@unit@\ekdan@type}% 9849 \ifbool{subsq@unit@\ekdan@type}%
9833 {\ekd@munit@delim}{}% 9850 {\ekd@munit@delim}{\ifekdl@forcedelim\ekd@munit@delim\fi}%
9834 \fi 9851 \fi
9835 \else 9852 \else
9836 \unless\ifekdl@nodelim 9853 \unless\ifekdl@nodelim
9837 \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi 9854 \ifsubsq@unit
9838 \fi 9855 \unexpanded\expandafter{\ekd@unit@delim}%
9856 \else
9857 \ifekdl@forcedelim\unexpanded\expandafter{\ekd@unit@delim}\fi
9858 \fi
9859 \fi
9839 \fi% 9860 \fi%
9840 \unless\ifekdl@nonum\current@ref\fi%\hskip .25em 9861 \unless\ifekdl@nonum\current@ref\fi%\hskip .25em
9841 \ifdefined\ekdlr@alt% 9862 \ifdefined\ekdlr@alt%
@@ -10298,7 +10319,7 @@ Sample text with a \textcolor{red}{word} in red.
10298% \end{macro} 10319% \end{macro}
10299% \paragraph{Lacunae} 10320% \paragraph{Lacunae}
10300% \begin{macro}{\ilabel} 10321% \begin{macro}{\ilabel}
10301% \changes{v1.5}{2022/08/28}{recalls and sets the ending label of 10322% \changes{v1.5}{2022/09/01}{recalls and sets the ending label of
10302% lemmas used to mark lacunae in witnesses} When \cs{lem} has been 10323% lemmas used to mark lacunae in witnesses} When \cs{lem} has been
10303% used with the optional argument |ilabel=<label>|, 10324% used with the optional argument |ilabel=<label>|,
10304% \cs{ilabel}\marg{label} must be used to mark the point where the 10325% \cs{ilabel}\marg{label} must be used to mark the point where the
@@ -10614,7 +10635,7 @@ Sample text with a \textcolor{red}{word} in red.
10614% \end{macrocode} 10635% \end{macrocode}
10615% \end{macro} 10636% \end{macro}
10616% \begin{macro}{\ekdEOprint} 10637% \begin{macro}{\ekdEOprint}
10617% \changes{v1.5}{2022/08/28}{Sets headers and footers on 10638% \changes{v1.5}{2022/09/01}{Sets headers and footers on
10618% \enquote{paired} facing pages} 10639% \enquote{paired} facing pages}
10619% To set headers and footers on \enquote{paired} facing pages, 10640% To set headers and footers on \enquote{paired} facing pages,
10620% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like 10641% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like
@@ -10654,7 +10675,7 @@ Sample text with a \textcolor{red}{word} in red.
10654% counter to set the value of the page numbers. This counter should be 10675% counter to set the value of the page numbers. This counter should be
10655% incremented every two pages. 10676% incremented every two pages.
10656% \begin{counter}{pairedpage} 10677% \begin{counter}{pairedpage}
10657% \changes{v1.5}{2022/08/28}{A counter incremented every two pages} 10678% \changes{v1.5}{2022/09/01}{A counter incremented every two pages}
10658% |pairedpage| is first set as a global counter:--- 10679% |pairedpage| is first set as a global counter:---
10659% \begin{macrocode} 10680% \begin{macrocode}
10660\newcounter{pairedpage} 10681\newcounter{pairedpage}
@@ -10662,19 +10683,19 @@ Sample text with a \textcolor{red}{word} in red.
10662% \end{macrocode} 10683% \end{macrocode}
10663% \end{counter} 10684% \end{counter}
10664% \begin{macro}{\setpairedpagenum} 10685% \begin{macro}{\setpairedpagenum}
10665% \changes{v1.5}{2022/08/28}{sets the same page number on paired 10686% \changes{v1.5}{2022/09/01}{sets the same page number on paired
10666% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of 10687% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of
10667% the alignment environment to set the number of the first left-hand 10688% the alignment environment to set the number of the first left-hand
10668% paired page. 10689% paired page.
10669% \begin{macro}{\setpairedpage} 10690% \begin{macro}{\setpairedpage}
10670% \changes{v1.5}{2022/08/28}{sets the page number of the first paired 10691% \changes{v1.5}{2022/09/01}{sets the page number of the first paired
10671% page} \cs{setpairedpage} is an argument-less command meant to be 10692% page} \cs{setpairedpage} is an argument-less command meant to be
10672% issued in commands used to set headers or footers before 10693% issued in commands used to set headers or footers before
10673% \cs{thepage}. This command has the counter |pairedpage| 10694% \cs{thepage}. This command has the counter |pairedpage|
10674% incremented on right-hand pages only, and sets |page| $\leftarrow$ 10695% incremented on right-hand pages only, and sets |page| $\leftarrow$
10675% |pairedpage| on every page. 10696% |pairedpage| on every page.
10676% \begin{macro}{\resetpagenumber} 10697% \begin{macro}{\resetpagenumber}
10677% \changes{v1.5}{2022/08/28}{resets normal running page numbers} 10698% \changes{v1.5}{2022/09/01}{resets normal running page numbers}
10678% \cs{resetpagenumber} must be used right out of \enquote{mirrored} 10699% \cs{resetpagenumber} must be used right out of \enquote{mirrored}
10679% paired pages alignment environments. This argument-less command 10700% paired pages alignment environments. This argument-less command
10680% corrects any numbering error on the page following the edition 10701% corrects any numbering error on the page following the edition
diff --git a/ekdosis.el b/ekdosis.el
index 21d202f..00deed5 100644
--- a/ekdosis.el
+++ b/ekdosis.el
@@ -91,6 +91,7 @@
91 ("sep") 91 ("sep")
92 ("type") 92 ("type")
93 ("ilabel") 93 ("ilabel")
94 ("delim")
94 ("nodelim") 95 ("nodelim")
95 ("num") 96 ("num")
96 ("nonum") 97 ("nonum")