# \[ANN\] LAlatex.jl v1.0.0 — LaTeX rendering for linear algebra and symbolic math

**URL:** <https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908>\
**Category:** Package Announcements\
**Tags:** package\
**Created:** [April 28, 2026, 2:44pm UTC](https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908 "2026-04-28T14:44:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [April 28, 2026, 2:44pm UTC](https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908/1 "2026-04-28T14:44:52Z")

</div>

LAlatex.jl is a Julia package for rendering linear algebra objects and symbolic expressions as clean LaTeX for notebooks, handouts, and docs.

GitHub: [GitHub - ea42gh/LAlatex.jl: convert julia objects to latex representations, render in jupyter notebooks. Focus on Linear Algebra matrices, etc · GitHub](https://github.com/ea42gh/LAlatex.jl)

Main features:

- `L_show(...)` returns a LaTeX string.
- `l_show(...)` returns a `LaTeXString` for notebook display.
- Structured helpers: `set(...)`, `lc(...)`, `cases(...)`, and `aligned(...)`.
- Support for vectors, matrices, tuples, and `BlockArray`s.
- Symbolic support with both Symbolics and SymPy backends.

Example:

```julia
  using LAlatex
  using LaTeXStrings

  A = [1 2; 3 4]
  l_show("A = ", A)

  l_show("S = ", set(1, 2, 3; separator=L", "))

  l_show("f(x) = ", cases(
      x^2 => L"x \\ge 0",
      (-x, L"x < 0"),
  ))

  l_show(aligned(
      L"Ax" => L"b",
      (L"x", L"\\in", L"\\mathcal{N}(A)"),
  ))

  # For linear combinations:

  s = [2, -1]
  X = [1 0; 0 1]
  l_show(lc(s, X))

```

This is the v1.0.0 release. Feedback is welcome, especially from people using Julia for teaching, notes, and linear algebra notebooks.

---

<div class="post-metadata">

**Author:** ![liuyxpp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/liuyxpp/32/9870_2.png) [@liuyxpp](https://discourse.julialang.org/u/liuyxpp)\
**Post date:** [April 29, 2026, 2:12am UTC](https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908/2 "2026-04-29T02:12:22Z")

</div>

Super useful for preparing course materials and presentations, thank you!

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [April 29, 2026, 7:55pm UTC](https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908/3 "2026-04-29T19:55:48Z")

</div>

Out of curiosity, how does this differ from [GitHub - korsbo/Latexify.jl: Convert julia objects to LaTeX equations, arrays or other environments. · GitHub](https://github.com/korsbo/Latexify.jl) by @korsbo ? It seems like it overlaps quite a bit?

---

<div class="post-metadata">

**Author:** ![ea42gh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ea42gh/32/12000_2.png) [@ea42gh](https://discourse.julialang.org/u/ea42gh)\
**Post date:** [April 29, 2026, 8:32pm UTC](https://discourse.julialang.org/t/ann-lalatex-jl-v1-0-0-latex-rendering-for-linear-algebra-and-symbolic-math/136908/4 "2026-04-29T20:32:19Z")

</div>

It does overlap with Latexify.jl, and that is intentional.  
Latexify.jl is a general Julia-to-LaTeX converter, while  
LAlatex is a more opinionated display layer aimed at linear algebra,  
symbolic expressions, and notebook/course material.

It adds things like L\_show(…) / l\_show(…),  
structured helpers such as lc(…), set(…), cases(…), and aligned(…),  
and tighter control over matrix styling, denominator factoring, separators,  
and Symbolics/SymPy display behavior.

So I would describe the relationship as: Latexify.jl is the general conversion engine, while LAlatex is a higher-level presentation layer built on top of that ecosystem for linear algebra workflows.  
It is also part of a broader tool suite with **jupyter-tikz** , **matrixlayout** and **la\_figures** , which is mostly written in Python and geared toward notebook-  
friendly mathematical rendering and visualization (See [ea42gh · GitHub](https://github.com/ea42gh))
