texlive[70079] Master/texmf-dist: (source files) mchem fixes, tex4ht

commits+karl at tug.org commits+karl at tug.org
Thu Feb 22 23:13:12 CET 2024


Revision: 70079
          https://tug.org/svn/texlive?view=revision&revision=70079
Author:   karl
Date:     2024-02-22 23:13:12 +0100 (Thu, 22 Feb 2024)
Log Message:
-----------
(source files) mchem fixes, tex4ht r1464-5; jats fixes, tex4ht r1471 et al.

Revision Links:
--------------
    https://tug.org/svn/texlive?view=revision&revision=1464
    https://tug.org/svn/texlive?view=revision&revision=1471

Modified Paths:
--------------
    trunk/Master/texmf-dist/source/generic/tex4ht/ChangeLog
    trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex
    trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-html4.tex
    trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-jats.tex
    trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-mathml.tex
    trunk/Master/texmf-dist/tex/generic/tex4ht/jats.4ht

Modified: trunk/Master/texmf-dist/source/generic/tex4ht/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/source/generic/tex4ht/ChangeLog	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/source/generic/tex4ht/ChangeLog	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,3 +1,24 @@
+2024-02-22  Michal Hoftich  <michal.h21 at gmail.com>
+
+	* tex4ht-jats.tex (jats.4ht): fixed DOCTYPE.
+
+	* tex4ht-jats.tex (jats.4ht): added support for BibLaTeX.
+
+2024-02-21  Michal Hoftich  <michal.h21 at gmail.com>
+
+	* tex4ht-jats.tex (jats.4ht): removed \space commands from inside of
+	the <title> element. It is suppossed to be used after the \TitleMark
+	command, and to be eaten by \:gobble if section numbers shoulnd't be
+	shown.
+
+	* tex4ht-4ht.tex (mhchem.4ht): added support for Mhchem characters
+	in pictures.
+
+	* tex4ht-4ht.tex (mhchem.4ht),
+	* tex4ht-mathml.tex (mathml.4ht),
+	* tex4ht-html4.tex (html4.4ht): fixed some issues with Mhchem
+	superscripts and subscripts.
+
 2024-02-19  Michal Hoftich  <michal.h21 at gmail.com>
 
 	* tex4ht-mathml.tex (mathml.4ht): fixed rendering of

Modified: trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex
===================================================================
--- trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-4ht.tex	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1461 2024-02-13 15:20:24Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1465 2024-02-21 13:48:35Z michal_h21 $
 % tex tex4ht-4ht   or   ht tex tex4ht-4ht
 %
 % Copyright 2009-2024 TeX Users Group    
@@ -30838,6 +30838,8 @@
 
 \NewConfigure{mhchemsup}{2}
 
+\NewConfigure{mhchemsupsub}{3}
+
 \cs_set_protected:Npn \__mhchem_output_coreFivefourht:nnnnnnn #1#2#3#4#5#6#7
   {
     \bool_if:nT
@@ -30872,11 +30874,11 @@
                 \b:mhchemsup
               }
               { 
-              	\HCode { <span~class="mhchem-supsub"> }
+                \a:mhchemsupsub
               	\__mhchem_output_withFont:n { #4#5#7 }
-              	\HCode { <br~/>&\#xfeff; }
+                \c:mhchemsupsub
               	\__mhchem_output_withFont:n { #6 }
-              	\HCode { </span> } 
+                \b:mhchemsupsub
              }
           }
       }
@@ -30905,7 +30907,7 @@
 % replace original coreFive with our alternative version. it will work in picture math
 \HLet\__mhchem_output_coreFive:nnnnnnn\__mhchem_output_coreFivefourht:nnnnnnn
 
-\cs_set_protected:Npn \__mhchem_output_withFont:n #1  %. output #1 as math or text
+\cs_set_protected:Npn \__mhchem_output_withFontfourht:n #1  %. output #1 as math or text
   {
     \bool_if:NTF \l__mhchem_output_isMathMode_bool
       { \begingroup\mathrm {#1}\endgroup }
@@ -30912,53 +30914,51 @@
       { \begingroup\text {#1}\endgroup }
   }
 
+\HLet\__mhchem_output_withFont:n\__mhchem_output_withFontfourht:n
+
 \NewConfigure{mhchemoperator}{2}
 
-% ideally, the following commands should be redefined using \HLet, to support picture math.
-% the current definition should work in MathML, I am not sure about normall HTML, as
-\cs_set_protected:Npn \__mhchem_output_skipAfterAmount: {\HCode { ~ } }  % space for copy & paste
-\cs_set_protected:Npn \__mhchem_output_skipBeforeStateOfAggregation: {}
-\cs_set_protected:Npn \__mhchem_output_minus: {\HCode{&\#x2212;}} % minus
-\cs_set_protected:Npn \__mhchem_output_operatorPlus:
-  { \HCode {\a:mhchemoperator + \b:mhchemoperator  }}
-\cs_set_protected:Npn \__mhchem_output_operatorMinus:
-  { \HCode {\a:mhchemoperator&\#x2212; \b:mhchemoperator }} % minus
-\cs_set_protected:Npn \__mhchem_output_operatorEquals:
-  { \HCode {\a:mhchemoperator =  \b:mhchemoperator }}
-\cs_set_protected:Npn \__mhchem_output_operatorPlusMinus:
-  {\HCode {\a:mhchemoperator &\#xB1; \b:mhchemoperator }} % plusmn
-\cs_set_protected:Npn \__mhchem_output_electronDot: { \HCode {&\#x2022;} } % bull
-\cs_set_protected:Npn \__mhchem_output_additionCompound: { \HCode {&\#xB7;} } % middot
-\cs_set_protected:Npn \__mhchem_output_excited: { \HCode { &\#x2731; } }
-\cs_set_protected:Npn \__mhchem_output_commaDecimal: { , }
-\cs_set_protected:Npn \__mhchem_output_commaEnumeration: {,\HCode {&\#x2009;} } % thinsp
-\cs_set_protected:Npn \__mhchem_output_commaEnumerationSmall: {,\HCode{&\#x2009;} } % thinsp
+\def\:tempa#1#2{%
+ \cs_set_protected:Npn\:tempb:{#2}%
+ \HLet#1\:tempb:%
+}
 
-\cs_set_protected:Npn \__mhchem_output_bond_single: { \HCode { \a:mhchemoperator&\#x2212;\b:mhchemoperator}}
-\cs_set_protected:Npn \__mhchem_output_bond_double: { \HCode { \a:mhchemoperator=\b:mhchemoperator}}
-\cs_set_protected:Npn \__mhchem_output_bond_triple: { \HCode { \a:mhchemoperator&\#x2261;\b:mhchemoperator}}
+\:tempa \__mhchem_output_skipAfterAmount: {\HCode { ~ } }  % space for copy & paste
+\:tempa \__mhchem_output_skipBeforeStateOfAggregation: {}
+\:tempa \__mhchem_output_minus: {\HCode{&\#x2212;}} % minus
+\:tempa \__mhchem_output_operatorPlus:{ \HCode {\a:mhchemoperator + \b:mhchemoperator  }}
+\:tempa \__mhchem_output_operatorMinus:{ \HCode {\a:mhchemoperator&\#x2212; \b:mhchemoperator }} % minus
+\:tempa \__mhchem_output_operatorEquals:{ \HCode {\a:mhchemoperator =  \b:mhchemoperator }}
+\:tempa \__mhchem_output_operatorPlusMinus:{\HCode {\a:mhchemoperator &\#xB1; \b:mhchemoperator }} % plusmn
+\:tempa \__mhchem_output_electronDot: { \HCode {&\#x2022;} } % bull
+\:tempa \__mhchem_output_additionCompound: { \HCode {&\#xB7;} } % middot
+\:tempa \__mhchem_output_excited: { \HCode { &\#x2731; } }
+\:tempa \__mhchem_output_commaDecimal: { , }
+\:tempa \__mhchem_output_commaEnumeration: {,\HCode {&\#x2009;} } % thinsp
+\:tempa \__mhchem_output_commaEnumerationSmall: {,\HCode{&\#x2009;} } % thinsp
+
+\:tempa \__mhchem_output_bond_single: { \HCode { \a:mhchemoperator&\#x2212;\b:mhchemoperator}}
+\:tempa \__mhchem_output_bond_double: { \HCode { \a:mhchemoperator=\b:mhchemoperator}}
+\:tempa \__mhchem_output_bond_triple: { \HCode { \a:mhchemoperator&\#x2261;\b:mhchemoperator}}
             
 % todo: add MathML support for these
-\cs_set_protected:Npn \__mhchem_output_bond_half:  % todo: improve
-  {\a:mhchembondhalf}
-\cs_set_protected:Npn \__mhchem_output_bond_oneAndHalf:  % todo: improve 
-  {\a:mhchembondoneandhalf}
-\cs_set_protected:Npn \__mhchem_output_bond_twoAndHalf:  % todo: improve
-  {\a:mhchembondtwoandhalf}
-\cs_set_protected:Npn \__mhchem_output_bond_twoAndHalff:  % todo: improve
-  {\a:mhchembondtwoandhalff}
+\:tempa \__mhchem_output_bond_half:{\a:mhchembondhalf}
+\:tempa \__mhchem_output_bond_oneAndHalf:{\a:mhchembondoneandhalf}
+\:tempa \__mhchem_output_bond_twoAndHalf:{\a:mhchembondtwoandhalf}
+\:tempa \__mhchem_output_bond_twoAndHalff:{\a:mhchembondtwoandhalff}
 
+\:tempa \__mhchem_output_bond_dotdotdot: { \HCode { &\#xB7;&\#xB7;&\#xB7;} } % ··· 
+\:tempa \__mhchem_output_bond_dotdotdotdot: { \HCode { &\#xB7;&\#xB7;&\#xB7;&\#xB7;} } %  ···· 
+\:tempa \__mhchem_output_bond_rightArrow: { \HCode { &\#xffeb; } }
+\:tempa \__mhchem_output_bond_leftArrow: { \HCode { &\#xffe9; } }
+
+
 \NewConfigure{mhchembondhalf}{1}
 \NewConfigure{mhchembondoneandhalf}{1}
 \NewConfigure{mhchembondtwoandhalf}{1}
 \NewConfigure{mhchembondtwoandhalff}{1}
-\cs_set_protected:Npn \__mhchem_output_bond_dotdotdot: { \HCode { &\#xB7;&\#xB7;&\#xB7;} } % ··· 
-\cs_set_protected:Npn \__mhchem_output_bond_dotdotdotdot: { \HCode { &\#xB7;&\#xB7;&\#xB7;&\#xB7;} } %  ···· 
-\cs_set_protected:Npn \__mhchem_output_bond_rightArrow: { \HCode { &\#xffeb; } }
-\cs_set_protected:Npn \__mhchem_output_bond_leftArrow: { \HCode { &\#xffe9; } }
 
 
-
 \NewConfigure{mhchemarrow}{2}
 \NewConfigure{mhchemarrowabove}{2}
 

Modified: trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-html4.tex
===================================================================
--- trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-html4.tex	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-html4.tex	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,4 +1,4 @@
-% $Id: tex4ht-html4.tex 1461 2024-02-13 15:20:24Z michal_h21 $
+% $Id: tex4ht-html4.tex 1464 2024-02-21 09:46:01Z michal_h21 $
 % Compile 4 times: latex tex4ht-html4
 % Copy html4.4ht into the work directory before all but the last compilation.
 %
@@ -21757,7 +21757,6 @@
 %%%%%%%%%%%%%%%%%%%%%
 
 \<configure html4 mhchem\><<<
-\typeout{***************** hello mhchem}
 \Configure{mhchemcf}{\HCode{<span class="mhchem">}}{\HCode{</span>}}
 \Configure{mhchemce}{\HCode{<span class="mhchem">}}{\HCode{</span>}}
 
@@ -21764,6 +21763,7 @@
 \Configure{mhchemisotope}{\HCode{<span class="mhchem-isotope">}}{\HCode{<br />&\#xfeff;}}{\HCode{</span>}}
 \Configure{mhchemsub}{\HCode {<sub class="mhchem-sub">}}{\HCode{</sub>} }
 \Configure{mhchemsup}{\HCode {<sup class="mhchem-sup">}}{\HCode{</sup>} }
+\Configure{mhchemsupsub}{\HCode{<span class="mhchem-supsub">}}{\HCode{<br />&\#xfeff;}}{\HCode{</span>}}
 % mhchemoperator is always used inside \HCode, so we need not to use \HCode in it's configuration
 \Configure{mhchemoperator}{<span class="mhchem-operator">}{</span>} 
 \Configure{mhchemarrow}{\HCode {<span class="mhchem-arrow">}}{\HCode{</span>}}

Modified: trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-jats.tex
===================================================================
--- trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-jats.tex	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-jats.tex	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,8 +1,8 @@
-% $Id: tex4ht-jats.tex 269 2020-03-03 23:06:07Z karl $
+% $Id: tex4ht-jats.tex 1472 2024-02-22 22:12:22Z karl $
 % compile 3 times: latex tex4ht-jats
 %           or   xhlatex tex4ht-jats "html,3,sections+"
 %
-% Copyright 2009-2022 TeX Users Group
+% Copyright 2009-2024 TeX Users Group
 % Copyright 2000-2009 Eitan M. Gurari
 % Released under LPPL 1.3c+.
 % See tex4ht-cpright.tex for license text.
@@ -26,7 +26,7 @@
 
 \<jats\><<<
 % jats.4ht (|version), generated from |jobname.tex
-% Copyright 2022 TeX Users Group
+% Copyright 2022-2024 TeX Users Group
 |<TeX4ht copywrite|>
 >>>
 
@@ -223,7 +223,9 @@
 \NewConfigure{DtdVersion}{1}
 \Configure{DtdVersion}{1.3}
 
-\Configure{DOCTYPE}{\HCode{<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v\a:DtdVersion\space 20130915//EN" "http://jats.nlm.nih.gov/archiving/\a:DtdVersion/JATS-archivearticle1-mathml3.dtd">\Hnewline}}
+\def\:DTD{jats} % this is necessary to prevent html-mml from overriding DOCTYPE
+% 
+\Configure{DOCTYPE}{\HCode{<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v\a:DtdVersion\space 20210610//EN" "JATS-archivearticle1-3.dtd">\Hnewline}}
 
 % XML configuratins
 \edef\html:xmlns{}
@@ -587,7 +589,7 @@
 \Configure{chapter}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\TitleMark\HCode{<title>}\space\HtmlParOff}
+   {\TitleMark\space\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \ConfigureMark{chapter}
@@ -598,7 +600,7 @@
 \Configure{appendix}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\TitleMark\HCode{<title>}\space\HtmlParOff}
+   {\TitleMark\space\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \ConfigureMark{appendix}{\HCode{<label>}%
@@ -609,7 +611,7 @@
 \Configure{likechapter}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 >>>
 
@@ -622,7 +624,7 @@
 \Configure{section}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\TitleMark\HCode{<title>}\space\HtmlParOff}
+   {\TitleMark\space\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \ConfigureMark{section}
@@ -635,7 +637,7 @@
 \Configure{subsection}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\TitleMark\HCode{<title>}\space\HtmlParOff}
+   {\TitleMark\space\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \ConfigureMark{subsection}
@@ -648,7 +650,7 @@
 \Configure{subsubsection}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\TitleMark\HCode{<title>}\space\HtmlParOff}
+   {\TitleMark\space\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \ConfigureMark{subsubsection}
@@ -661,7 +663,7 @@
 \Configure{paragraph}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 >>>
@@ -670,25 +672,25 @@
 \Configure{likesection}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \Configure{likesubsection}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \Configure{likesubsubsection}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 
 \Configure{likeparagraph}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{<sec>\Hnewline}}
 {\ifvmode\IgnorePar\fi\EndP\IgnorePar\HCode{</sec>\Hnewline}}
-   {\HCode{<title>}\space\HtmlParOff}
+   {\HCode{<title>}\HtmlParOff}
    {\HCode{</title>}\HtmlParOn \ShowPar\par}
 >>>
 
@@ -837,6 +839,8 @@
 \chapter{Packages}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+\section{Hyperref}
+
 \<configure jats url\><<<
 |<url links|>
 >>>
@@ -845,4 +849,64 @@
 |<hyperref links|>
 >>>
 
+\section{Bibliographies}
+
+\<configure jats biblatex\><<<
+|<biblatex environment|>
+|<biblatex fields|>
+>>>
+
+
+\<biblatex environment\><<<
+ \def\bibConfigure{%
+  \ConfigureList{thebibliography}
+  {\ifvmode \IgnorePar \fi \EndP \EndP
+    \HCode{<ref-list>}\HtmlParOff%
+   \immediate\write\@auxout{%
+     \string\providecommand\string\BibFileName[2][]{}
+   }%
+   \immediate\write\@auxout{%
+       \string\BibFileName[\therefsection]{\FileName}}%
+    \PushMacro \end:itm \global \let \end:itm =\empty}%
+  {\ifvmode \IgnorePar \fi \EndP
+    \PopMacro \end:itm \global \let \end:itm \end:itm \EndP
+    \HCode {</mixed-citation></ref></ref-list>}\HtmlParOn\ShowPar}%
+  {\ifvmode \IgnorePar \fi \EndP \gHAdvance \bibN by 1
+    \end:itm \global \def \end:itm {\EndP \HCode{</mixed-citation></ref>}}%
+    \Tag{X\therefsection-\abx at field@entrykey}{bibitem-\bibN}
+    \HCode {<ref id="bibitem-\bibN"><label>}}%
+  {\ifvmode \IgnorePar \fi \EndP
+    \HCode {</label><mixed-citation publication-type="\thefield{entrytype}"  id="bib-\bibN">}}%
+}
+>>>
+
+We use BibLaTeX's formatting commands to add JATS elements around some bibliographic
+fields.
+
+\<biblatex fields\><<<
+\DeclareFieldFormat{title}{\HCode{<source>}#1\HCode{</source>}}
+\DeclareFieldFormat{booktitle}{\HCode{<source>}#1\HCode{</source>}}
+\DeclareFieldFormat{maintitle}{\HCode{<source>}#1\HCode{</source>}}
+\DeclareFieldFormat{journaltitle}{\HCode{<source>}#1\HCode{</source>}}
+\DeclareFieldFormat[article]{title}{\HCode{<article-title>}#1\HCode{</article-title>}}
+\DeclareFieldFormat[incollection]{title}{\HCode{<part-title>}#1\HCode{</part-title>}}
+\DeclareFieldFormat[inbook]{title}{\HCode{<part-title>}#1\HCode{</part-title>}}
+\DeclareFieldFormat{year}{\HCode{<year>}#1\HCode{</year>}}
+\DeclareFieldFormat{date}{\HCode{<date-in-citation content-type="published">}#1\HCode{</date-in-citation>}} 
+\DeclareFieldFormat{pages}{\HCode{<page-range>}#1\HCode{</page-range>}}
+\DeclareListFormat{publisher}{\usebibmacro{list:delim}{#1}\HCode{<publisher-name>}#1\HCode{</publisher-name>}\isdot\usebibmacro{list:andothers}}
+\DeclareListFormat{location}{\usebibmacro{list:delim}{#1}\HCode{<publisher-loc>}#1\HCode{</publisher-loc>}\isdot\usebibmacro{list:andothers}}
+\DeclareNameFormat{author}{%
+	\nameparts{#1}% This command initializes commands used in the following bibmacro
+	\HCode{<string-name>}% use 
+	\usebibmacro{name:family-given}%
+    {\namepartfamily}%
+    {\namepartgiveni}%
+    {\namepartprefix}%
+    {\namepartsuffix}%
+  \HCode{</string-name>}%
+  \usebibmacro{name:andothers}%
+}
+>>>
+
 \endinput

Modified: trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-mathml.tex
===================================================================
--- trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-mathml.tex	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/source/generic/tex4ht/tex4ht-mathml.tex	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,4 +1,4 @@
-% $Id: tex4ht-mathml.tex 1463 2024-02-19 13:33:57Z michal_h21 $$
+% $Id: tex4ht-mathml.tex 1464 2024-02-21 09:46:01Z michal_h21 $$
 % compile 3 times: latex tex4ht-mathltx
 %           or   xhlatex tex4ht-mathltx "html,3,sections+"
 %
@@ -5518,23 +5518,26 @@
 \Configure{mhchemcf}{\HCode{<\:mhmathmlorhtml{mrow}{span}\space class="mhchem-cf">}}{\HCode{</\:mhmathmlorhtml{mrow}{span}>}}
 \Configure{mhchemce}{\HCode{<\:mhmathmlorhtml{mrow}{span}\space class="mhchem-ce">}}{\HCode{</\:mhmathmlorhtml{mrow}{span}>}}
 
+% we configure subscripts and superscripts to have empty bases. it is because if superscript followed subscript, we got wrong
+% MathML markup, with mismatched tags. For example: \ce{CrO4^2-}
 \Configure{mhchemsub}{%
   \:mhmathmlorhtml{%
-  \Send{BACK}%
-  {<\a:mathml msub><\a:mathml mrow\Hnewline>}%
-  \Tg</\a:mathml mrow>\Tg<\a:mathml mrow\Hnewline>\trap:base%
+  \HCode{<\a:mathml msub><mrow></mrow><\a:mathml mrow>}%
   }{%
   \HCode{<sub>}}%
-}{\:mhmathmlorhtml{\Tg</\a:mathml mrow>\TG</\a:mathml msub\Hnewline>}{\HCode{</sub>}}}
+}{\:mhmathmlorhtml{\Tg</\a:mathml mrow>\TG</\a:mathml msub>}{\HCode{</sub>}}}
 \Configure{mhchemsup}{%
   \:mhmathmlorhtml{
-  \Send{BACK}
-  {<\a:mathml msup><\a:mathml mrow\Hnewline>}%
-  \Tg</\a:mathml mrow>\Tg<\a:mathml mrow\Hnewline>\trap:base
+  \HCode{<\a:mathml msup><mrow></mrow><\a:mathml mrow>}%
   }{%
   \HCode{<sup>}}%
 }{\:mhmathmlorhtml{\Tg</\a:mathml mrow>\TG</\a:mathml msup\Hnewline>}{\HCode{</sup>}}}
 
+
+\Configure{mhchemsupsub}{\setbox0=\hbox\bgroup}{\egroup\setbox1=\hbox\bgroup}{\egroup\HCode{<\a:mathml msubsup><\a:mathml mrow></\a:mathml mrow><\a:mathml mrow>}\box1\HCode{</\a:mathml mrow><\a:mathml mrow>}\box0\HCode{</\a:mathml mrow></\a:mathml msubsup>}}
+\Configure{mhchemisotope}{\setbox0=\hbox\bgroup}{\egroup\setbox1=\hbox\bgroup}{\egroup\HCode{<\a:mathml msubsup><\a:mathml mrow></\a:mathml mrow><\a:mathml mrow>}\box1\HCode{</\a:mathml mrow><\a:mathml mrow>}\box0\HCode{</\a:mathml mrow></\a:mathml msubsup>}}
+
+
 % mhchemoperator is always used inside \HCode, so we need not to use \HCode in it's configuration
 \Configure{mhchemoperator}{<\:mhmathmlorhtml{mo}{span} class="mhchem-operator">}{</\:mhmathmlorhtml{mo}{span}>}
 

Modified: trunk/Master/texmf-dist/tex/generic/tex4ht/jats.4ht
===================================================================
--- trunk/Master/texmf-dist/tex/generic/tex4ht/jats.4ht	2024-02-22 22:12:35 UTC (rev 70078)
+++ trunk/Master/texmf-dist/tex/generic/tex4ht/jats.4ht	2024-02-22 22:13:12 UTC (rev 70079)
@@ -1,5 +1,5 @@
-% jats.4ht (2024-02-22-13:42), generated from tex4ht-jats.tex
-% Copyright 2022 TeX Users Group
+% jats.4ht (2024-02-22-14:12), generated from tex4ht-jats.tex
+% Copyright 2022-2024 TeX Users Group
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
 %
 % If you modify this program, changing the
 % version identification would be appreciated.
-\immediate\write-1{version 2024-02-22-13:42}
+\immediate\write-1{version 2024-02-22-14:12}
 
 \exit:ifnot{amsart,% 
 amsbook,% 



More information about the tex-live-commits mailing list.