aboutsummaryrefslogtreecommitdiff
path: root/ekdosis.dtx
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2025-04-19 09:32:24 +0200
committerRobert Alessi <alessi@robertalessi.net>2025-04-19 09:32:24 +0200
commite00574a47b824272c5a30d7bd206e8e27b8c6c28 (patch)
tree8cf45f3cef5e5b7326d41fee5c85e40d7537f395 /ekdosis.dtx
parentc31e7ec1496d22362c3da0d6fc8ef45622cf3cbc (diff)
downloadekdosis-e00574a47b824272c5a30d7bd206e8e27b8c6c28.tar.gz
added additional to the options of \DeclareWitness
Diffstat (limited to 'ekdosis.dtx')
-rw-r--r--ekdosis.dtx71
1 files changed, 45 insertions, 26 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx
index 730de36..e6669c6 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 [2025/04/02 v1.5-dev Typesetting TEI xml-compliant critical editions] 62 [2025/04/19 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}
@@ -1603,7 +1603,16 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1603% used to identify the date of origin for the witness.\\ 1603% used to identify the date of origin for the witness.\\
1604% \DescribeOption{locus} |locus|$=$\meta{locus}\newfeature[v1.3]: The 1604% \DescribeOption{locus} |locus|$=$\meta{locus}\newfeature[v1.3]: The
1605% sequence of folio references where the edition text is found in the 1605% sequence of folio references where the edition text is found in the
1606% manuscript. 1606% manuscript.\\
1607% \DescribeOption{additional}
1608% |additional|$=$\meta{additional}\newfeature[v1.5]: Any additional
1609% information about the manuscript that can be provided as either one
1610% or more paragraphs. \danger In this latter case, the paragraphs must
1611% be inserted in \env{ekdpar} environments as described
1612% \vref{ref:ekdpar}. It is then necessary to set |autopar=true| in the
1613% preamble before declaring the witnesses. If required, |autopar| can
1614% be set back to |false| in the document.\footnote{For more
1615% information on this technique, see \vref{ref:autopar}.}
1607% 1616%
1608% \phts\label{ref:marcianus-b} 1617% \phts\label{ref:marcianus-b}
1609% To take here one example, a witness such as the \emph{Marcianus 1618% To take here one example, a witness such as the \emph{Marcianus
@@ -1622,7 +1631,9 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1622 msName=Marcianus Gr., 1631 msName=Marcianus Gr.,
1623 idno=269, 1632 idno=269,
1624 origDate=s. X, 1633 origDate=s. X,
1625 locus=fol. 416\textsuperscript{v}–426\textsuperscript{v}] 1634 locus=fol. 416\textsuperscript{v}–426\textsuperscript{v},
1635 additional={The accidents suffered by this manuscript
1636 predate the three series of signatures.}]
1626\end{minted} 1637\end{minted}
1627% \iffalse 1638% \iffalse
1628%</example> 1639%</example>
@@ -7273,8 +7284,8 @@ I saw my friend +\textcolor{lavender}{Peter}+ yesterday.
7273% \cs{SetAlignment}.\footnote{See above 7284% \cs{SetAlignment}.\footnote{See above
7274% \vref{sec:multiple-alignment}.} At the time of writing, there is 7285% \vref{sec:multiple-alignment}.} At the time of writing, there is
7275% only one option, as follows:---\\ 7286% only one option, as follows:---\\
7276% \DescribeOption{autopar} |autopar|$=$\verb+true|false+ 7287% \DescribeOption{autopar} \phts\label{ref:autopar}
7277% \hfill\tcboxverb{Default: true}\\ 7288% |autopar|$=$\verb+true|false+ \hfill\tcboxverb{Default: true}\\
7278% The algorithm described above applies for edition texts composed in 7289% The algorithm described above applies for edition texts composed in
7279% running paragraphs or lines of poetry, but it may fail to produce a 7290% running paragraphs or lines of poetry, but it may fail to produce a
7280% valid \texttt{TEI xml} output with other arrangements, such as 7291% valid \texttt{TEI xml} output with other arrangements, such as
@@ -7289,6 +7300,7 @@ I saw my friend +\textcolor{lavender}{Peter}+ yesterday.
7289% |autopar=false| is provided below in 7300% |autopar=false| is provided below in
7290% \vref{sec:specific-tei-modules}. 7301% \vref{sec:specific-tei-modules}.
7291% 7302%
7303% \phts\label{ref:ekdpar}
7292% \DescribeEnv{ekdpar} \cs{begin}|{ekdpar}| \dots\ \cs{end}|{ekdpar}| 7304% \DescribeEnv{ekdpar} \cs{begin}|{ekdpar}| \dots\ \cs{end}|{ekdpar}|
7293% is a simple environment that does nothing but insert \cs{par} 7305% is a simple environment that does nothing but insert \cs{par}
7294% primitives. It can be used to instruct \pkg{ekdosis} to place 7306% primitives. It can be used to instruct \pkg{ekdosis} to place
@@ -8520,7 +8532,7 @@ Sample text with a \textcolor{red}{word} in red.
8520% \end{macrocode} 8532% \end{macrocode}
8521% \paragraph{\textsf{ekdosis} Symbol} 8533% \paragraph{\textsf{ekdosis} Symbol}
8522% \begin{macro}{\eKd} 8534% \begin{macro}{\eKd}
8523% \changes{v1.5}{2025/04/02}{Prints \textsf{ekdosis} indentifying 8535% \changes{v1.5}{2025/04/19}{Prints \textsf{ekdosis} indentifying
8524% symbol} As of v1.5, \pkg{ekdosis} has its own identifying 8536% symbol} As of v1.5, \pkg{ekdosis} has its own identifying
8525% symbol. It is produced by \cs{eKd} and best printed with the Old 8537% symbol. It is produced by \cs{eKd} and best printed with the Old
8526% Standard Greek font. 8538% Standard Greek font.
@@ -8601,7 +8613,8 @@ Sample text with a \textcolor{red}{word} in red.
8601 store idno = \idno@value, 8613 store idno = \idno@value,
8602 store msName = \msName@value, 8614 store msName = \msName@value,
8603 store origDate = \origDate@value, 8615 store origDate = \origDate@value,
8604 store locus = \locus@value 8616 store locus = \locus@value,
8617 store additional = \additional@value
8605} 8618}
8606% \end{macrocode} 8619% \end{macrocode}
8607% \begin{macro}{\DeclareWitness} \cs{DeclareWitness} is a 8620% \begin{macro}{\DeclareWitness} \cs{DeclareWitness} is a
@@ -8625,7 +8638,8 @@ Sample text with a \textcolor{red}{word} in red.
8625 \luastringO{\idno@value}, 8638 \luastringO{\idno@value},
8626 \luastringO{\msName@value}, 8639 \luastringO{\msName@value},
8627 \luastringO{\origDate@value}, 8640 \luastringO{\origDate@value},
8628 \luastringO{\locus@value})} 8641 \luastringO{\locus@value},
8642 \luastringO{\additional@value})}
8629 \egroup 8643 \egroup
8630 } 8644 }
8631\@onlypreamble\DeclareWitness 8645\@onlypreamble\DeclareWitness
@@ -8783,7 +8797,7 @@ Sample text with a \textcolor{red}{word} in red.
8783% \begin{macro}{\teidirectE} 8797% \begin{macro}{\teidirectE}
8784% \changes{v1.3}{2021/08/18}{direct insertion of elements in the 8798% \changes{v1.3}{2021/08/18}{direct insertion of elements in the
8785% \texttt{TEI xml} file} 8799% \texttt{TEI xml} file}
8786% \changes{v1.5}{2025/04/02}{direct insertion of empty elements in the 8800% \changes{v1.5}{2025/04/19}{direct insertion of empty elements in the
8787% \texttt{TEI xml} file} 8801% \texttt{TEI xml} file}
8788% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code} 8802% \cs{teidirect}\oarg{xml attributes}\marg{xml element}\marg{code}
8789% does nothing in \LaTeX. It is only used to insert elements in the 8803% does nothing in \LaTeX. It is only used to insert elements in the
@@ -8798,7 +8812,7 @@ Sample text with a \textcolor{red}{word} in red.
8798% \end{macro} 8812% \end{macro}
8799% \end{macro} 8813% \end{macro}
8800% \begin{macro}{\getTEIxmlid} 8814% \begin{macro}{\getTEIxmlid}
8801% \changes{v1.5}{2025/04/02}{returns \texttt{TEI xml:ids} from a 8815% \changes{v1.5}{2025/04/19}{returns \texttt{TEI xml:ids} from a
8802% csv-list of ids} This command returns from a csv-list of unique 8816% csv-list of ids} This command returns from a csv-list of unique
8803% identifiers declared in commands such as \cs{DeclareWitness} and the 8817% identifiers declared in commands such as \cs{DeclareWitness} and the
8804% like a space-separated list of their corresponding |xml:id|s, each 8818% like a space-separated list of their corresponding |xml:id|s, each
@@ -9274,7 +9288,7 @@ Sample text with a \textcolor{red}{word} in red.
9274\newlength{\ekd@app@localheight} 9288\newlength{\ekd@app@localheight}
9275% \end{macrocode} 9289% \end{macrocode}
9276% \begin{macro}{\localappheight} 9290% \begin{macro}{\localappheight}
9277% \changes{v1.5}{2025/04/02}{changes the height of the apparatus 9291% \changes{v1.5}{2025/04/19}{changes the height of the apparatus
9278% criticus} 9292% criticus}
9279% \cs{localappheight}\marg{dimen} can be used to change locally the 9293% \cs{localappheight}\marg{dimen} can be used to change locally the
9280% length of \cs{ekd@app@height} set by the |appheight| option of 9294% length of \cs{ekd@app@height} set by the |appheight| option of
@@ -9293,7 +9307,7 @@ Sample text with a \textcolor{red}{word} in red.
9293% \end{macrocode} 9307% \end{macrocode}
9294% \end{macro} 9308% \end{macro}
9295% \begin{macro}{\addtoappheight} 9309% \begin{macro}{\addtoappheight}
9296% \changes{v1.5}{2025/04/02}{increases or decreases the height of the 9310% \changes{v1.5}{2025/04/19}{increases or decreases the height of the
9297% apparatus criticus} 9311% apparatus criticus}
9298% As the name suggests, in contrast to \cs{localappheight}, 9312% As the name suggests, in contrast to \cs{localappheight},
9299% \cs{addtoappheight}\marg{dimen} is used to increase or decrease 9313% \cs{addtoappheight}\marg{dimen} is used to increase or decrease
@@ -9582,7 +9596,7 @@ Sample text with a \textcolor{red}{word} in red.
9582% The following commands are provided to set and control the maximum 9596% The following commands are provided to set and control the maximum
9583% number of lines printed on each page. 9597% number of lines printed on each page.
9584% \begin{macro}{\setmaxlines} 9598% \begin{macro}{\setmaxlines}
9585% \changes{v1.5}{2025/04/02}{limits the number of lines per page} 9599% \changes{v1.5}{2025/04/19}{limits the number of lines per page}
9586% \cs{setmaxlines}\marg{n}, where \meta{n} is a positive integer 9600% \cs{setmaxlines}\marg{n}, where \meta{n} is a positive integer
9587% $\geq 1$, can be used either in the preamble or at any point of the 9601% $\geq 1$, can be used either in the preamble or at any point of the
9588% document to set the maximum number of lines to be printed on each 9602% document to set the maximum number of lines to be printed on each
@@ -9593,7 +9607,7 @@ Sample text with a \textcolor{red}{word} in red.
9593% \end{macrocode} 9607% \end{macrocode}
9594% \end{macro} 9608% \end{macro}
9595% \begin{macro}{\localmaxlines} 9609% \begin{macro}{\localmaxlines}
9596% \changes{v1.5}{2025/04/02}{changes the maximum number of lines 9610% \changes{v1.5}{2025/04/19}{changes the maximum number of lines
9597% locally} 9611% locally}
9598% Once a maximum number of lines per page has been set, 9612% Once a maximum number of lines per page has been set,
9599% \cs{localmaxlines}\marg{n} can be used to adjust this number on a 9613% \cs{localmaxlines}\marg{n} can be used to adjust this number on a
@@ -9606,7 +9620,7 @@ Sample text with a \textcolor{red}{word} in red.
9606% \end{macrocode} 9620% \end{macrocode}
9607% \end{macro} 9621% \end{macro}
9608% \begin{macro}{\addtomaxlines} 9622% \begin{macro}{\addtomaxlines}
9609% \changes{v1.5}{2025/04/02}{adds or subtracts lines from a given page} 9623% \changes{v1.5}{2025/04/19}{adds or subtracts lines from a given page}
9610% Unlike \cs{localmaxlines}, \cs{addtomaxlines}\meta{n} takes as 9624% Unlike \cs{localmaxlines}, \cs{addtomaxlines}\meta{n} takes as
9611% argument the number of lines one wishes to add or substract from the 9625% argument the number of lines one wishes to add or substract from the
9612% number that has been set by \cs{setmaxlines}. As a result, \meta{n} 9626% number that has been set by \cs{setmaxlines}. As a result, \meta{n}
@@ -9619,7 +9633,7 @@ Sample text with a \textcolor{red}{word} in red.
9619% \end{macrocode} 9633% \end{macrocode}
9620% \end{macro} 9634% \end{macro}
9621% \begin{macro}{\nomaxlines} 9635% \begin{macro}{\nomaxlines}
9622% \changes{v1.5}{2025/04/02}{unsets \cs{setmaxlines}} 9636% \changes{v1.5}{2025/04/19}{unsets \cs{setmaxlines}}
9623% \cs{nomaxlines} unsets any limit previously set by \cs{setmaxlines}. 9637% \cs{nomaxlines} unsets any limit previously set by \cs{setmaxlines}.
9624% \begin{macrocode} 9638% \begin{macrocode}
9625\def\nomaxlines{\luadirect{tex.sprint(ekdosis.resetlocalmaxlines())}} 9639\def\nomaxlines{\luadirect{tex.sprint(ekdosis.resetlocalmaxlines())}}
@@ -9683,7 +9697,7 @@ Sample text with a \textcolor{red}{word} in red.
9683% \end{macrocode} 9697% \end{macrocode}
9684% \end{macro} 9698% \end{macro}
9685% \begin{macro}{\App} 9699% \begin{macro}{\App}
9686% \changes{v1.5}{2025/04/02}{To be used conjointly with 9700% \changes{v1.5}{2025/04/19}{To be used conjointly with
9687% \texttt{ekdosis.el}} 9701% \texttt{ekdosis.el}}
9688% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and 9702% In contrast to \cs{app}, \cs{App} takes two mandatory arguments and
9689% accepts one optional argument like so: 9703% accepts one optional argument like so:
@@ -10668,7 +10682,7 @@ Sample text with a \textcolor{red}{word} in red.
10668} 10682}
10669% \end{macrocode} 10683% \end{macrocode}
10670% \begin{macro}{\SetFootnotes} 10684% \begin{macro}{\SetFootnotes}
10671% \changes{v1.5}{2025/04/02}{footnotes combined into a single 10685% \changes{v1.5}{2025/04/19}{footnotes combined into a single
10672% paragraph} \cs{SetFootnotes}\marg{options} can be used in the 10686% paragraph} \cs{SetFootnotes}\marg{options} can be used in the
10673% preamble or at any point of the document. |layout=paragraph| 10687% preamble or at any point of the document. |layout=paragraph|
10674% instructs \pkg{ekdosis} to combine all footnotes into a single 10688% instructs \pkg{ekdosis} to combine all footnotes into a single
@@ -10899,7 +10913,7 @@ Sample text with a \textcolor{red}{word} in red.
10899% \end{macro} 10913% \end{macro}
10900% \paragraph{Lacunae} 10914% \paragraph{Lacunae}
10901% \begin{macro}{\ilabel} 10915% \begin{macro}{\ilabel}
10902% \changes{v1.5}{2025/04/02}{recalls and sets the ending label of 10916% \changes{v1.5}{2025/04/19}{recalls and sets the ending label of
10903% lemmas used to mark lacunae in witnesses} When \cs{lem} has been 10917% lemmas used to mark lacunae in witnesses} When \cs{lem} has been
10904% used with the optional argument |ilabel=<label>|, 10918% used with the optional argument |ilabel=<label>|,
10905% \cs{ilabel}\marg{label} must be used to mark the point where the 10919% \cs{ilabel}\marg{label} must be used to mark the point where the
@@ -11239,7 +11253,7 @@ Sample text with a \textcolor{red}{word} in red.
11239% \end{macrocode} 11253% \end{macrocode}
11240% \end{macro} 11254% \end{macro}
11241% \begin{macro}{\ekdEOprint} 11255% \begin{macro}{\ekdEOprint}
11242% \changes{v1.5}{2025/04/02}{Sets headers and footers on 11256% \changes{v1.5}{2025/04/19}{Sets headers and footers on
11243% \enquote{paired} facing pages} 11257% \enquote{paired} facing pages}
11244% To set headers and footers on \enquote{paired} facing pages, 11258% To set headers and footers on \enquote{paired} facing pages,
11245% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like 11259% \cs{ekdEOprint} accepts two mandatory, self-evident arguments, like
@@ -11279,7 +11293,7 @@ Sample text with a \textcolor{red}{word} in red.
11279% counter to set the value of the page numbers. This counter should be 11293% counter to set the value of the page numbers. This counter should be
11280% incremented every two pages. 11294% incremented every two pages.
11281% \begin{counter}{pairedpage} 11295% \begin{counter}{pairedpage}
11282% \changes{v1.5}{2025/04/02}{A counter incremented every two pages} 11296% \changes{v1.5}{2025/04/19}{A counter incremented every two pages}
11283% |pairedpage| is first set as a global counter:--- 11297% |pairedpage| is first set as a global counter:---
11284% \begin{macrocode} 11298% \begin{macrocode}
11285\newcounter{pairedpage} 11299\newcounter{pairedpage}
@@ -11287,19 +11301,19 @@ Sample text with a \textcolor{red}{word} in red.
11287% \end{macrocode} 11301% \end{macrocode}
11288% \end{counter} 11302% \end{counter}
11289% \begin{macro}{\setpairedpagenum} 11303% \begin{macro}{\setpairedpagenum}
11290% \changes{v1.5}{2025/04/02}{sets the same page number on paired 11304% \changes{v1.5}{2025/04/19}{sets the same page number on paired
11291% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of 11305% pages} \cs{setpairedpagenum}\marg{number} is used just ahead of
11292% the alignment environment to set the number of the first left-hand 11306% the alignment environment to set the number of the first left-hand
11293% paired page. 11307% paired page.
11294% \begin{macro}{\setpairedpage} 11308% \begin{macro}{\setpairedpage}
11295% \changes{v1.5}{2025/04/02}{sets the page number of the first paired 11309% \changes{v1.5}{2025/04/19}{sets the page number of the first paired
11296% page} \cs{setpairedpage} is an argument-less command meant to be 11310% page} \cs{setpairedpage} is an argument-less command meant to be
11297% issued in commands used to set headers or footers before 11311% issued in commands used to set headers or footers before
11298% \cs{thepage}. This command has the counter |pairedpage| 11312% \cs{thepage}. This command has the counter |pairedpage|
11299% incremented on right-hand pages only, and sets |page| $\leftarrow$ 11313% incremented on right-hand pages only, and sets |page| $\leftarrow$
11300% |pairedpage| on every page. 11314% |pairedpage| on every page.
11301% \begin{macro}{\resetpagenumber} 11315% \begin{macro}{\resetpagenumber}
11302% \changes{v1.5}{2025/04/02}{resets normal running page numbers} 11316% \changes{v1.5}{2025/04/19}{resets normal running page numbers}
11303% \cs{resetpagenumber} must be used right out of \enquote{mirrored} 11317% \cs{resetpagenumber} must be used right out of \enquote{mirrored}
11304% paired pages alignment environments. This argument-less command 11318% paired pages alignment environments. This argument-less command
11305% corrects any numbering error on the page following the edition 11319% corrects any numbering error on the page following the edition
@@ -11808,7 +11822,8 @@ function ekdosis.newwitness(id,
11808 Idno, 11822 Idno,
11809 MsName, 11823 MsName,
11810 OrigDate, 11824 OrigDate,
11811 Locus) 11825 Locus,
11826 Additional)
11812 if xmlidfound(id) 11827 if xmlidfound(id)
11813 then 11828 then
11814 tex.print("\\unexpanded{\\PackageWarning{ekdosis}{\"" 11829 tex.print("\\unexpanded{\\PackageWarning{ekdosis}{\""
@@ -11837,7 +11852,8 @@ function ekdosis.newwitness(id,
11837 repository = Repository, 11852 repository = Repository,
11838 collection = Collection, 11853 collection = Collection,
11839 idno = Idno, 11854 idno = Idno,
11840 msName = MsName} 11855 msName = MsName},
11856 additional = Additional
11841 }) 11857 })
11842 local indexwit = getindex(id, listWit) 11858 local indexwit = getindex(id, listWit)
11843 if OrigDate ~= "" then 11859 if OrigDate ~= "" then
@@ -13388,6 +13404,9 @@ function ekdosis.openteistream()
13388 f:write("</origin>", "\n") 13404 f:write("</origin>", "\n")
13389 f:write("</history>", "\n") 13405 f:write("</history>", "\n")
13390 end 13406 end
13407 if listWit[i].additional ~= "" then
13408 f:write("<additional>", textotei(listWit[i].additional), "</additional>", "\n")
13409 end
13391 f:write("</msDesc>", "\n") 13410 f:write("</msDesc>", "\n")
13392 f:write("</witness>", "\n") 13411 f:write("</witness>", "\n")
13393 end 13412 end