diff options
author | Robert Alessi <alessi@robertalessi.net> | 2021-12-09 09:01:02 +0100 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2021-12-09 09:01:02 +0100 |
commit | 34bfbfc0bbbc6bc0fa32e6de53ab6ceb2b07498d (patch) | |
tree | 6d28c5d39df44a3eeb179d75504cd38264451288 | |
parent | 4cc485a544abd3fc946d64c0ec8922ace7d254cf (diff) | |
download | ekdosis-34bfbfc.tar.gz |
\Set...Apparatus commands needed more expansion control
-rw-r--r-- | ekdosis.dtx | 74 |
1 files changed, 42 insertions, 32 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx index 9f34630..5cb1dac 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 | [2021/11/23 v1.5-dev Typesetting TEI xml-compliant critical editions] | 64 | [2021/12/09 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} |
@@ -563,14 +563,11 @@ along with this program. If not, see | |||
563 | \defaultfontfeatures{Renderer=Harfbuzz} | 563 | \defaultfontfeatures{Renderer=Harfbuzz} |
564 | \usepackage[latin.classic,greek.ancient,american]{babel} | 564 | \usepackage[latin.classic,greek.ancient,american]{babel} |
565 | \babelfont{rm}{Old Standard} | 565 | \babelfont{rm}{Old Standard} |
566 | \babelfont{sf}{NewCMSans10-Book} | 566 | \babelfont{sf}{NewComputerModernSans10} |
567 | \babelfont{tt}{NewCMMono10-Book} | 567 | \babelfont{tt}{NewComputerModernMono10} |
568 | \babelfont[greek]{rm}[ | 568 | \babelfont[greek]{rm}[Script=Greek, |
569 | Script=Greek, | 569 | RawFeature={+ss05;+ss06}] |
570 | RawFeature={+ss05;+ss06} | 570 | {Old Standard} |
571 | ]{Old Standard} | ||
572 | \babelfont[greek]{sf}[Script=Greek]{NewCMSans10-Book} | ||
573 | \babelfont[greek]{tt}[Script=Greek]{NewCMMono10-Book} | ||
574 | \newfontfamily{\junicode}{Junicode}[ | 571 | \newfontfamily{\junicode}{Junicode}[ |
575 | Ligatures=TeX, | 572 | Ligatures=TeX, |
576 | RawFeature={+hist}] | 573 | RawFeature={+hist}] |
@@ -716,6 +713,8 @@ along with this program. If not, see | |||
716 | \metaset[sep]{draft}{ -- } | 713 | \metaset[sep]{draft}{ -- } |
717 | \metasetlang{en-US} | 714 | \metasetlang{en-US} |
718 | \metaset{title}{ἔκδοσις} | 715 | \metaset{title}{ἔκδοσις} |
716 | \metaset[print]{title}{\href{http://www.ekdosis.org}{\eKd}\hfill | ||
717 | ἔκδοσις\hfill\phantom{\eKd}} | ||
719 | \metaset{date}{\filedate} | 718 | \metaset{date}{\filedate} |
720 | \metaset{draft}{\fileversion} | 719 | \metaset{draft}{\fileversion} |
721 | \metaset{subject}{TEI xml-compliant critical editions} | 720 | \metaset{subject}{TEI xml-compliant critical editions} |
@@ -755,6 +754,7 @@ along with this program. If not, see | |||
755 | \metawritepdfpreamble | 754 | \metawritepdfpreamble |
756 | \metawritepdfcontact | 755 | \metawritepdfcontact |
757 | \metawritepdfrights | 756 | \metawritepdfrights |
757 | \usepackage{abstract} | ||
758 | \usepackage{multicol} | 758 | \usepackage{multicol} |
759 | \setlength\IndexMin{100pt} | 759 | \setlength\IndexMin{100pt} |
760 | \usepackage{tocloft} | 760 | \usepackage{tocloft} |
@@ -900,19 +900,19 @@ along with this program. If not, see | |||
900 | % \changes{v1.0}{2020/08/14}{Documentation complete} | 900 | % \changes{v1.0}{2020/08/14}{Documentation complete} |
901 | % | 901 | % |
902 | % \begin{abstract} | 902 | % \begin{abstract} |
903 | % \pkg{ekdosis} is a Lua\LaTeX{} package designed for | 903 | % \pkg{ekdosis} is a Lua\LaTeX{} package designed for multilingual |
904 | % multilingual critical editions. It can be used to typeset texts | 904 | % critical editions. It can be used to typeset texts and different |
905 | % and different layers of critical notes in any direction accepted | 905 | % layers of critical notes in any direction accepted by |
906 | % by Lua\TeX. Texts can be arranged in running paragraphs or on | 906 | % Lua\TeX. Texts can be arranged in running paragraphs or on facing |
907 | % facing pages, in any number of columns which in turn can be | 907 | % pages, in any number of columns which in turn can be synchronized |
908 | % synchronized or not. In addition to printed texts, | 908 | % or not. In addition to printed texts, \pkg{ekdosis} can convert |
909 | % \pkg{ekdosis} can convert \texttt{.tex} source files so as to | 909 | % \texttt{.tex} source files so as to produce \texttt{TEI |
910 | % produce \texttt{TEI xml}-compliant critical | 910 | % xml}-compliant critical editions. Database-driven encoding under |
911 | % editions. Database-driven encoding under \LaTeX{} then allows | 911 | % \LaTeX{} then allows extraction of texts entered segment by |
912 | % extraction of texts entered segment by segment according to | 912 | % segment according to various criteria: main edited text, variant |
913 | % various criteria: main edited text, variant readings, translations | 913 | % readings, translations or annotated borrowings between texts. It |
914 | % or annotated borrowings between texts. It is published under the | 914 | % is published under the terms of the GNU General Public License |
915 | % terms of the GNU General Public License (GPL) version 3. | 915 | % (GPL) version 3. |
916 | % \end{abstract} | 916 | % \end{abstract} |
917 | % | 917 | % |
918 | % \section*{License and Disclaimer} | 918 | % \section*{License and Disclaimer} |
@@ -7754,6 +7754,16 @@ Sample text with a \textcolor{red}{word} in red. | |||
7754 | \luadirect{ekdosis.closestream()} | 7754 | \luadirect{ekdosis.closestream()} |
7755 | } | 7755 | } |
7756 | % \end{macrocode} | 7756 | % \end{macrocode} |
7757 | % \paragraph{\textsf{ekdosis} Symbol} | ||
7758 | % \begin{macro}{\eKd} | ||
7759 | % \changes{v1.5}{2021/12/09}{Prints \textsf{ekdosis} indentifying | ||
7760 | % symbol} As of v1.5, \pkg{ekdosis} has its own indentifying | ||
7761 | % symbol. It is produced by \cs{eKd} and best printed with the Old | ||
7762 | % Standard Greek font. | ||
7763 | % \begin{macrocode} | ||
7764 | \def\eKd{ε\kern -.4em\raise 1.15ex\hbox{κ}\kern -.105emδ} | ||
7765 | % \end{macrocode} | ||
7766 | % \end{macro} | ||
7757 | % \paragraph{Setup} | 7767 | % \paragraph{Setup} |
7758 | % \begin{macro}{\ekdsetup} | 7768 | % \begin{macro}{\ekdsetup} |
7759 | % \changes{v1.3}{2021/08/18}{new command for global options} | 7769 | % \changes{v1.3}{2021/08/18}{new command for global options} |
@@ -8279,15 +8289,15 @@ Sample text with a \textcolor{red}{word} in red. | |||
8279 | % point of the document. The keys to be used follow:--- | 8289 | % point of the document. The keys to be used follow:--- |
8280 | % \begin{macrocode} | 8290 | % \begin{macrocode} |
8281 | \newif\ifrtl@app | 8291 | \newif\ifrtl@app |
8282 | \edef\ekdsep{] } | 8292 | \def\ekdsep{] } |
8283 | \edef\ekdsubsep{} | 8293 | \def\ekdsubsep{} |
8284 | \ekvdefinekeys{default@app}{ | 8294 | \ekvdefinekeys{default@app}{ |
8285 | choice direction = {LR = \rtl@appfalse, | 8295 | choice direction = {LR = \rtl@appfalse, |
8286 | RL = \rtl@apptrue}, | 8296 | RL = \rtl@apptrue}, |
8287 | unknown-choice direction = \PackageError{ekdosis}{unknown | 8297 | unknown-choice direction = \PackageError{ekdosis}{unknown |
8288 | direction=#1}{`direction' must be either `LR' or `RL'.}, | 8298 | direction=#1}{`direction' must be either `LR' or `RL'.}, |
8289 | code sep = \edef\ekdsep{#1}, | 8299 | code sep = \def\ekdsep{#1}, |
8290 | code subsep = \edef\ekdsubsep{#1}, | 8300 | code subsep = \def\ekdsubsep{#1}, |
8291 | store bhook = \ekd@begin@apparatus, | 8301 | store bhook = \ekd@begin@apparatus, |
8292 | initial bhook = {}, | 8302 | initial bhook = {}, |
8293 | store ehook = \ekd@end@apparatus, | 8303 | store ehook = \ekd@end@apparatus, |
@@ -8330,7 +8340,7 @@ Sample text with a \textcolor{red}{word} in red. | |||
8330 | % between lemma texts and variant readings, which is by default | 8340 | % between lemma texts and variant readings, which is by default |
8331 | % a closing square bracket followed by a space (\verb*+] +):--- | 8341 | % a closing square bracket followed by a space (\verb*+] +):--- |
8332 | % \begin{macrocode} | 8342 | % \begin{macrocode} |
8333 | \NewDocumentCommand{\SetSeparator}{m}{\edef\ekdsep{#1}} | 8343 | \NewDocumentCommand{\SetSeparator}{m}{\def\ekdsep{#1}} |
8334 | % \end{macrocode} | 8344 | % \end{macrocode} |
8335 | % \end{macro} | 8345 | % \end{macro} |
8336 | % \begin{macro}{\SetSubseparator} | 8346 | % \begin{macro}{\SetSubseparator} |
@@ -8339,7 +8349,7 @@ Sample text with a \textcolor{red}{word} in red. | |||
8339 | % \enquote{subseparator} between variant readings. By default, | 8349 | % \enquote{subseparator} between variant readings. By default, |
8340 | % no subseparator is set:--- | 8350 | % no subseparator is set:--- |
8341 | % \begin{macrocode} | 8351 | % \begin{macrocode} |
8342 | \NewDocumentCommand{\SetSubseparator}{m}{\edef\ekdsubsep{#1}} | 8352 | \NewDocumentCommand{\SetSubseparator}{m}{\def\ekdsubsep{#1}} |
8343 | % \end{macrocode} | 8353 | % \end{macrocode} |
8344 | % \end{macro} | 8354 | % \end{macro} |
8345 | % \begin{macro}{\SetBeginApparatus} | 8355 | % \begin{macro}{\SetBeginApparatus} |
@@ -8347,7 +8357,7 @@ Sample text with a \textcolor{red}{word} in red. | |||
8347 | % characters at the beginning of the apparatus block. By default, | 8357 | % characters at the beginning of the apparatus block. By default, |
8348 | % nothing is appended:--- | 8358 | % nothing is appended:--- |
8349 | % \begin{macrocode} | 8359 | % \begin{macrocode} |
8350 | \NewDocumentCommand{\SetBeginApparatus}{m}{\edef\ekd@begin@apparatus{#1}} | 8360 | \NewDocumentCommand{\SetBeginApparatus}{m}{\def\ekd@begin@apparatus{#1}} |
8351 | % \end{macrocode} | 8361 | % \end{macrocode} |
8352 | % \end{macro} | 8362 | % \end{macro} |
8353 | % \begin{macro}{\SetEndApparatus} | 8363 | % \begin{macro}{\SetEndApparatus} |
@@ -8356,7 +8366,7 @@ Sample text with a \textcolor{red}{word} in red. | |||
8356 | % as it is customary in some editions. By default, nothing is | 8366 | % as it is customary in some editions. By default, nothing is |
8357 | % appended:--- | 8367 | % appended:--- |
8358 | % \begin{macrocode} | 8368 | % \begin{macrocode} |
8359 | \NewDocumentCommand{\SetEndApparatus}{m}{\edef\ekd@end@apparatus{#1}} | 8369 | \NewDocumentCommand{\SetEndApparatus}{m}{\def\ekd@end@apparatus{#1}} |
8360 | % \end{macrocode} | 8370 | % \end{macrocode} |
8361 | % \end{macro} | 8371 | % \end{macro} |
8362 | % \begin{macro}{\SetUnitDelimiter} | 8372 | % \begin{macro}{\SetUnitDelimiter} |
@@ -12259,12 +12269,12 @@ function ekdosis.appout() | |||
12259 | end | 12269 | end |
12260 | if apparatuses[n].sep ~= "" | 12270 | if apparatuses[n].sep ~= "" |
12261 | then | 12271 | then |
12262 | table.insert(output, "\\edef\\ekdsep{" .. apparatuses[n].sep .. "}") | 12272 | table.insert(output, "\\def\\ekdsep{" .. apparatuses[n].sep .. "}") |
12263 | else | 12273 | else |
12264 | end | 12274 | end |
12265 | if apparatuses[n].subsep ~= "" | 12275 | if apparatuses[n].subsep ~= "" |
12266 | then | 12276 | then |
12267 | table.insert(output, "\\edef\\ekdsubsep{" .. apparatuses[n].subsep .. "}") | 12277 | table.insert(output, "\\def\\ekdsubsep{" .. apparatuses[n].subsep .. "}") |
12268 | end | 12278 | end |
12269 | if apparatuses[n].bhook ~= "" | 12279 | if apparatuses[n].bhook ~= "" |
12270 | then | 12280 | then |