latexalign
This function converts its input to $\LaTeX$ align environments. One way of using the function is to pass it two vectors, one which holds the left-hand-side of the equations and the other which holds the right. For example:
lhs = ["dx/dt", "dy/dt"]
rhs = ["y^2 - x", "x/y - y"]
print(latexalign(lhs, rhs))
outputs:
\begin{align}
\frac{dx}{dt} &= y^{2} - x \\
\frac{dy}{dt} &= \frac{x}{y} - y \\
\end{align}
In Jupyter, this can be rendered by:
display( latexalign(lhs, rhs))
\begin{align*} \frac{dx}{dt} &= y^{2} - x \\ \frac{dy}{dt} &= \frac{x}{y} - y \\ \end{align*}
Using DifferentialEquations.jl
The motivation for creating this function was mainly to be able to render ODEs. In my own work, I tend to use DifferentialEquations.jl to define ODEs as ParameterizedFunctions. Therefore, I found it useful to create a method which simply takes the ParameterizedFunction as input:
using Latexify
using DifferentialEquations
ode = @ode_def positiveFeedback begin
dx = y/(k_y + y) - x
dy = x^n_x/(k_x^n_x + x^n_x) - y
end k_y k_x n_x
latexalign(ode)
\begin{align} \frac{dx}{dt} &= \frac{y}{k{y} + y} - x \\ \frac{dy}{dt} &= \frac{x^{n{x}}}{k{x}^{n{x}} + x^{n_{x}}} - y \\ \end{align}