Please dont take this seriously guys its just a dumb meme I haven’t written a single line of code in half of these languages

  • renzev@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    8 months ago

    Yeah, what the hell is up with that? I always just echo | pdflatex to make it shut up and exit on error. Maybe one day I’ll learn how to actually use that interactive compilation thing, but not today lol.

      • renzev@lemmy.worldOP
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        So there are many different commands that compile LaTeX, right? pdflatex, pdftex, latexmk, etc. But they all do that thing where they ask for your input as soon as they encounter an error, right? Well, if you just pipe an empty echo command to them, it notices that stdin has reached end-of-file, and gives up trying to ask the user for input, and just exits on first error. So instead of pdflatex mydocument.tex, you can do echo | pdflatex mydocument.tex and it won’t ask you for input if it sees an error, it’ll just exit. There’s probably a “proper” way to achieve the same behaviour, but I can’t be arsed to read the docs.

        Speaking of stupid TeX hacks, at one point I had a script called latex_compile_and_install_packages_until_it_works.sh. It’s essentially a loop that repeatedly tries to compile a document, searches the output of the compiler for anything that looks like a missing package error, and pipes it to sudo tlmgr install. The “fuck it” of package management, arbitrary code execution exploit included!

        (Sorry for the screenshot, I lost the original script in text form, probably for the better)

        • tetris11
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          Haha that’s brilliant! I have a similar script for Conda, where it tries to install R packages by first looking in bioconductor and then trying the rejects through conda-forge, and then the rejects from that are compiled from source or just outright rejected.

          I would have thought you would have needed a (while :; do echo; done) | pdflatex or a yes "\end" | pdflatex, i.e. something that repeatedly generates output. It’s actually quite elegant that pdflatex checks if stdin is already EOF