Streamlit and r-strings (raw strings)?

Hello!
So I wanted to write out some matrixes in Latex, and I was using the magic syntax, and then writing out Latex inside with a Chrome Plugin.

But that did not work, your formatting doesn’t recognise double backslash like \\ that I need for matrices, even after double escaping them with \\\\. So I tried using an r-string, but it seems your library does not support that, or am I wrong?

Hey @peterstorm, thanks for checking out Streamlit!

Streamlit magic does support raw strings. But: any string that’s printed with magic is formatted as Markdown, which may be what’s tripping you up.

To be more specific:

The Python raw string r'\\raw string\\' is rendered as \raw string\, because \ is an escape character in Markdown.

However, this Python raw string: r'`\\raw string\\`' (note the backticks surrounding \\raw string\\) renders all backslashes as you’d expect: \\raw string\\.

In short, there are multiple types of string escaping at work here!

First-class LaTeX support in Streamlit is about to land, so hopefully this will all become a bit less annoying?

(In the meantime, you can also use st.text (which displays fixed-width text, but does not perform markdown formatting) to show any old string, raw or otherwise, on the frontend.)

2 Likes

Thank you, that is probably just what I need, I will look into that :slight_smile:

2 Likes