我已经amsthm
为我的定理等定义了一个自定义环境,因为我想在标题后有一个换行符。
\newtheoremstyle{teo}
{15pt} % ABOVESPACE
{} % BELOWSPACE
{\itshape} % BODYFONT
{0pt} % INDENT (empty value is the same as 0pt)
{\bfseries\large} % HEADFONT
{.} % HEADPUNCT
{\newline} % HEADSPACE
{} % CUSTOM-HEAD-SPEC
有什么方法可以防止 LaTeX 在我的定理的标题和正文之间添加分页符?这个\nopagebreak
命令似乎对我不起作用。
如果我将它放入我的自定义环境定义中,它只会产生错误,如果我将它插入到环境本身的实例中,它似乎什么也不会发生。
编辑:这产生了一个我想避免的行为的例子:
\documentclass[a4paper,10pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,english]{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{lipsum}
\newtheoremstyle{teo}
{15pt} % ABOVESPACE
{} % BELOWSPACE
{\itshape} % BODYFONT
{0pt} % INDENT (empty value is the same as 0pt)
{\bfseries\large} % HEADFONT
{.} % HEADPUNCT
{\newline} % HEADSPACE
{} % CUSTOM-HEAD-SPEC
\theoremstyle{teo}
\newtheorem{defi}{Definition}[section]
\begin{document}
\section{test}
\lipsum[1-3]
\vspace{90px}
\lipsum[4]
\begin{defi}[Derivative Operator Monoid]
Let $(R,\Delta)$ be a differential ring. We define: \dots
\end{defi}
\end{document}
编辑2:添加了缺少的文档类行。
答案1
您可以在最后一个参数中修改定理头,但您还必须完成所有操作。以下是\@afterheading
用于防止分页符的替代方法:
\documentclass[a4paper,10pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,english]{babel}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{lipsum}
\makeatletter
\newcommand\myonlynewline{\newline\@afterheading}
\makeatother
\newtheoremstyle{teo}
{15pt} % ABOVESPACE
{} % BELOWSPACE
{\itshape} % BODYFONT
{0pt} % INDENT (empty value is the same as 0pt)
{\bfseries\large} % HEADFONT
{} % HEADPUNCT
{5pt plus 1pt minus 1pt} % HEADSPACE
{\thmname{#1}\thmnumber{ #2}.\normalfont\thmnote{ (#3)}\myonlynewline} % CUSTOM-HEAD-SPEC
\theoremstyle{teo}
\newtheorem{defi}{Definition}[section]
\begin{document}
\section{test}
\lipsum[1-3]
\vspace{90px}
\lipsum[4]
\begin{defi}[Derivative Operator Monoid]
Let $(R,\Delta)$ be a differential ring. We define: $\dots$
\end{defi}
\end{document}