Florilegium: Procedural Flowers in LaTeX

(github.com)

298 points | by nanna 20 hours ago ago

48 comments

  • lkm0 17 hours ago

    In the same vein, a few years ago, somebody implemented procedural decorations for a recreation of Byrne's "Elements of Euclid" in LaTeX: https://github.com/jemmybutton/byrne-euclid

    (bottom of the readme)

  • kjraym 3 hours ago

    I was recently made aware that my repo was mentioned here (thanks nanna).

    Thanks for posting your thoughts, either way you go - I respect your opinions.

    On the Reddit post (https://www.reddit.com/r/LaTeX/comments/1xixznw/how_do_you_m...), I promised I would share the process I used to create the v1.0 release, so I thought it fitting to include that here as well, for anyone interested. I hope you find it useful!

    https://github.com/kevinraymond/florilegium/blob/main/PROCES...

    • fock 3 hours ago

      but this is not what was searched for on reddit? sadly it shows. the reddit thing is beautiful, your thing is... ok compared to it.

  • archermarks 17 hours ago

    Gorgeous but the AI text is so grating.

    • artursapek 16 hours ago

      It's so recognizable lol. All the staccato.

  • scott_codie 16 hours ago

    In the reddit post, it is clear the person who came up with this didn't want it to be copied. I feel sad for that person.

    • bluerooibos 14 hours ago

      > The creator prefers to keep the source closed to avoid code critiques

      That doesn't sound like someone who doesn't want their idea copied.

    • anamexis 15 hours ago

      Why? I'm sure basically any closed product would prefer that there were no open source copies, but why feel sad for them?

    • mathisfun123 6 hours ago

      as in the reddit post: "dawg the flowers are pretty and look cool its not that deep"

  • watersb 12 hours ago

    I've recently spent some time staring at the contents of the MacTeX Distribution.

    https://tug.org/mactex/

    Which is how I discovered Toby Thruston's classic, "Drawing with MetaPost".

    https://github.com/thruston/Drawing-with-Metapost

    Procedural drawing with Lua is lovely. MetaPost provides another drawing language that might be considered more TeX-like.

    I'm not sure. I tend to be humbled by the TeX community. Inspired.

  • whimsicalism 18 hours ago

    I think the phrase 'florilegium' must be an AI basin of sorts as I've had it suggested by AI as a name for a few projects of my own.

    • jihadjihad 18 hours ago

      It's basically a Latin version of the Greek anthology [0], but far less commonly used. I'd imagine it occupies similar territory to anthology in high-dimensional space, though, so seems reasonable for an LLM to pick it up.

      0: https://en.wiktionary.org/wiki/anthology

      • ggsp 17 hours ago

        I had no clue about anthology’s etymology. Very cool!

        • hencq 4 hours ago

          Reading this made me realize the Dutch 'bloemlezing' is literally the same word.

    • epihelix 7 hours ago

      Quoting Wikipedia:

      > The word is from the Latin flos (flower) and legere (to gather): literally a gathering of flowers, or collection of fine extracts from the body of a larger work.

      There's obviously the scholarly allusion and the literal floral allusion here, so even if it is AI generated it's right on the money in this case :) You would struggle to find a more apt name.

  • ClaraForm 17 hours ago

    This is beautiful, thank you!

    I just asked Deepseek 4.1 Flash to convert it to an Obsidian extension that uses the file-name as the seed, and the result [1] is exactly something I've been dreaming of for so many years while I take daily notes.

    [1] imagepaste.org/i/8zu627ud.png

  • bonzini 18 hours ago

    Readme is AI. :/

    • Thomashuet 17 hours ago

      Not just the README, all of it. The author gives more details about it here: https://www.reddit.com/r/LaTeX/comments/1xixznw/comment/19rv...

      • bonzini 15 hours ago

        I don't mind that as much. Scratching an itch with AI is fine, but if you want to publish it to the world I sort of expect some effort to show why you did that and why I should care.

    • forgetfulness 17 hours ago

      This would have hit harder ten years ago, TeX ornamentation was a beautiful craft in all senses of the word.

      This is still pretty neat, but it's just not the same as carrying the tradition of Donald Knuth.

      • amoshebb 20 minutes ago

        I don’t see it as so different. Knuth was playing with bleeding edge tools to see how they could make beautiful documents, I’m sure peers told him plenty of times trying to run vector graphics through a PDP-10 wasn’t “carrying the tradition of…”

        Knuth today is busy writing “Shock! Shock! Claude Opus is great at math” papers, not poo-pooing other with strange appeals to “tradition”

  • bluerooibos 14 hours ago

    Nice! I do slightly prefer the implementation/style in the Reddit post - do you have any plans to try and recreate that more closely or add multiple style options to it? Neat either way.

  • russfink 8 hours ago

    Someone - please figure out how to encode messages using this technique.

  • nico 18 hours ago

    Very impressed with both the cool idea and visuals, as well as the technical details. Had no idea you could do animations in Latex/PDF. So beautiful! Thank you for sharing

  • paaloeye 15 hours ago

    This one is a stunner! Now I'm thinking about the next level: define a number of classes of procedurally generated patterns and let LLM decide overall sentiment relevance per page and make it somewhat logical across the document.

    Rebuild the document a few times, change the temperature, and choose the best.

  • pmkary 9 hours ago

    This is what Knuth made TeX for! art!

  • skyberrys 17 hours ago

    I love it!!! I've tried years ago to make something like this, it didn't work out. But it makes me so happy to see that you did it! Great job!

  • vessenes 16 hours ago

    Nice. I like that different print runs will have different procedurally generated flowers; nice touch.

  • coreyp_1 19 hours ago

    Quite beautiful.

  • b19n 19 hours ago

    There are (many) times lately where I have become completely disillusioned with software, despise it at work and at home. But then I see something beautiful like this and feel marginally better.

  • james_marks 18 hours ago

    This is beautiful, thank you!

  • Avicebron 18 hours ago

    Definitely taking a closer look at this after work, awesome job.

  • fch42 17 hours ago

    This is beautiful - thanks for sharing.

  • aanet 18 hours ago

    This is so pretty. Thanks for sharing.

  • bbor 15 hours ago

    Am I miffed that something I've tried multiple times with the latest models has been accomplished here so beautifully, and in LUA (!!!) nonetheless? A little! But it's worth it to know that it is indeed possible...

    Great work. I doubt you care, but try not to get caught up in the idea that you might have violated someones god-given property rights by making pretty flowers for fun in the margins of PDFs.

  • RGS1811 18 hours ago

    This is gorgeous! Great idea!

  • LeTeutz 19 hours ago

    YES THIS IS WHAT I NEED

  • WesolyKubeczek 14 hours ago

    I don't care that it's vibecoded, it's beautiful.

  • ligarota 16 hours ago

    Now do it in Typst.

    Edit: sad that is AI. And that explains why it's in LaTeX

    • fiforpg 16 hours ago

      If not for AI, the project would have remained where it was born: in the author's head.

      I do understand your sentiment, of course.

    • epihelix 8 hours ago

      Why would AI-generated explain LaTeX? Pretty sure most people still use LaTeX around here.

      (I'd never heard of Typst until your post, personally. But I'd guess it would be easy to port over to that platform with an LLM if you wanted to.)

    • forgotpwd16 13 hours ago

      It's LaTeX because the reddit post, inquiring on how to do this and which sparked author to make this project and into which author shared it, was made in the LaTeX sub.

    • loloquwowndueo 9 hours ago

      On the other hand - grab the latex source and toss your AI at it to produce a typst version.