This is mostly a thought exercise, but in working on a large document, I've come across some annoying inconsistencies when working with latex. These are usually somewhat trivially fixed, but they add up over time and it's kind of a mess, though it's a little better when they are in their own style files.

For example, when adding custom floats with the float package and then requesting the listofXXXX, the line in the toc doesn't have a vspace, whereas for figures and tables it does (the report.cls file adds it, but it is not customizable). Then the list of listings from the listings package may look a bit different.

There are some other examples, but the overall story is that after a while the document becomes a mishmash of stuff handled by the class and many add-on packages.

Lets say I wanted to create a large, complex document or book with lots of customization (think science - different kinds of equations, figures, schemes, examples, problems, etc), with a VERY consistent but somewhat non-standard (by latex standards) layout. How might this be done?

I see maybe 2 possibilities:

  1. KOMA or similar (feel free to mention others)
  2. Some sort of class (like minimal) that does the bare minimum, then allow the packages to control everything

Or maybe something more powerful than latex?

closed as too broad by Joseph Wright Nov 1 '14 at 22:12

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • If you want lost of customization, maybe you need your own .cls file. – selwyndd21 Dec 9 '13 at 3:13
  • +1 for writing your own .cls file; see [tex.stackexchange.com/questions/34175/…. I'd suggest documenting it, as well – I did that for my lecture notes this year, and it was really useful for keeping track of which custom commands did what. – alexwlchan Dec 9 '13 at 5:15
  • 1
    the minimal documentclass may not be a good starting point; the addon packages would have to reimplement even the most basic features of a class, because it's so minimal. – marczellm Dec 9 '13 at 8:46
  • 1
  • 1
    I'd probably create my own class for a project like this that wraps around a KOMA class so I could take advantage of many features KOMA brings. Regarding thefloat package: the caption bundle including its newfloat package surely is a better alternative. When using a KOMA-Script class there is a built-in possibility for defining new float types so that neither float nor newfloat are needed. – clemens Dec 9 '13 at 10:01