我有一篇文档,其中有两个连续的定理。第一个定理有一个图表来解释一些事情。我的 MWE 是这样的。
% !TeX program = lualatex
\documentclass{report}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{caption}
\usepackage{tikz}
\usepackage{lipsum}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}
\captionsetup{tableposition=top,figureposition=bottom,font=small}
\usetikzlibrary{positioning}
\begin{document}
\begin{theorem}
\lipsum[1]
\end{theorem}
\begin{figure}[tp]
\centering
\begin{tikzpicture}
\node (p1) at (0, 0) {\(P_1\)};
\node (p2) [right = of p1] {\(P_2\)};
\draw[->] (p1) to [bend left = 30] (p2);
\draw[->] (p2) to [bend left = 30] (p1);
\end{tikzpicture}%
\caption{Diagram of what should happen in the first theorem.}
\end{figure}
\begin{theorem}
\lipsum[1]
\end{theorem}
\end{document}
我该怎么做才能避免这种不必要的间距?
答案1
基本上你所看到的内容可以总结如下:
\documentclass{article}
\begin{document}
First line
\vskip 5pt
% \begin{figure}\end{figure}
\vskip 5pt
Second line
\end{document}
这里的问题是figure
环境对跳过并不完全透明,并且 LaTeX 无法再折叠连续跳过。因此,解决方案是将图形放在定理环境中。
\begin{theorem}
\lipsum[1]
\begin{figure}
...
\end{figure}
\end{theorem}
\begin{theorem}
\lipsum[1]
\end{theorem}