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.

  • pmk@lemmy.sdf.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months 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.

    • renzev@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months 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!

      • pmk@lemmy.sdf.org
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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.

    • Treczoks@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            0
            ·
            4 months 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.

  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months 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@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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.

      • Mora@pawb.social
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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.

        • Hawk@lemmynsfw.com
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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.

  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    4 months 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.

    • doctordevice@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months 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@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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.

        • doctordevice@lemmy.ca
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          4 months 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.

    • renzev@lemmy.worldOP
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months 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

      • bleistift2@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months 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.

        • turmoil@feddit.org
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 months 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

    • BCsven@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months 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.

      • BCsven@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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@lemmy.today
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

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

          • Treczoks@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            4 months 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@lemmy.today
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              4 months 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@lemmy.world
                link
                fedilink
                arrow-up
                0
                ·
                4 months 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.

                • Kairos@lemmy.today
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  4 months ago

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

                • bleistift2@sopuli.xyz
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  4 months ago

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

      • chellomere@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

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

      • CapeWearingAeroplane@sopuli.xyz
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        4 months 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?

    • Treczoks@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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.

      • bleistift2@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months 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@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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.

  • umbraroze@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months 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.

  • Treczoks@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months 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@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        4 months 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.

          • BigDanishGuy@sh.itjust.works
            link
            fedilink
            arrow-up
            0
            ·
            4 months 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.

        • agelord@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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.

      • Eager Eagle@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months 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.

        • renzev@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 months 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.

    • Takios@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      4 months 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.

      • renzev@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months 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@mander.xyz
          link
          fedilink
          arrow-up
          0
          ·
          4 months 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.

      • Andrew@mander.xyz
        link
        fedilink
        arrow-up
        0
        ·
        4 months 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.

          • Andrew@mander.xyz
            link
            fedilink
            arrow-up
            0
            ·
            4 months 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.

          • renzev@lemmy.worldOP
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months 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.

    • UpperBroccoli@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

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

  • wuphysics87@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months 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!