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

Inconsistent use of mathrm within equations

Open isaacsas opened this issue 4 years ago • 1 comments

using Catalyst, Latexify
rn = @reaction_network begin
           hillr(P₃,α,K,n), ∅ --> m₁
           hillr(P₁,α,K,n), ∅ --> m₂
           hillr(P₂,α,K,n), ∅ --> m₃
           (δ,γ), m₁ ↔ ∅
           (δ,γ), m₂ ↔ ∅
           (δ,γ), m₃ ↔ ∅
           β, m₁ --> m₁ + P₁
           β, m₂ --> m₂ + P₂
           β, m₃ --> m₃ + P₃
           μ, P₁ --> ∅
           μ, P₂ --> ∅
           μ, P₃ --> ∅
       end α K n δ γ β μ;
latexify(rn)

gives

L"\begin{align}
\require{mhchem}
\ce{ \varnothing &->[\frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_3}\left( t \right) \right)^{n}}] m_{1}}\\
\ce{ \varnothing &->[\frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_1}\left( t \right) \right)^{n}}] m_{2}}\\
\ce{ \varnothing &->[\frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_2}\left( t \right) \right)^{n}}] m_{3}}\\
\ce{ m_{1} &<=>[\delta][\gamma] \varnothing}\\
\ce{ m_{2} &<=>[\delta][\gamma] \varnothing}\\
\ce{ m_{3} &<=>[\delta][\gamma] \varnothing}\\
\ce{ m_{1} &->[\beta] m_{1} + P_{1}}\\
\ce{ m_{2} &->[\beta] m_{2} + P_{2}}\\
\ce{ m_{3} &->[\beta] m_{3} + P_{3}}\\
\ce{ P_{1} &->[\mu] \varnothing}\\
\ce{ P_{2} &->[\mu] \varnothing}\\
\ce{ P_{3} &->[\mu] \varnothing}
\end{align}
"

Sometimes the species are shown in mathrm and sometimes they are not.

At one point I was seeing a similar issue when using Latexify with ModelingToolkit ODESystems and such too (the derivative variable and rhs variables were getting different fonts).

isaacsas avatar Aug 21 '20 02:08 isaacsas

Hmm, I thought this was giving a different appearance of the compiled fonts, but now it seems to be the same. So no problem for Catalyst I guess!

I'll leave this open as there does still seem to be an issue for generated ODEs:

latexify(convert(ODESystem,rn))

gives

L"$\begin{align}
\frac{dm_1(t)}{dt} =& \frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_3}\left( t \right) \right)^{n}} - \delta \mathrm{m_1}\left( t \right) + \gamma \\
\frac{dm_2(t)}{dt} =& \frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_1}\left( t \right) \right)^{n}} - \delta \mathrm{m_2}\left( t \right) + \gamma \\
\frac{dm_3(t)}{dt} =& \frac{\alpha K^{n}}{K^{n} + \left( \mathrm{P_2}\left( t \right) \right)^{n}} - \delta \mathrm{m_3}\left( t \right) + \gamma \\
\frac{dP_1(t)}{dt} =& \beta \mathrm{m_1}\left( t \right) - \mu \mathrm{P_1}\left( t \right) \\
\frac{dP_2(t)}{dt} =& \beta \mathrm{m_2}\left( t \right) - \mu \mathrm{P_2}\left( t \right) \\
\frac{dP_3(t)}{dt} =& \beta \mathrm{m_3}\left( t \right) - \mu \mathrm{P_3}\left( t \right)
\end{align}
$"

which does have a discrepancy on the two sides of the equation when compiled.

isaacsas avatar Aug 21 '20 02:08 isaacsas