mathml/luamml-demo.sty
Marcel Fabian Krüger ddaf56b8af Fix typos
2021-07-04 01:37:17 +02:00

71 lines
1.9 KiB
TeX

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamml-demo}[2021-06-16 Reasonable default definitions for luamml]
\RequirePackage{luamml}% Loading luamml is pretty much the point
\RequirePackage{amsmath,array}% These are more or less expected in luamml especially for advanced constructs
\AtBeginDocument{%
\@ifpackageloaded{unicode-math}{}{%
\RegisterFamilyMapping\symsymbols{oms}%
\RegisterFamilyMapping\symletters{oml}%
\RegisterFamilyMapping\symlargesymbols{omx}%
}
}
\ExplSyntaxOn
\bool_new:N \l__luamml_demo_structelem_bool
\DeclareOption{tracing}{
\tracingmathml=2
}
\DeclareOption{structelem}{
\bool_set_true:N \l__luamml_demo_structelem_bool
\luamml_flag_structelem:
}
\DeclareOption{files}{
\int_new:N \g__luamml_demo_mathml_int
\luamml_set_filename:n {
\immediateassignment \int_gincr:N \g__luamml_demo_mathml_int
\jobname -formula- \int_use:N \g__luamml_demo_mathml_int .xml
}
}
\ProcessOptions\relax
\cs_new_eq:NN \LuaMMLSetFilename \luamml_set_filename:n
\cs_generate_variant:Nn \pdffile_filespec:nnn {ene}
\int_new:N \g__luamml_demo_af_int
\cs_new_protected:Npn \LuaMMLTagAF #1#2 {
\int_gincr:N \g__luamml_demo_af_int
\exp_args:Ne \pdf_object_new:nn{__luamml_demo_\int_use:N \g__luamml_demo_af_int}{dict}
\exp_args:Ne \tagstructbegin{tag=Formula,AF=__luamml_demo_\int_use:N \g__luamml_demo_af_int,#1}
\bool_if:NF \l__luamml_demo_structelem_bool {
\tagmcbegin{tag=Formula}
}
#2
\group_begin:
\pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Supplement}
\pdffile_filespec:ene
{ __luamml_demo_ \int_use:N \g__luamml_demo_af_int }
{ test.xml }
{ \luamml_get_last_mathml_stream:e{}\c_space_tl 0~R}
\group_end:
\bool_if:NF \l__luamml_demo_structelem_bool {
\tagmcend
}
\tagstructend
}
\NewDocumentCommand\AnnotateFormula{ o m m }{%
\IfValueTF{#1}{%
\luamml_annotate:nen{#1}%
}{
\luamml_annotate:en
}{#2}{#3}
}
\ExplSyntaxOff
\endinput