You don't give LaTeX much of a chance here:-) Each of the sections is an unbreakable table (tabularx
or tabulary
mostly) as LaTeX never re-orders content it is inevitable that you get overfull boxes or big gaps. LaTeX does complain a lot
Overfull \vbox (52.91997pt too high) has occurred while \output is active
Overfull \vbox (51.91997pt too high) has occurred while \output is active
Overfull \vbox (50.91997pt too high) has occurred while \output is active
Overfull \vbox (49.91997pt too high) has occurred while \output is active
Overfull \vbox (48.91997pt too high) has occurred while \output is active
Overfull \vbox (47.91997pt too high) has occurred while \output is active
Overfull \vbox (46.91997pt too high) has occurred while \output is active
Overfull \vbox (45.91997pt too high) has occurred while \output is active
Overfull \vbox (44.91997pt too high) has occurred while \output is active
Overfull \vbox (43.91997pt too high) has occurred while \output is active
Overfull \vbox (42.91997pt too high) has occurred while \output is active
Overfull \vbox (41.91997pt too high) has occurred while \output is active
Overfull \vbox (40.91997pt too high) has occurred while \output is active
Overfull \vbox (39.91997pt too high) has occurred while \output is active
Overfull \vbox (38.91997pt too high) has occurred while \output is active
Overfull \vbox (37.91997pt too high) has occurred while \output is active
Overfull \vbox (36.91997pt too high) has occurred while \output is active
The NgModelController
table on page two simply doesn't fit in that column,
you could put a \columnbreak
before it leaving that column very short, and also
causing problems in the next column unless you force a break there as well.
I suspect that in this case the various tables are more or less independent and that a better algorithm for this kind of layout would be to measure each one, and then add whichever table best fits in the current column. It's not impossible to do that but LaTeX doesn't really offer much support for that kind of layout out of the box and if it is just one document rather than an automated printing of thousands of pages of data dumped from some database, it is probably better to re-arrange the tables by hand.
Or of course you could use breakable tables and allow them to wrap to the next column. It's fairly easy to use longtable
in multicol
(there is some code on this site for example) although it's a bit harder to use the repeating header feature that longtable would normally have.