Context: LaTeX is a typesetting system. When compiling a document, a lot of really in-depth debugging information is printed, which can be borderline incomprehensible to anyone but LaTeX experts. It can also be a visual hindrance when looking for important information like errors.

  • @[email protected]
    link
    fedilink
    English
    106
    edit-2
    20 days ago

    LaTeX is soo great! You don’t have to worry about formatting ever again.

    Puts image I’m talking about 8 pages away from the section that talks about the image

    Writes not only over the margin, but over the goddamn page boundary because adding a page was not fashionable that day

    Moves a table left by 1 cm on every other compilation, moves it back in the other compilations (happened to a colleague)

    So instead of worrying about formatting you worry about learning the incantations that force LaTeX at gunpoint not to fuck up the formatting.

    • @renzevOP
      link
      56
      edit-2
      20 days ago

      Compiler: Could not find "tikz.sty"

      Me: So you want me to install the package called “tikz”?

      Compiler: no, there's no package called tikz. I need the file called "tikz.sty"

      Me: Okay then, so which package provides the “tikz.sty” file?

      Compiler: fuck if I know, go google it or something ¯\_(ツ)_

      Switched to typst a few months ago, enjoying it much more than LaTeX so far. Really excited to see how it will grow in the future

      • @[email protected]
        link
        fedilink
        English
        62
        edit-2
        20 days ago

        Yeees, I forgot all about the non-existent module system.

        – Professor: Here’s the template for your thesis.

        – There are, like, 50 lines of macro imports here. Which modules does this need?

        – Fuck if I know. You want my installation? It’s only 50GB.

        • @[email protected]
          link
          fedilink
          English
          819 days ago

          Just let me use the university wide template everyone uses instead of having a dedicated template for your department that looks like shit, uses a shitty ass font, and integrates packages I despise. god fucking dammit

    • @[email protected]
      link
      fedilink
      21
      edit-2
      20 days ago

      I feel personally attacked. Brb, making presentation slides in beamer and compiling 1000 times to get the figure to the exact right pixel.

      I definitely won’t make any changes to the figure later that will make me have to adjust the position again. Why yes, this is better than PowerPoint, why do you ask?

      • @dustyData
        link
        820 days ago

        If you’re trying to do pixel adjustments of figure position and changing it breaks something, you missed the point of the software package and/or are doing something horribly wrong and unsupported.

        • @[email protected]
          link
          fedilink
          7
          edit-2
          20 days ago

          Sheesh, now I feel actually attacked a little. I was being mostly hyperbolic, but you can do really useful things with complex figures in presentations. For example: revealing elements sequentially to build up to the final figure or altering opacity of different elements to bring the audience’s attention to specific parts of the figure.

          This sequencing can sometimes very subtly alter the size of the figure as you change elements, so the default positioning will slightly change from one slide to the next. Most people won’t care or notice when a figure slightly drifts by a pixel or two during these sequences, but it bothers me tremendously so I add adjustments to keep every variation of the figure aligned on the slides.

    • @Treczoks
      link
      2120 days ago

      As long as you let TeX do it’s job, you usually don’t get such issues. But there are many people who mistake TeX as a “Word for Scientists”, and just make the same mistakes they make in Word because they do not grok TeX.

    • @dustyData
      link
      1820 days ago

      If you’re trying to do something on LaTeX and you find yourself wrestling with the software or writing TeX commands. Take a step back and reconsider. The reason the software is fighting you is because you are trying to make it do something it is not meant for or you’re actively asking it to do the opposite of what you stated earlier you wanted to achieve. Thus creating a contradiction of intent.

      Obvious examples are using the article template to write a book, or using the book template to write a letter. It is akin to using Excel as a game engine, possible, but not easily. You’re trying to use a hammer to unscrew a bolt. Of course the tool is gonna fight you.

      • @[email protected]
        link
        fedilink
        English
        519 days ago

        Take a step back and reconsider. The reason the software is fighting you is because you are trying to make it do something it is not meant for or you’re actively asking it to do the opposite of what you stated earlier you wanted to achieve.

        Wise words, and true most of the time.

        But goddammit is it so hard not to write over the page border? This isn’t something I should have to specifically define as bad.

        • @dustyData
          link
          519 days ago

          You don’t generally have to. There’s a package or environment somewhere that lifted that restriction or force it by trying to do something else. LaTeX is 100% deterministic. Someone, you perhaps unknowingly, told it to put that text there while trying to achieve something else.

          Remember that LaTeX is about setting rules then letting it arrange the text in a way that follows those rules. If you try to meddle into the typography by hand, forcing specifics that break the rules, you will break its behavior. If it is putting text over the margin, it is because it determined that is the only way to fulfill the totality of your instructions.

    • @[email protected]
      link
      fedilink
      1220 days ago

      For the image one there is an option to control if the image is immediate, or when if finds space to insert. Trouble is I have to look these up all the time…so what starts as an attempt at creating a cleanly formatted document often takes more time than messing around with a shitty editor like Word

    • Kairos
      link
      fedilink
      11
      edit-2
      20 days ago

      Its always bothered me that a language meant to get rid of formatting there seems to be a lot of fucking formatting. There’s no way to change the way things look outside of explicit formatting (like themes). It’s basically all formatting.

      And it’s a fucking mess. How in the fuck do I make titles? What about subtitles? Why is there no paragraph spacing? What’s the point of \title if it’s completely indistinguishable from other text?

      I want a markdown editor that supports math LaTeX and a ton of plugins. Markdown is dead simple for a reason.

      • @[email protected]
        link
        fedilink
        920 days ago

        Your editor shoul show you \title as another colour

        And subtitle would be \large after title line

        It is all formatting rules. But eliminates formatting the body text.

        At least you know output will be same, not like MS Word

        • Kairos
          link
          fedilink
          720 days ago

          Oh thank goodness, body text is notoriously the hardest thing to format in a document

          • @Treczoks
            link
            1020 days ago

            If you had seen some of the Word documents I have, you would not joke about that. People can really f-up text bodies.

            Example: one guy wanted to keep two paragraphs together. He did not know about the necessary formatting option, but he knew that chapter titles did what he wanted. So he made the first paragraph a title and just reset font, size, etc to resemble a normal text. F-ed up quite some things…

            • Kairos
              link
              fedilink
              1
              edit-2
              20 days ago

              That’s just an effect of shitty software that does too much (and yes I’m advocating for a simpler Word or something. Markdown is fine for 95% of use cases.)

              • @Treczoks
                link
                220 days ago

                Guess what? I have moved my large text layouts over to HTML. Creating printed TOCs in a PDF takes some effort, but once I got that under control, it worked. Takes a makefile, though, and a bit of discipline in the HTML file, but the result is surprisingly good.

                • @[email protected]
                  link
                  fedilink
                  English
                  219 days ago

                  I’ve come to that conclusion, too. If only printing support were better, I wouldn’t write anything but HTML.

                • Kairos
                  link
                  fedilink
                  219 days ago

                  Anything you put that amount of effort into should be good, as long as you actually care about it.

            • Kairos
              link
              fedilink
              119 days ago

              Okay now what would happen if you made him use LaTeX?

              • @Treczoks
                link
                119 days ago

                I don’t know if that person would have the intellectual capacity to actually understand the very concept of TeX: Writing a source and compiling it into a document. That idea would probably fry his mind.

      • @[email protected]
        link
        fedilink
        3
        edit-2
        18 days ago

        I see a lot of strange takes around here, and honestly cannot understand where you are coming from. Like really: I’ve written several 100+ page documents with everything from basic tables, figures and equations, to various custom-formatted environments and programmatically generated sections, and I’ve never encountered even a third of these formatting issues people are talking about.

        You literally just \documentclass[whatever]{my doc type}, \usepackage{stuff} and fire away. To be honest, I’ve seen some absolutely horrifying preambles and unnecessary style sheets, and feel the need to ask: How are you people making latex so hard?

      • @chellomere
        link
        220 days ago

        I’ve used LyX with good results, it’s a GUI that abstracts away many of the complexities of latex.

  • @[email protected]
    link
    fedilink
    63
    edit-2
    20 days ago

    The reason is that you’re reading TeX, not LaTeX. The latter has abstracted away the fundamental building blocks so few people know how an hbox is set anymore. So, an hbox is a box where the content is in horizontal mode. Between the things is glue. Glue can stretch and shrink. Depending on how you have set your tolerance and penalties, there’s a maximum percentage of stretch allowed. If the glue stretches more, it becomes bad, this is called badness and can effectively be up to 10000 bad. So why not just put more things into the box? Well, (La)TeX probably tried to do that, but came up with worse badness. TeX always chooses the least bad option on a paragraph level. In practice, the usual suspect is often that you have something else that can’t fit the last part of a line, like a really long word. If you can look at it and manually hyphenate it, things might be better.

    • @Treczoks
      link
      820 days ago

      Most probably a narrow column with a word near the end that TeX had problems hyphenating.

      A line of text is basically a hbox. The words in this line are fixed in their lenght, so TeX distributes the space between them as evenly as possible to fill this hbox. It has a certain range for the length of a space, and tries to move words or parts of words with hyphenation around to stay in the OK range for the space width. If it can’t, it complains about under- or overfull hboxes.

      • borari
        link
        fedilink
        120 days ago

        I ran into this issue when using code blocks in LaTeX that contained a bash command like ‘echo aBcdEF32… > /var/www/index.php’, where aBcdEF32… was the base64 encoded string of a web shell. I wound up having to set the line break behavior to split on some random letters/numbers to get everything to wrap appropriately, although that was probably some hacky heretical solution.

        • @Treczoks
          link
          420 days ago

          You could have used a thin space every four or eight hex digits, showing that it is not really a space but making it easier to read.

          But you cannot blame TeX for not being able to break such a construct.

          • borari
            link
            fedilink
            219 days ago

            Oh I don’t blame it at all, I totally realize I threw a weird edge case at it! If it sounded like I was slagging TeX I didn’t mean it that way at all.

    • @indianboy42
      link
      520 days ago

      Ironically the tom7 video about it using an AI to rewrite text to look prettier was the first time I learnt what badness and text layout in TeX actually meant.

      https://youtu.be/Y65FRxE7uMc

    • @renzevOP
      link
      English
      219 days ago

      Thank you for this writeup, very informative. I get a lot of these “badness 10000” messages when working with things that have “complex” layouts, for example a resume/CV template. Given that TeX was originally made for research papers/articles, it makes sense that weirdness would arise when it’s used for more layout-heavy stuff!

      • @[email protected]
        link
        fedilink
        619 days ago

        Badness 10000 usually indicates that something is very wrong. Usually overfull hboxes. If the text is spaced out to the point where it immediately looks bad, that could still be like badness 5000. What I have seen mostly is macros not playing well with other macros, and in LaTeX there’s a lot of macros under the hood, so it’s very hard to troubleshoot.

      • Eager Eagle
        link
        English
        1420 days ago

        yeah, I still wrote my dissertation last year on latex because that was the template they had and I didn’t feel like reading all formatting rules and writing a Typst version for that. That said, creating a Typst template is a far more straightforward than any other format.

        • @renzevOP
          link
          English
          2220 days ago

          honestly LaTeX isn’t too bad once you have it all set up. An environment with the correct packages, a collection of templates for common document types, a set of macros for often-used constructions, and and editor with good snippets and syntax highlighting. Once you have all of that, LaTeX becomes a breeze. At one point, I was even taking notes with LaTeX in real-time during lectures.

          But that’s the beauty of typst – it’s like a fully beefed out LaTeX setup, but straight out of the box. No need for snippets, because the syntax is lean enough as it is. No need for templates, because there is no boilerplate needed for a document. No need to waste half an hour setting up an environment and looking for dependencies – all of typst is just two executables (compiler and LSP), and package management is automatic.

    • @sga
      link
      520 days ago

      I recently wrote my thesis in typst, best choice i could make

      • Andrew
        link
        fedilink
        820 days ago

        Well, overleaf.com is for LaTeX, but typst.app is for Typst, a superior alternative witch is in beta. So for some people it won’t be enough (yet), but for me it’s awesome.

          • @renzevOP
            link
            English
            1019 days ago

            Whether or not typst is “superior” is largely debatable, but here are some reasons why I personally prefer Typst to LaTeX:

            • leaner syntax
            • less boilerplate
            • (arguably) more intuitive syntax for math and formatting
            • real-time preview thanks to incremental compilation
            • automatic package management
            • Ability to perform calculations/data processing inline inside your document (I know you can do this in LaTeX as well, but typst makes it easier)

            However, as Andrew said, it is very much still in beta, so I don’t think it can be a complete replacement for LaTeX. Basically, think of it as something in between LaTeX and Markdown. Less features, but easier to write.

          • Andrew
            link
            fedilink
            119 days ago

            Since for me it has all the needed features, for me — it’s by far superior (even compared to LuaLaTeX which is the last thing I used). But some people, mainly from academia, are still can’t switch due to some features missing. A few people were able to create thesis in Typst (including myself). In the long run it will be 100% superior. In the mean time, there are a few hacks to enable some features that are otherwise not implemented yet.

    • @[email protected]
      link
      fedilink
      919 days ago

      Which apparently needs an account just to use it and a subscription to use it well. Don’t think something like that can be a lord and saviour over LaTeX.

      • @renzevOP
        link
        English
        819 days ago

        This is what I though as well when I first looked at their website. But nope, the compiler and LSP are available as fully offline programs under the apache license. But I understand how you’d get confused, their website is strikingly polished for an open-source non-commercial project!

        The only thing you’re missing out on if you use the offline version is having the rendered preview update in real time as you type, but you can sort of emulate that feature using their neovim plugin and a really fast PDF viewer like zathura.

        • Andrew
          link
          fedilink
          219 days ago

          The last point: I use MuPDF + entr as zarhura crush as a mf, not usable at all. Some others use typst-preview which can be used in the browser and as a VS Code extension. But I use Neovim btw and the web version lack a few key features. Anyway, I use mupdf+entr+nvim for many months now and it’s more than enough for me.

          The web version, for me, is just to share my local project with someone, that’s it.

  • @Treczoks
    link
    1219 days ago

    If you work with LaTeX for five years and still have no idea what a hbox is or what that message means, you should not consider naming this “experience”.

      • @Treczoks
        link
        4
        edit-2
        19 days ago

        I already explained this in my post of yesterday in this thread. I’ve been the TeX admin at our university in my student times. I’ve been creating styles and \shipout macros. I know this stuff inside out. Heck, I’ve even read good parts of the source to understand some finer points.

        • @meliaesc
          link
          1019 days ago

          And you’re expecting everyone to have this amount of experience?

          • @[email protected]
            link
            fedilink
            719 days ago

            But of course, how else could you describe yourself as having experience with TeX? /s

            I think our TeX savvy lemming here confuses a knowledge level in the expert/consultant sphere with “having experience”.

            Having worked with LaTeX on and off for 15 years, and on occasions developing TeX macros (ie copy pasting stuff from stackoverflow and shotgun debugging it until it sorta works) and creating various graphics with PGF/TikZ, I would describe myself as having extended experience with the TeX environment. But I still can’t tell you exactly what causes \hbox underfull without looking it up… Probably because it’s never caused a failure to output my documents.

          • @renzevOP
            link
            English
            219 days ago

            Yes? Experience and skill are good things and should be encouraged!

          • @Treczoks
            link
            118 days ago

            Well, you can use a tool, and acquire just enough knowledge to use it without too many accidents. And then simply give up on progressing any farther. Or you can keep digging into the mountain of knowledge to improve your skills farther and deeper. It is always your choice.

        • @agelord
          link
          419 days ago

          “Using LaTeX” and and “programing with LaTeX” are very different things. For most people, LaTeX is a means to an end, for you LaTeX is your whole job. You’re the exception, and exception can not be an example.

    • @[email protected]
      link
      fedilink
      419 days ago

      Surely, you really mean C++ compiler errors for anything involving temples, yes? 5000 pages of errors because you misplaced a sign somewhere.

      • @renzevOP
        link
        English
        117 days ago

        Those template errors feel almost passive-aggressive to me. Almost as if the compiler is telling you “Here are all the ways in which I tried to make your shitty code make sense, and yet it still doesn’t work” lol

  • @dyc3
    link
    519 days ago

    I have completely abandoned latex for typst at this point.

    • @agelord
      link
      219 days ago

      I’m still waiting for Quarto and the R ecosystem to better support Typst.

      • @dyc3
        link
        118 days ago

        I’m not familiar, what’s Quarto?

        • @agelord
          link
          218 days ago

          https://quarto.org is an open-source scientific and technical publishing system. You write markdown text and it converts it to HTML website, PDF article/book, word document and many other formats.

  • wuphysics87
    link
    fedilink
    319 days ago

    Use entr it’s a godsend! It watches when you write a buffer and then runs a command, which can be a script. Save your LaTeX often, and you never ger those errors!

    • @renzevOP
      link
      English
      117 days ago

      For vim users, there’s also vimtex, which, on top of doing what entr does, has a “quick fixes” feature that basically creates a split with a concise list of errors that’s much more readable than pdflatex (or similar) output

    • @agelord
      link
      119 days ago

      Latexmk has built-in option to watch a Tex file and recompile upon changes.

  • @umbraroze
    link
    217 days ago

    A “hbox” in TeX is a horizontal box. In 99% cases when laying out text, it’s a line of text. “Underfull hbox” means “I couldn’t stretch the content of this line far enough, so it will look janky as f due to the increased spacing”. “Overfull hbox” means “Well, I tried my best to hyphenate and line-terminate, but this word will stick out of the margin and will look stupid as f.”

    Most of the time this is caused by a word that auto hyphenation can’t deal with. You need to add a manual hyphenation exception. I can’t remember how to do that, sorry, because it’s been a while and also I’m mildly drunk, sorry.

  • @[email protected]
    link
    fedilink
    English
    220 days ago

    BTW I wrote my thesis in LibreOffice. That’s its own can of worms, but at least I knew how to wrestle it into submission – other than LaTeX. Set the font to Latin Modern Roman and no-one will know the difference.

    • @ForgotAboutDre
      link
      1920 days ago

      LaTeX writes the same fonts better, at least compared to MS Office. I notice it when a papers been written in word with the Journal template with the same fonts and style. LaTeX kerns and splits new lines nicer.

      • @[email protected]
        link
        fedilink
        420 days ago

        I am curious just how many people would notice that (or the usage of the microtype package vs without).

        I know of one professor in my college who dabbled in typography and was usually spot on when it came to something like this but I’ve never heard the others talk about it.

        • @[email protected]
          link
          fedilink
          620 days ago

          In my research group we could tell instantly and it would usually act as a mark against the paper (ie read this one later).

          If you’re reading a lot of papers it becomes apparent.