On Sun, 10 Oct 2021, Jason Ross via ntg-context wrote:

> On 10/10/21 3:23 AM, Hans Hagen wrote:
> 
> These are just a couple examples, but in general it's not enough to do
> naive string substitution in LaTeX and get valid ConTeXt back, and my
> patchwork solutions are starting to smell.

You can use pandoc to parse latex and convert it to mathml:

$ cat math.tex

\documentclass{amsart}
\begin{document}
\begin{align}
 a &= \begin{pmatrix}
    1 & 2 & 3 \\
    1 & 2 & 3 \\
    1 & 2 & 3
 \end{pmatrix},
 b &= \begin{pmatrix}
    1 & 2 & 3 \\
    1 & 2 & 3 \\
    1 & 2 & 3
 \end{pmatrix},
 \\
 c &= \begin{pmatrix}
    1 & 2 & 3 \\
    1 & 2 & 3 \\
    1 & 2 & 3
 \end{pmatrix},
 d &= \begin{pmatrix}
    1 & 2 & 3 \\
    1 & 2 & 3 \\
    1 & 2 & 3
 \end{pmatrix},
\end{align}
\end{document}

$ pandoc -f latex -t html --mathml math.tex


<p><math display="block" 
xmlns="http://www.w3.org/1998/Math/MathML";><semantics><mtable><mtr><mtd 
columnalign="right"><mi>a</mi></mtd><mtd columnalign="left"><mo>=</mo><mrow><mo 
stretchy="true" form="prefix">(</mo><mtable><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr></mtable><mo stretchy="true" 
form="postfix">)</mo></mrow><mo>,</mo><mi>b</mi></mtd><mtd 
columnalign="right"><mo>=</mo><mrow><mo stretchy="true" 
form="prefix">(</mo><mtable><mtr><mtd columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr></mtable><mo stretchy="true" 
form="postfix">)</mo></mrow><mo>,</mo></mtd></mtr><mtr><mtd 
columnalign="right"><mi>c</mi></mtd><mtd columnalign="left"><mo>=</mo><mrow><mo 
stretchy="true" form="prefix">(</mo><mtable><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr></mtable><mo stretchy="true" 
form="postfix">)</mo></mrow><mo>,</mo><mi>d</mi></mtd><mtd 
columnalign="right"><mo>=</mo><mrow><mo stretchy="true" 
form="prefix">(</mo><mtable><mtr><mtd columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr><mtr><mtd 
columnalign="center"><mn>1</mn></mtd><mtd 
columnalign="center"><mn>2</mn></mtd><mtd 
columnalign="center"><mn>3</mn></mtd></mtr></mtable><mo stretchy="true" 
form="postfix">)</mo></mrow><mo>,</mo></mtd></mtr></mtable><annotation 
encoding="application/x-tex">\begin{aligned}
 a &amp;= \begin{pmatrix}
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3
 \end{pmatrix},
 b &amp;= \begin{pmatrix}
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3
 \end{pmatrix},
 \\
 c &amp;= \begin{pmatrix}
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3
 \end{pmatrix},
 d &amp;= \begin{pmatrix}
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3 \\
    1 &amp; 2 &amp; 3
 \end{pmatrix},\end{aligned}</annotation></semantics></math></p>

Processing this in context (see attached files), gives a partially working 
solution. It doesn't look okay, but should be easily fixable.

Do note that this is almost same as compiling latex output to PDF because 
editing presentation mathml by hand is no fun.

Aditya

Attachment: test.tex
Description: TeX document

Attachment: test.pdf
Description: Adobe PDF document

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to