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.
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.
I’ve come to that conclusion, too. If only printing support were better, I wouldn’t write anything but HTML.
Have you tried weasyprint? It turns .html into .pdf. Then I use a script with pdfinfo with the -dests option to get the page numbers of the chapters, mixes it with chapter titles from the .html file to create a ToC, which, in turn, gets included into the .html file again - just like TeX does it.
This is helpful in an environment where inputs are either HTML or EPUB files, and output is PDF for printing, HTML for the web site, and/or EPUB-formate.