aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2020-08-05 12:03:40 +0200
committerRobert Alessi <alessi@robertalessi.net>2020-08-05 12:03:40 +0200
commitc9d393cefb1046142a9fe57b0227ee8d3f5395c4 (patch)
treed31552d657db01efedf5cfe287db22a1c43e8148
parent90adfe55d9d636f85e0cfa7e0f1bd2b045e6ad76 (diff)
downloadekdosis-c9d393cefb1046142a9fe57b0227ee8d3f5395c4.tar.gz
\label and \linelabel generated wrong xml:ids. documenting on TEI output
-rw-r--r--ekdosis.dtx90
1 files changed, 86 insertions, 4 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx
index ff37d86..29c3626 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -122,6 +122,14 @@ along with this program. If not, see
122 organization = {Society for Classical Studies} 122 organization = {Society for Classical Studies}
123} 123}
124 124
125@Online{TBE,
126 author = {Van den Branden, Ron and Terras, Melissa and
127 Vanhoutte, Edward},
128 title = {TEI by Example},
129 urldate = {2020-08-04},
130 url = {http://www.teibyexample.org}
131}
132
125@Software{lineno, 133@Software{lineno,
126 title = {The Lineno package}, 134 title = {The Lineno package},
127 titleaddon = {Line numbers on paragraphs}, 135 titleaddon = {Line numbers on paragraphs},
@@ -3130,11 +3138,84 @@ subtype="arabtex">'inna 'abI kAna mina
3130%</example> 3138%</example>
3131% \fi 3139% \fi
3132% 3140%
3141% \section{\texttt{TEI xml} Output}
3142% \label{sec:teixml-output}
3143% Several examples of \texttt{TEI xml} output have been provided
3144% hitherto. Before proceeding, the reader is invited to return to
3145% every one of them. In this respect, it may be of interest to review
3146% carefully the excerpt of Caesar's \emph{Gallic War} of which the
3147% \LaTeX\ source file and its corresponding \texttt{TEI xml} output
3148% are printed in full below in \vref{sec:caesar-gw-6-1-13}. Once
3149% \pkg{ekdosis} has been instructed to convert the edition text into
3150% \texttt{TEI xml} (l.~11), the preamble of this file shows how to set
3151% languages and fonts to be used in the document (ll.~2--6), format
3152% the titles (l.~16) and lay out the alignment of an edition text
3153% associated with two translations (ll.~18--25). Furthermore, it shows
3154% how information related to each language (Latin, English and French)
3155% is to be found in two different places, namely for \texttt{TEI xml}
3156% output (ll.~21--3) and for PDF output through \LaTeX\
3157% (ll.~27--9). Finally, it provides examples of declaring witnesses,
3158% hands, scholars and shorthands (ll.~31--60). As to the document
3159% itself, it shows how to lay out a conspectus siglorum in a table
3160% (ll.~64--80), before giving detailed examples of how the edition
3161% text is entered (ll~85--101) and sectional commands provided by
3162% \pkg{ekdosis} are used (ll.~86, 103 and 110).\footnote{The PDF
3163% output is available as \href{samples/Caesar_BG-6-13-1.pdf}{a
3164% separate file}.}
3165%
3166% \subsection{Requesting \texttt{TEI xml} Output}
3167% \label{sec:request-tei-output}
3168% \texttt{TEI xml} output is requested by means of the |teiexport|
3169% global option as described above
3170% \vpageref{ref:teiexport-option}. Once instructed to output
3171% \texttt{TEI}, \pkg{ekdosis} converts in sequence the contents of
3172% \env{ekdosis} environments (see above
3173% \vref{sec:single-text-editing}). As regards the contents of
3174% \env{alignment} environments (see above \vref{sec:alignment-basic}),
3175% \pkg{ekdosis} first collates the contents of the environments that
3176% have been declared with the |texts| optional argument of
3177% \env{alignment} or with \cs{SetAlignment},\footnote{See above
3178% \vref{sec:multiple-alignment}.} then places each of the
3179% corresponding \texttt{TEI xml} outputs within distinct |<div>|
3180% elements named after the declared environments themselves. For
3181% example, to return to Caesar's text, the Latin edition text is found
3182% between a \cs{begin}|{latin}| \dots\ \cs{end}|{latin}| environment
3183% (see the |.tex| source file, \vref{sec:caesar-gw-tex}, ll.~85--101)
3184% which is declared at l.~21. Then, the corresponding \texttt{xml}
3185% output is found within a |<div>| element, the |xml:id| of which has
3186% been called by \pkg{ekdosis} |div-latin_1| (see
3187% \vref{sec:caesar-gw-tei}, ll.~176--200).
3188%
3189%
3190% \paragraph{Validation of the \texttt{TEI xml} Structure}
3191% The reference tool that the author relies on is that provided by the
3192% \emph{\texttt{TEI} by Example Project}.\footnote{\cite{TBE}.
3193% \texttt{TEI} validator:
3194% \url{http://teibyexample.com/xquery/TBEvalidator.xq}.} As for
3195% \pkg{ekdosis}, it is designed to produce on request, in addition to
3196% an edition in print, a \texttt{TEI xml} compliant output file. That
3197% said, one must keep in mind that the \LaTeX\ packages that are part
3198% of {\TeX}Live can be counted in thousands, and the commands they
3199% provide in tens of thousands. There may even be grounds in asserting
3200% that the possibilities offered by \TeX\ and \LaTeX\ exceed what can
3201% be afforded by \texttt{TEI xml}. On another hand, many \LaTeX\
3202% commands make no sense in \texttt{TEI}. Therefore, a sensible choice
3203% is to keep them out of the environments the contents of which are to
3204% be translated into \texttt{xml} elements.
3205%
3206% \subsection{General Principles}
3207% \label{sec:totei-general-principles}
3208% Converting a \LaTeX\ document into \texttt{TEI xml} is quite an
3209% intricate business. In many cases, \LaTeX\ strings are found within
3210% environments or groups: whether such groups are delimited by opening
3211% and closing braces or by explicit \cs{begin} \dots\ \cs{end}
3212% commands,
3213%
3214%
3133% \section{To Be Continued...} 3215% \section{To Be Continued...}
3134% v1.0 of \pkg{ekdosis}, which should be available by the end of July 3216% v1.0 of \pkg{ekdosis}, which should be available by the end of July
3135% 2020, will include a full documentation. At the time of writing, the 3217% 2020, will include a full documentation. At the time of writing, the
3136% author is working on this part of the package. 3218% author is working on this part of the package.
3137%
3138% 3219%
3139% \begin{comment} 3220% \begin{comment}
3140% \section{Correspondence and Alignment} 3221% \section{Correspondence and Alignment}
@@ -3694,7 +3775,7 @@ subtype="arabtex">'inna 'abI kAna mina
3694% \inputminted[linenos=true]{latex}{samples/Caesar_BG-6-13-1.tex} 3775% \inputminted[linenos=true]{latex}{samples/Caesar_BG-6-13-1.tex}
3695% \subsection{\texttt{TEI xml} Output} 3776% \subsection{\texttt{TEI xml} Output}
3696% \label{sec:caesar-gw-tei} 3777% \label{sec:caesar-gw-tei}
3697% \inputminted[linenos=false]{xml}{samples/Caesar_BG-6-13-1-tei.xml} 3778% \inputminted[linenos=true]{xml}{samples/Caesar_BG-6-13-1-tei.xml}
3698% 3779%
3699% \section{Arabic Sample File} 3780% \section{Arabic Sample File}
3700% \label{sec:arabic-sample} 3781% \label{sec:arabic-sample}
@@ -5547,8 +5628,8 @@ local texpatttotags = {
5547 {a="\\icite%s?%[(.-)%]%[(.-)%]{(.-)}", b="%1 <ref target=\"#%3\">%2</ref>"}, 5628 {a="\\icite%s?%[(.-)%]%[(.-)%]{(.-)}", b="%1 <ref target=\"#%3\">%2</ref>"},
5548 {a="\\icite%s?%[(.-)%]{(.-)}", b="<ref target=\"#%2\">%1</ref>"}, 5629 {a="\\icite%s?%[(.-)%]{(.-)}", b="<ref target=\"#%2\">%1</ref>"},
5549 {a="\\icite%s?{(.-)}", b="<ptr target=\"#%1\"/>"}, 5630 {a="\\icite%s?{(.-)}", b="<ptr target=\"#%1\"/>"},
5550 {a="\\linelabel%s?{(.-)}", b="<anchor xml:id=\"#%1\"/>"}, 5631 {a="\\linelabel%s?{(.-)}", b="<anchor xml:id=\"%1\"/>"},
5551 {a="\\label%s?{(.-)}", b="<anchor xml:id=\"#%1\"/>"}, 5632 {a="\\label%s?{(.-)}", b="<anchor xml:id=\"%1\"/>"},
5552 {a="\\v?pageref%s?{(.-)}", b="<ptr target=\"#%1\"/>"}, 5633 {a="\\v?pageref%s?{(.-)}", b="<ptr target=\"#%1\"/>"},
5553 {a="\\v?ref%s?{(.-)}", b="<ptr target=\"#%1\"/>"}, 5634 {a="\\v?ref%s?{(.-)}", b="<ptr target=\"#%1\"/>"},
5554 {a="\\LR%s+{(.-)}", b="%1"}, 5635 {a="\\LR%s+{(.-)}", b="%1"},
@@ -5561,6 +5642,7 @@ local envtotags = {
5561 {a="quotation", b="quote", c=""}, 5642 {a="quotation", b="quote", c=""},
5562 {a="ekdverse", b="lg", c=""}, 5643 {a="ekdverse", b="lg", c=""},
5563 {a="txarabtr", b="p", c=" xml:lang=\"ar-Latn\" type=\"transliterated\""}, 5644 {a="txarabtr", b="p", c=" xml:lang=\"ar-Latn\" type=\"transliterated\""},
5645 {a="quoting", b="quote", c=""},
5564 {a="txarab", b="p", c=" xml:lang=\"arb\""}, 5646 {a="txarab", b="p", c=" xml:lang=\"arb\""},
5565 {a="center", b="p", c=" rend=\"align(center)\""}, 5647 {a="center", b="p", c=" rend=\"align(center)\""},
5566 {a="verse", b="lg", c=""}, 5648 {a="verse", b="lg", c=""},