diff --git a/evolve-hub/driver-docx.xpl b/evolve-hub/driver-docx.xpl
index e76727d..8df0be9 100644
--- a/evolve-hub/driver-docx.xpl
+++ b/evolve-hub/driver-docx.xpl
@@ -11,6 +11,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22,7 +51,7 @@
-
+
@@ -32,7 +61,7 @@
-
+
@@ -42,7 +71,7 @@
-
+
@@ -51,7 +80,7 @@
-
+
@@ -61,7 +90,7 @@
-
+
@@ -71,7 +100,7 @@
-
+
@@ -81,7 +110,7 @@
-
+
@@ -91,7 +120,7 @@
-
+
@@ -101,7 +130,7 @@
-
+
@@ -120,7 +149,7 @@
-
+
@@ -130,7 +159,7 @@
-
+
@@ -140,7 +169,7 @@
-
+
@@ -150,7 +179,7 @@
-
+
@@ -209,7 +238,7 @@
-
+
@@ -219,7 +248,7 @@
-
+
@@ -229,7 +258,7 @@
-
+
@@ -239,7 +268,7 @@
-
+
@@ -249,7 +278,7 @@
-
+
@@ -259,7 +288,7 @@
-
+
@@ -269,7 +298,7 @@
-
+
diff --git a/evolve-hub/driver-docx.xsl b/evolve-hub/driver-docx.xsl
index 22de78d..cd20f0e 100644
--- a/evolve-hub/driver-docx.xsl
+++ b/evolve-hub/driver-docx.xsl
@@ -8,6 +8,7 @@
xmlns:functx="http://www.functx.com"
xmlns:xml2tex="http://transpect.io/xml2tex"
xmlns:tr="http://transpect.io"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
xmlns="http://docbook.org/ns/docbook"
xpath-default-namespace="http://docbook.org/ns/docbook"
exclude-result-prefixes="xs hub dbk xlink functx xml2tex"
@@ -164,19 +165,18 @@
-
-
-
-
+
@@ -185,14 +185,14 @@
= substring(preceding-sibling::*[1][self::para]/@role, 1, 6))]
[normalize-space()]
or
- self::para[matches(@role,$hub:blockquote-role-regex)]
- [preceding-sibling::*[1][self::para[matches(@role,$hub:blockquote-source-role-regex)]]]
+ self::para[matches(@role,$hub:blockquote-role-regex, 'i')]
+ [preceding-sibling::*[1][self::para[matches(@role, $hub:blockquote-source-role-regex, 'i')]]]
]">
-
+
-
-
+
+
@@ -202,7 +202,7 @@
-
@@ -273,13 +273,14 @@
-
+
+
-
+ mode="hub:clean-hub">
+
@@ -565,6 +571,7 @@
select="concat('(',
string-join(
($figure-image-role-regex,
+ $figure-alt-role-regex,
$figure-caption-role-regex,
$figure-source-role-regex,
$figure-link-role-regex
@@ -573,8 +580,7 @@
')')" />
+ or para[matches(@role, $figure-image-role-regex, 'i')]]" mode="hub:split-at-tab">
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -702,13 +740,20 @@
-
+
-
+
+
+
-
+
+
+
-
+
+
+
@@ -785,7 +832,7 @@
+ |para[matches(@role, '[a-z]{2,3}(figurecaption|figurealt)')][matches(., '^[\p{Zs}]+$')]" mode="hub:split-at-tab" priority="100000">
@@ -1084,34 +1131,50 @@
* dialogue
* -->
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -1254,8 +1317,9 @@
+ |blockquote[ not(node())
+ and (every $i in *
+ satisfies $i[not(node())])]" mode="hub:clean-hub" priority="5"/>
@@ -1290,7 +1354,7 @@
-
+
@@ -1457,19 +1521,24 @@
+
+
+
-
+
@@ -1491,7 +1561,6 @@
-
+
+
+
+
+
+
+
+
@@ -1700,7 +1786,15 @@
-
+
+
+
+
+
+
+
+
+
@@ -1715,7 +1809,9 @@
- -
+
+
+
@@ -1729,6 +1825,8 @@
+
+
@@ -1836,7 +1934,6 @@
-
@@ -1867,6 +1964,7 @@
+
+
@@ -2321,7 +2419,7 @@
-
+
@@ -2344,7 +2442,7 @@
-
+
@@ -2359,6 +2457,10 @@
+
+
+
+
@@ -2511,6 +2613,29 @@
+
+
@@ -2572,4 +2697,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/evolve-hub/parse-bibrefs.xsl b/evolve-hub/parse-bibrefs.xsl
index 2827315..7af53f1 100755
--- a/evolve-hub/parse-bibrefs.xsl
+++ b/evolve-hub/parse-bibrefs.xsl
@@ -150,6 +150,12 @@
+
+
+
+
+
+
diff --git a/generate-xmp/generate-xmp.xsl b/generate-xmp/generate-xmp.xsl
index 8671092..37adcbd 100755
--- a/generate-xmp/generate-xmp.xsl
+++ b/generate-xmp/generate-xmp.xsl
@@ -22,15 +22,27 @@
-
-
-
-
- 3
- U
+
+
+
1
- application/pdf
-
+ le-tex xerif with CoCoTeX
+ MS Word
+ PLACEHOLDER
+ PLACEHOLDER
+
@@ -59,39 +71,34 @@
+
+
+
+
+
-
-
- LaTeX with hyperref
-
-
- le-tex xerif
-
+
+
@@ -177,6 +184,7 @@
+
diff --git a/schematron/bits/bits.sch.xml b/schematron/bits/bits.sch.xml
index e9d8a28..68d5578 100755
--- a/schematron/bits/bits.sch.xml
+++ b/schematron/bits/bits.sch.xml
@@ -19,8 +19,8 @@
-
- There is no author in <contrib-group/>.
+
+ There is no author or editor in <contrib-group/>.
diff --git a/schematron/check-formatting/check-formatting.sch.xml b/schematron/check-formatting/check-formatting.sch.xml
index 871e3ed..7084190 100755
--- a/schematron/check-formatting/check-formatting.sch.xml
+++ b/schematron/check-formatting/check-formatting.sch.xml
@@ -53,7 +53,8 @@
This paragraph has been formatted with the figure caption style but includes an image. Please verify whether the image belongs to the caption or to the figure.
For the latter, please ensure that the image is placed in a paragraph above the caption and formatted with the figure style (regex: ).
-
+
This paragraph has been formatted with the figure caption style but the paragraph above has the style: ''.
@@ -71,7 +72,7 @@
-
+
This paragraph has been formatted with the table caption style but it is not placed above the table.
@@ -158,7 +159,7 @@
Dieser Absatz ist mit dem Absatzformat für eine gedrehte Tabelle ausgezeichnet, ist aber nicht über einer Tabelle platziert.
- Dieser Absatz ist als Tabellen-Legende ausgezeichnet, aber der Absatz darüber ist nicht über einer Tabelle platziert.
+ Dieser Absatz ist als Tabellen-Legende ausgezeichnet, ist aber nicht über einer Tabelle platziert.
Bitte beachten Sie die korrekte Reihenfolge der Absatzformate für Tabelle, Legende und Quelle.
diff --git a/schematron/flat-hub/flat-hub.sch.xml b/schematron/flat-hub/flat-hub.sch.xml
index 5020421..acdc4a4 100644
--- a/schematron/flat-hub/flat-hub.sch.xml
+++ b/schematron/flat-hub/flat-hub.sch.xml
@@ -19,6 +19,8 @@
+
+
@@ -48,7 +50,7 @@
-
+
diff --git a/styles/cssa.xml b/styles/cssa.xml
index eac50cf..2a20062 100644
--- a/styles/cssa.xml
+++ b/styles/cssa.xml
@@ -48,6 +48,7 @@
+
diff --git a/xml2tex/helpers.xsl b/xml2tex/helpers.xsl
index 90fea22..f97f392 100755
--- a/xml2tex/helpers.xsl
+++ b/xml2tex/helpers.xsl
@@ -7,6 +7,7 @@
xmlns:css="http://www.w3.org/1996/css"
xmlns:functx="http://www.functx.com"
xmlns:xml2tex="http://transpect.io/xml2tex"
+ xmlns:tr="http://transpect.io"
xmlns="http://docbook.org/ns/docbook"
exclude-result-prefixes="xs xhtml"
version="2.0">
@@ -45,6 +46,11 @@
+
+
+
+
+
@@ -53,7 +59,7 @@
)/dbk:row"
group-starting-with="dbk:row[dbk:entry//processing-instruction()[name() eq 'latex']
[matches(., functx:escape-for-regex($xml2tex:split-table-pi))]]">
-
+
diff --git a/xml2tex/latex.conf.xml b/xml2tex/latex.conf.xml
index 48dfbc9..47b4650 100644
--- a/xml2tex/latex.conf.xml
+++ b/xml2tex/latex.conf.xml
@@ -52,7 +52,6 @@
-
@@ -128,7 +127,7 @@
+ select="$metadata/dbk:keyword[@role eq 'Website']"/>
@@ -232,7 +231,7 @@
select="concat('\documentclass[',
string-join(($babel-langs[position() ne 1],
$greek[normalize-space()],
- $babel-langs[1]), (: 1st lang is main lang and comes last :)
+ concat('main=',$babel-langs[1])), (: 1st lang is main lang and comes last :)
','),
$pubtype-value,
xml2tex:determine-footnote-options($pubtype, $notes-type, $notes-per-chapter, $endnotes-with-chapter),
@@ -240,11 +239,11 @@
',withcoltitles'[$running-header eq 'yes'],
',a11y'[$a11y],
']{',
- if ($cocotex) then 'cocotex' else 'transpect',
+ 'cocotex',
'}
')"/>
\usepackage{htmltabs}
-
+
@@ -323,16 +322,16 @@
\end{tpSeriesEditor}
-
+
-
+
-
+
@@ -468,7 +467,7 @@
@@ -529,26 +528,39 @@
+
+
-
+
+ ))"/>
-
+
+
+
+
+
+
+
-
+
-
+ else
+ if (self::dbk:keyword and matches(.,','))
+ then concat(normalize-space(replace(tokenize(., ',')[2],'(†|✝|\((.*)\)?)','')), ' ' , normalize-space(tokenize(replace(., '(†|✝|\((.*)\)?)', ''), ',')[1]) )
+ else xml2tex:meta-remove-links-etc(.), '}')">
+
@@ -589,7 +601,7 @@
@@ -629,7 +641,7 @@
-
+
@@ -707,26 +719,34 @@
-
+
\textit{
}
-
+
\tpBreak
+
+
-
+
\textbf{
}
+
+ \uline{
+
+ }
+
+
+
+
+
+
@@ -784,8 +808,11 @@
+ [empty(preceding-sibling::dbk:figure)][1]
+ [not(//dbk:toc)]
+ [$create-mainmatter]
+ |/*/dbk:para[1][following-sibling::*[self::dbk:part|self::dbk:chapter|self::dbk:section]][$create-mainmatter]
+ |/*/dbk:figure[1][following-sibling::*[self::dbk:part|self::dbk:chapter|self::dbk:section]][$create-mainmatter]" priority="3001">
\mainmatter
@@ -797,8 +824,10 @@
-
-
+
+
+
+
@@ -868,7 +897,7 @@
[not(ancestor::*[self::dbk:chapter])]
)
and
- ($context[$notes-type eq 'endnotes' and $notes-per-chapter eq 'yes']
+ ($context[$notes-type eq 'endnotes' and $notes-per-chapter eq 'yes' and not($endnotes-with-chapter eq 'yes')]
[.//dbk:footnote]
[not(.//dbk:para[matches(@role, $endnotes-heading-style)])]
[not(.//processing-instruction()[name() = ($name-for-Tex-PI, 'latex')][. = '\printnotes'])]
@@ -881,8 +910,12 @@
+ [$notes-type eq 'endnotes']
+ [not($notes-per-chapter eq 'yes') or $endnotes-with-chapter eq 'yes']
+ [.//dbk:footnote]
+ [not(.//dbk:para[matches(@role, $endnotes-heading-style)])]
+ [not(.//dbk:title[matches(@role, $endnotes-heading-style)])]
+ [not(.//processing-instruction()[name() = ($name-for-Tex-PI, 'latex')][. = '\printnotes'])]">
@@ -890,8 +923,7 @@
-
@@ -916,11 +948,12 @@
-
@@ -935,7 +968,8 @@
|self::dbk:phrase[@role = ('identifier', 'hub:identifier')]
|self::dbk:tab
|self::dbk:anchor)])
- or
+ or @xml:lang
+ or
matches(., '[& - ®]')">
@@ -1668,8 +1707,6 @@
-
-
@@ -2256,14 +2294,16 @@
* -->
+ [@xml:lang[not(. = ../ancestor::*[@xml:lang][1]/@xml:lang)]
+ [xml2tex:lang-to-babel-lang(.)[normalize-space()]]
+ ]" priority="5000" mode="xml2tex">
-
-
+
+
-
+
@@ -2273,7 +2313,7 @@
-
+
@@ -2284,7 +2324,7 @@
-
+
@@ -2292,13 +2332,15 @@
-
-
+
+
+
+
@@ -2316,6 +2358,7 @@
{
+
@@ -2323,6 +2366,7 @@
+
}
@@ -2332,7 +2376,9 @@
{
+
+
}
@@ -2381,7 +2427,7 @@
-
+
@@ -2398,6 +2444,8 @@
+
+
@@ -2410,7 +2458,9 @@
-
+
+
+
@@ -2423,9 +2473,13 @@
+
+
-
+
+
+
\\
@@ -2436,9 +2490,13 @@
[following-sibling::*[1]
[self::dbk:para[matches(@role, $letter-spacing-para-style)]]
]">
+
+
-
+
+
+
@@ -2471,15 +2529,23 @@
-->
+
+
-
+
+
+
\tpBreak
-
+
+
+
-
+
+
+
@@ -2492,8 +2558,12 @@
+
+
-
+
+
+
\\
@@ -2503,8 +2573,12 @@
+
+
-
+
+
+
@@ -2512,16 +2586,27 @@
* dialogue
* -->
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
@@ -2548,8 +2633,12 @@
+
+
-
+
+
+
@@ -2568,11 +2657,15 @@
* -->
+
+
-
+
+
+
@@ -2661,12 +2754,16 @@
+
+
+
-
+
+
@@ -2705,7 +2802,7 @@
escape ! in indexterms (makeindex has no issues with escaped
exclamation mark "! but xindy does ) -->
-
+
+
+
+
+
+
+
-
+
@@ -2901,9 +3013,16 @@
+
+
+
+
+
+
+
+ [not(matches(@css:text-decoration-line, 'line-through'))]
+ [empty(key('style', @role, $root)[matches(@css:text-decoration-line, 'line-through')])]">
\sout{
}
-
-
-
-
- {\sout{
-
- }}
-
-
-
+ [not(matches(@css:text-decoration-line, 'underline'))]
+ [empty(key('style', @role, $root)[matches(@css:text-decoration-line, 'underline')])]">
\uline{
@@ -2973,23 +3081,38 @@
+
+ [empty(key('style', @role, $root)[@css:font-style eq 'italic'])]">
\textit{
}
-
+
+
+
+
+
+
+
+
+
+ [empty(key('style', @role, $root)[@css:font-weight eq 'bold'])]">
\textbf{
}
@@ -3003,10 +3126,10 @@
-
-
-
-
+
+
+
@@ -3138,11 +3261,11 @@
-
-
+
+
-
+
@@ -3194,14 +3317,14 @@
-
-
+ Example: A no-break Space has to be mapped to a tilde (https://redmine.le-tex.de/issues/13715, https://redmine.le-tex.de/issues/18364) otherwise no space is displayed-->
+
@@ -3369,14 +3492,24 @@
-
+
+
+
+
+
+
+
+
+
@@ -3399,16 +3532,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/xpl/generate-xmp.xpl b/xpl/generate-xmp.xpl
index b18eb78..dde1bbf 100755
--- a/xpl/generate-xmp.xpl
+++ b/xpl/generate-xmp.xpl
@@ -21,7 +21,7 @@
-
+
Expects the metadata
@@ -34,8 +34,9 @@
- Hub document with updated filerefs
+ XMP document
+
@@ -63,4 +64,5 @@
+
\ No newline at end of file
diff --git a/xpl/main-ts.xpl b/xpl/main-ts.xpl
index 8f3c4e8..a774cd5 100644
--- a/xpl/main-ts.xpl
+++ b/xpl/main-ts.xpl
@@ -377,7 +377,7 @@
-
+
diff --git a/xpl/xml2tex.xpl b/xpl/xml2tex.xpl
index f1eee44..ffb5cb9 100644
--- a/xpl/xml2tex.xpl
+++ b/xpl/xml2tex.xpl
@@ -104,6 +104,9 @@
+
+
+
collect all xsl templates from config. important if you work with several modes for the same elements.
diff --git a/xsl/shared-variables.xsl b/xsl/shared-variables.xsl
index dbb2300..27f9d82 100644
--- a/xsl/shared-variables.xsl
+++ b/xsl/shared-variables.xsl
@@ -35,13 +35,13 @@
select="'^toctitle$'"/>
+ select="'^[a-z]{1,3}_?(motto|dedication|epigraph|dialogue[a-z]?(-action)?|quotation|verse|transcription|codeblock[a-z0-9]+)(_-_.+)?$'"/>
+ select="'^[a-z]{1,3}_?(motto|dedication|epigraph|dialogue[a-z]?|quotation|verse)-?source$'"/>
+ select="'^[a-z]{1,3}_?(literature|body|dedication|motto|dialogue[a-z]?(-action)?|quotation|figurecaption|figuresource|tablecaption|tablesource|formula|indexstatic|indexlist|codeblock[a-z0-9]+)'"/>
@@ -126,7 +126,13 @@
select="'^[a-z]{1,3}codeblock[a-z0-9]+$'"/>
+ select="'^[a-z]{1,3}dialogue(-action)?[a-z]?$'"/>
+
+
+
+
@@ -144,10 +150,13 @@
select="'^[a-z]+_?verse.*$'" />
+ select="'[a-z]{1,3}_letter$'"/>
+
+
+ select="'[a-z]{1,3}_letter_spacing$'"/>
@@ -157,6 +166,12 @@
+
+
+
+
@@ -257,6 +272,17 @@
+
+
+
+
+
@@ -267,7 +293,7 @@
select="'^[a-z]{1,3}abbreviations$'"/>
+ select="true()"/>
@@ -293,21 +319,22 @@
+
+
-
-
+
+
@@ -326,8 +353,6 @@
-
-
@@ -371,8 +396,6 @@
-
-