Why won't LaTeX just let me keep things together on one page whenever I want to? Why isn't this straightforward to do? There is this:
Absolutely, definitely, preventing page break.
Maybe that works, always or sometimes, but if so, it's a mess. It is a bad answer, or rather is a good answer to manipulate a seemingly bad or broken system.
I know about \minipage
, but like other questioners, I don't want a minipage. I just want a normal page in which normal elements stay together on the same page when I ask them to.
This question has been asked over and over and over again, in one way or another, so I think that I can accept that no really good answer to it exists. By why does no good answer exist?
Is it because there just something fundamentally, internally wrong with TeX?
If so, what is wrong, please?
I do not understand why it should be hard to tell LaTeX to keep certain elements together on the same page. I do not understand why it should be so hard to prevent a page break. Do you?
To me, it looks as though this should be trivial for LaTeX to do.
USE CASE
[Update: Commenters have shown that the below is not a very good illustration of the problem, or of what I perceive to be the problem. Unfortunately, though I have encountered the above problem repeatedly over the years, I do not have a better case at hand at the moment.]
My question is general, because it comes up often in various contexts. However, if you would like to hear about my latest use case as an example: I have a group of six tables which together nearly fill a nice, two-column page. I don't care exactly on which page the tables appear, but the six look a lot better if they are all on the same page. I don't want to do any weird tricks. I just want the six tables—normal, ordinary tables—to stay together.
Why is this so hard?
over
links are unrelated to the use case that you give later of floating tables together. That is explicitly supported by the design of latex floats. So really you just need to use the environment as documented, no tricks. The questions you refer to are about page breaking in the main text flow where things can be more tricky, and depend on the environment involved, if that has been written to allow page breaking then an environment-specific method may be needed to disable that.