Open joshniemela opened 1 year ago
The fundamental problem is that texmath's TeX reader doesn't yet support intertext
.
That should be added.
Is this perhaps something I could try to implement?
Maybe! First step would be figuring out how to represent intertext in our AST; second step would be implementing it in the parser (src/Text/TeXMath/Readers/TeX.hs)
This is how we currently represent aligned environments:
% texmath -t native
\begin{align}
x &= y \\
1 &= 2
\end{align}
^D
[ EArray
[ AlignRight , AlignLeft ]
[ [ [ EIdentifier "x" ] , [ ESymbol Rel "=" , EIdentifier "y" ] ]
, [ [ ENumber "1" ] , [ ESymbol Rel "=" , ENumber "2" ] ]
]
]
As you can see, there's no dedicated construction for aligned equations (which is maybe a problem, see #209). We just use an array. This makes it hard to see how we'd support intertext.
To me it seems natural that intertext would just split the equation environment into two parts. Sure the alignment would be off, but at least the text would be there. As in
\begin{align*}
Math part 1
\intertext{Some text}
Math part 2}
\end{align*}
gets treated as
\begin{align*}
Math part 1
\end{align*}
Some text
\begin{align*}
Math part 2}
\end{align*}
@Enivex yes that's a good idea and it should be feasible.
In the meantime, I've made a hacky solution based on the amazing work by @jorsn on this other github issue that somewhat implements the functionality of \intertext{}
.
What this does
Known issues
This is only a temp fix, and I really hope the typst devs pay attention to this issue and fix it soon once and for all.
Currently, it isn't possible to convert aligned environments containing \intertext. Immediate solution: converting \intertext{...} to $...$ in Typst will give the intended result of intertext
Is this solution good enough or did I miss something?