将浮点数排除在环境之外(例如定义)

将浮点数排除在环境之外(例如定义)

我知道浮标会四处浮动,有时会被放置在离预期位置很远的地方。随着时间的推移,我学会了如何使用它,并且已经有很多关于它的帖子。

我有一个不同的问题。我正在写我的学士论文,并为定义等定义了一些环境。当然,我也在使用浮点数。但现在我遇到了一个问题,我的一个浮点数被放在了我的一个定义中。这当然是我真的不想发生的事情。如果一些浮点数在引用它们之后或之前一页,这是可以的,但将它们放在我的定义中是不可能的。

如果不发布我的整个论文,我不知道如何为此创建 MWE,但这是我能得到的最接近的答案:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{graphicx}

\newenvironment{myblock}{%
\vspace{.5\baselineskip}
\hrule\nopagebreak\vspace{.35\baselineskip}\nopagebreak}
{\nopagebreak\vspace{.5\baselineskip}\nopagebreak\hrule\vspace{.5 \baselineskip}\noindent}

\newcounter{definition}[section]
\renewcommand*\thedefinition{\thesection.\arabic{definition}}
\newenvironment{definition}{%
\refstepcounter{definition}
\begin{myblock}
\noindent\textbf{Definition \thedefinition}
}
{\end{myblock}}

\begin{document}
\Blindtext
\section{MWE}
\begin{definition}
\blindtext
\end{definition}
\begin{figure}
\includegraphics[scale=.5]{lorem}
\end{figure}
\Blindtext
\end{document}

这是我用于此示例的图片。 我在 MWE 中使用的图片

嗯,在这个例子中,图片的位置还不算太糟,但在我的论文中,它被放置在定义环境中。

所以我真正的问题是,我怎样才能让这个人物远离那个环境?

附言:如果您发现我的定义环境存在与此问题无关的任何问题,请告诉我。我总是很高兴学习新东西。

答案1

为了说明我的意思:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage{mwe}

\newenvironment{myblock}{%
\vspace{.5\baselineskip}
\hrule\nopagebreak\vspace{.35\baselineskip}\nopagebreak}
{\nopagebreak\vspace{.5\baselineskip}\nopagebreak\hrule\vspace{.5 \baselineskip}\noindent}

\newcounter{definition}[section]
\renewcommand*\thedefinition{\thesection.\arabic{definition}}
\newenvironment{definition}{%
\refstepcounter{definition}
\begin{myblock}
\noindent\textbf{Definition \thedefinition}
}
{\end{myblock}}

\begin{document}
\Blindtext
\section{MWE}
%\lipsum[1-3]% adjusted to force float to next page
\begin{figure}[h]
\begin{definition}
\blindtext
\begin{center}
\includegraphics[scale=.5]{example-image}
\end{center}
\end{definition}
\end{figure}

\Blindtext
\end{document}

相关内容