Latex float parameters look messy to me. I was reading this which says,
You can force LaTeX to use one given position. E.g. [!h] forces LaTeX to place it exactly where you place it (Except when it's really impossible, e.g you place a table here and this place would be the last line on a page). Again, understand it correctly: it urges LaTeX to put the table at a specific place, but it will not be placed there if LaTeX thinks it will not look great. If you really want to place your table manually, do not use the table environment.
First it says that [!h] forces and immediately after it says that [!h] urges Latex to put the table at specific place. Aren't these two contradictory?
[!h]LaTeX will most likely give a warning and change it to[!ht]but it's best to always includepand it makes no sense to always include!– David Carlisle Apr 19 '15 at 21:18