Symbolics.jl icon indicating copy to clipboard operation
Symbolics.jl copied to clipboard

Latest release breaks Latexify of expressions with unicode exponents/subscripts

Open isaacsas opened this issue 4 months ago • 6 comments

@ChrisRackauckas the latest release (6.15.1) breaks Latexify with unicode subscripts/superscripts. (I noticed this as suddenly Catalyst doc builds are failing):

using Symbolics, Latexify
@variables t Gᴾ(t)
latexraw( 0 ~ Gᴾ)

now gives

julia> latexraw( 0 ~ Gᴾ)
ERROR: MethodError: no method matching convert_subscript
The function `convert_subscript` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  convert_subscript(::String; snakecase, function_name, kwargs...)
   @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:266
  convert_subscript(::Symbol, Any...) got unsupported keyword arguments "function_name", "convert_unicode", "index", "cdot", "safescripts", "fmt", "snakecase", "env"
   @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:281

Stacktrace:
  [1] latexoperation(ex::Expr, prevOp::Vector{…}; kwargs::@Kwargs{…})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:170
  [2] latexoperation
    @ ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:9 [inlined]
  [3] (::Latexify.var"#recurseexp!#44"{Bool, @Kwargs{…}})(ex::Expr)
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:98
  [4] _latexraw(inputex::Expr; convert_unicode::Bool, kwargs::@Kwargs{…})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:102
  [5] process_latexify(args::Num; kwargs::@Kwargs{convert_unicode::Bool, index::Symbol, env::Symbol})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexify_function.jl:49
  [6] process_latexify
    @ ~/.julia/packages/Latexify/ieukI/src/latexify_function.jl:40 [inlined]
  [7] latexraw
    @ ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:58 [inlined]
  [8] (::Latexify.var"#64#66"{@Kwargs{convert_unicode::Bool, index::Symbol, env::Symbol}})(i::Num)
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:21
  [9] iterate
    @ ./generator.jl:48 [inlined]
 [10] collect_to!(dest::Vector{String}, itr::Base.Generator{Vector{…}, Latexify.var"#64#66"{…}}, offs::Int64, st::Int64)
    @ Base ./array.jl:838
 [11] collect_to_with_first!(dest::Vector{…}, v1::String, itr::Base.Generator{…}, st::Int64)
    @ Base ./array.jl:816
 [12] _collect(c::Vector{…}, itr::Base.Generator{…}, ::Base.EltypeUnknown, isz::Base.HasShape{…})
    @ Base ./array.jl:810
 [13] collect_similar
    @ ./array.jl:709 [inlined]
 [14] map
    @ ./abstractarray.jl:3371 [inlined]
 [15] latexoperation(ex::Expr, prevOp::Vector{Symbol}; kwargs::@Kwargs{convert_unicode::Bool, index::Symbol, env::Symbol})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:21
 [16] latexoperation
    @ ~/.julia/packages/Latexify/ieukI/src/latexoperation.jl:9 [inlined]
 [17] (::Latexify.var"#recurseexp!#44"{Bool, @Kwargs{index::Symbol, env::Symbol}})(ex::Expr)
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:98
 [18] _latexraw(inputex::Expr; convert_unicode::Bool, kwargs::@Kwargs{index::Symbol, env::Symbol})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:102
 [19] process_latexify(args::Equation; kwargs::@Kwargs{env::Symbol})
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexify_function.jl:49
 [20] process_latexify
    @ ~/.julia/packages/Latexify/ieukI/src/latexify_function.jl:40 [inlined]
 [21] latexraw(args::Equation)
    @ Latexify ~/.julia/packages/Latexify/ieukI/src/latexraw.jl:58
 [22] top-level scope
    @ REPL[3]:1
Some type information was truncated. Use `show(err)` to see complete types.

isaacsas avatar Oct 20 '24 20:10 isaacsas