\ifcsname if@latexml\endcsname\else \expandafter\newif\csname if@latexml\endcsname\@latexmlfalse \fi \tl_const:Nx \c_stex_html_emptyarg_tl {~} \prg_new_conditional:Nnn \latexml_if: {p, T, F, TF} { \if@latexml \expandafter\prg_return_true: \else: \expandafter\prg_return_false: \fi: } \cs_new_protected:Nn \stex_annotate:nnn { \_stex_html_checkempty:n { #3 } \mode_if_math:TF { \cs:w latexml@annotate@math\cs_end:{#1}{#2}{ \tl_use:N \l_stex_html_arg_tl } }{ \cs:w latexml@annotate@text\cs_end:{#1}{#2}{ \tl_use:N \l_stex_html_arg_tl } } } \cs_new_protected:Nn \stex_annotate_invisible:n { \_stex_html_checkempty:n { #1 } \mode_if_math:TF { \cs:w latexml@invisible@math\cs_end:{ \tl_use:N \l_stex_html_arg_tl } } { \cs:w latexml@invisible@text\cs_end:{ \tl_use:N \l_stex_html_arg_tl } } } \cs_new_protected:Nn \stex_annotate_invisible:nnn { \_stex_html_checkempty:n { #3 } \cs:w latexml@annotate@invisible\cs_end:{#1}{#2}{ \tl_use:N \l_stex_html_arg_tl } } \NewDocumentEnvironment{stex_annotate_env} { m m } { \par\begin{latexml@annotateenv}{#1}{#2} }{ \par\end{latexml@annotateenv} } \prg_new_conditional:Nnn \stex_html_backend: {p, T, F, TF} { \prg_return_true: }