对于两列文章(ACM 模板),为什么 newtheorem 环境(定义)不能跨越一列?

对于两列文章(ACM 模板),为什么 newtheorem 环境(定义)不能跨越一列?

我正在尝试使用 newtheorem 环境为 ACM 模板定义。执行后,它不会放在单个列中,而是会跨越到下一列。我已附上输出。请解释一下,为什么它表现异常?MWE 和输出(屏幕截图)如下。

\documentclass{sig-alternate-05-2015}
\usepackage{multirow}
\usepackage{hyperref}
\begin{document}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{dfn}{Definition}
\newtheorem{hypothesis}{Hypothesis}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}
\setcopyright{acmcopyright}
\subsection{Mathematical Definitions}

\begin{dfn}[One-Way Hash Function]
Given $H(x)$, it is hard for any PPT bounded algorithm  $\mathcal{A}$ to find out $x$. The advantage $\epsilon$ of $\mathcal{A}$ in finding  another solution is defined as
$$\left\vert\Pr\left[
\left.\begin{array}{l}
x\in_R \{0,1\}^n\\y\leftarrow H(x)\\x'\leftarrow\mathcal{A}(y)
\end{array}
\right\vert H(x')=y\right] \right \vert\geq\epsilon$$
\end{dfn}
\begin{dfn}[Negligible Function with K tretitors in IBE scheme]
content...
\end{dfn}

在此处输入图片描述

答案1

类似定理的环境的设置sig-alternate将整个标签(包括属性/名称部分)排版在一个框中。

加载时不会发生这种情况amsthm。但是,为了允许使用,amsthm必须删除 的定义proof,然后再恢复它。

\documentclass{sig-alternate-05-2015}

\let\sigproof\proof\let\proof\relax
\let\sigendproof\endproof\let\endproof\relax

\usepackage{amsthm}

\let\proof\sigproof
\let\endproof\sigendproof

\newtheoremstyle{sig}
  {}
  {}
  {\itshape}
  {}
  {\scshape}
  {.}
  {.5em}
  {#1 #2\thmnote{\quad(#3)}}

\theoremstyle{sig}

\newtheorem{theorem}{Theorem}[section]
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{dfn}{Definition}
\newtheorem{hypothesis}{Hypothesis}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}{Remark}
\newtheorem{example}{Example}

\setcopyright{acmcopyright}

\begin{document}

\subsection{Mathematical Definitions}

\begin{dfn}[One-Way Hash Function]
Given $H(x)$, it is hard for any PPT bounded algorithm  $\mathcal{A}$ 
to find out $x$. The advantage $\epsilon$ of $\mathcal{A}$ in finding 
another solution is defined as
\[
\left\vert
\Pr\left[
\begin{array}{l}
x\in_R \{0,1\}^n\\y\leftarrow H(x)\\x'\leftarrow\mathcal{A}(y)
\end{array}
\middle\vert\; H(x')=y\right] \right\vert\geq\epsilon
\]
\end{dfn}

\begin{dfn}[Negligible Function with K tretitors in IBE scheme]
content...
\end{dfn}

\end{document}

我认为在标准代码中不允许使用长定理名称sig-alternate

在此处输入图片描述

相关内容