Kolaru / Kolaru/MathTeXEngine.jl
[FEATURE] Supporting Matrix Notation
- Dominant language
- Julia
- Stars
- 106
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
Hi @Kolaru ,
I was tinkering with MathTeXEngine and was trying to render a matrix.
Using `LaTeXStrings.jl`, I wrote the following snippet:
```julia
latex_string = L"""
$\begin{matrix}
1 & 2 & 3\\
a & b & c
\end{matrix}$
"""
```
And when I tried rendering it like so:
```julia
generate_tex_elements(latex_string)
```
I got the following error:
```julia
ERROR: TeXParseError: unexpected error while parsing
at position 7 (string index 7)
\begin{matrix}
1 & 2 & 3\\
a & b & c
\end{matrix}
^
Stack before
[1] TeXExpr :expr
Stacktrace:
[1] texparse(data::String; showdebug::Bool)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:285
[2] texparse
@ ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:271 [inlined]
[3] _broadcast_getindex_evalf
@ ./broadcast.jl:670 [inlined]
[4] _broadcast_getindex
@ ./broadcast.jl:643 [inlined]
[5] _getindex
@ ./broadcast.jl:666 [inlined]
[6] _broadcast_getindex
@ ./broadcast.jl:642 [inlined]
[7] getindex
@ ./broadcast.jl:597 [inlined]
[8] copy
@ ./broadcast.jl:899 [inlined]
[9] materialize
@ ./broadcast.jl:860 [inlined]
[10] generate_tex_elements(str::LaTeXString, font_family::MathTeXEngine.FontFamily)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/engine/layout.jl:295
[11] generate_tex_elements(str::LaTeXString)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/engine/layout.jl:289
[12] top-level scope
@ REPL[12]:1
caused by: TeXParseError: unsupported command \begin
at position 7 (string index 7)
\begin{matrix}
1 & 2 & 3\\
a & b & c
\end{matrix}
^
Stack before
[1] TeXExpr :expr
Stacktrace:
[1] _end_command_builder!(stack::DataStructures.Stack{Any}, p::Int64, data::String)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:233
[2] macro expansion
@ ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:256 [inlined]
[3] macro expansion
@ ~/.julia/packages/Automa/1KOLQ/src/codegen.jl:149 [inlined]
[4] texparse(data::String; showdebug::Bool)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:283
[5] texparse
@ ~/.julia/packages/MathTeXEngine/zH12o/src/parser/parser.jl:271 [inlined]
[6] _broadcast_getindex_evalf
@ ./broadcast.jl:670 [inlined]
[7] _broadcast_getindex
@ ./broadcast.jl:643 [inlined]
[8] _getindex
@ ./broadcast.jl:666 [inlined]
[9] _broadcast_getindex
@ ./broadcast.jl:642 [inlined]
[10] getindex
@ ./broadcast.jl:597 [inlined]
[11] copy
@ ./broadcast.jl:899 [inlined]
[12] materialize
@ ./broadcast.jl:860 [inlined]
[13] generate_tex_elements(str::LaTeXString, font_family::MathTeXEngine.FontFamily)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/engine/layout.jl:295
[14] generate_tex_elements(str::LaTeXString)
@ MathTeXEngine ~/.julia/packages/MathTeXEngine/zH12o/src/engine/layout.jl:289
[15] top-level scope
@ REPL[12]:1
```
I saw that this issue was somewhat similar to supporting `\begin{align}` statements in #25 .
So, out of curiosity, how difficult would it be to create support for rendering matrices in `MathTeXEngine`?
Is this something that is out of the purview of the engine or would it be doable?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.