I have looked both the answers here and here, but could not fix my problem.
A minimal working example is the following
\documentclass{amsart}[11pt]
\usepackage{lipsum}
\usepackage{caption}
\begin{document}
\lipsum[1]
\begin{table}[h]
\centering
\begin{tabular}{cccc}
1 &2 &3 &4\\ \hline
1 &2 &3 &4\\ \hline
1 &2 &3 &4\\ \hline
1 &2 &3 &4\\ \hline
\end{tabular}
\caption{}\label{tab:1}
\end{table}
\lipsum[2]
\end{document}
As it stands, there is too much white space after the caption and above the paragraph below. I can remove it with a command like
\vspace{-2em}
But I probably should refrain from doing that.
Comparing the different document classes between amsart and article, it looks like that amsart moved the caption upward immediately blow the table, without trimming the overall space.
What I have tried:
- Setting
captionsetup{belowskip=0pt}does nothing; \setlength{\intextsep}{0pt}trims some space below the caption but killed all of them above the table;\setlength{\belowcaptionskip}{-8pt}moves the caption inside the table.
Your kind help is appreciated.

amsartexpects captions to be above tables. – egreg Nov 28 '17 at 09:37