Kolaru / MathTeXEngine.jl

A latex math mode engine in pure Julia.
MIT License
97 stars 19 forks source link

Wrong positions and scales of some accents #75

Closed jacobleft closed 2 years ago

jacobleft commented 2 years ago

This issue involves accents \check, \dot, \ddot, \acute, and \grave.

On MathTeXEngine@v0.2.1, they are correct, except for the position of \check:

julia> L"\check{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar '̌' [U+030C in NewComputerModern Math - Regular], [0.0, 0.0], 1.0)
 (TeXChar 'x' [U+0078 in NewComputerModern - 10 Italic], [0.0, 0.0], 1.0)

julia> L"\dot{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in NewComputerModern - 10 Italic], [0.0, 0.0], 1.0)
 (TeXChar '̇' [U+0307 in NewComputerModern Math - Regular], [0.627973198890686, 0.011000007390975952], 1.0)

julia> L"\ddot{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in NewComputerModern - 10 Italic], [0.0, 0.0], 1.0)
 (TeXChar '̈' [U+0308 in NewComputerModern Math - Regular], [0.6277770400047302, 0.011000007390975952], 1.0)

julia> L"\acute{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in NewComputerModern - 10 Italic], [0.0, 0.0], 1.0)
 (TeXChar '́' [U+0301 in NewComputerModern Math - Regular], [0.5929898619651794, 0.011000007390975952], 1.0)

julia> L"\grave{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in NewComputerModern - 10 Italic], [0.0, 0.0], 1.0)
 (TeXChar '̀' [U+0300 in NewComputerModern Math - Regular], [0.6549898982048035, 0.011000007390975952], 1.0)

rendered in Makie@v0.16: image

On MathTeXEngine@v0.3+, they are wrong:

julia> L"\check{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar '̌' [U+030C in cmmi10 - Regular], [0.0, 0.0], 1.0)
 (TeXChar 'x' [U+0078 in cmmi10 - Regular], [0.75, 0.0], 1.0)

julia> L"\dot{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in cmmi10 - Regular], [0.0, 0.0], 1.0)
 (TeXChar '̇' [U+0307 in cmmi10 - Regular], [-0.0952405035495758, 0.0107421875], 1.0)

julia> L"\ddot{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in cmmi10 - Regular], [0.0, 0.0], 1.0)
 (TeXChar '̈' [U+0308 in cmmi10 - Regular], [-0.0952405035495758, 0.0107421875], 1.0)

julia> L"\acute{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in cmmi10 - Regular], [0.0, 0.0], 1.0)
 (TeXChar '́' [U+0301 in cmmi10 - Regular], [-0.0952405035495758, 0.0107421875], 1.0)

julia> L"\grave{x}" |> generate_tex_elements
2-element Vector{Any}:
 (TeXChar 'x' [U+0078 in cmmi10 - Regular], [0.0, 0.0], 1.0)
 (TeXChar '̀' [U+0300 in cmmi10 - Regular], [-0.0952405035495758, 0.0107421875], 1.0)

rendered in Makie@v0.17: image

jacobleft commented 2 years ago

It seems like already fixed on v0.5