latex 中 newtheorem 溢出

latex 中 newtheorem 溢出

我定义一个新定理如下:

     \newtheorem{definition}{Definition}

问题是,当定义名称很长时,会导致溢出。我尝试\\将名称分成两行,但没有成功。

这是我的 tex 文件的相关部分:

 \documentclass{vldb}
 \usepackage{graphicx}
 \usepackage{subfigure}
 \usepackage{algorithmic}
 \usepackage{algorithm}
 \usepackage{url}
 \usepackage{times}

\newtheorem{definition}{Definition}

然后我使用:

   \begin{definition}[anonymity non-reconstructible fragmentation]

anonymity non-reconstructible fragmentation造成超支。

顺便说一句,vldb 包是一个我无法改变的预定义包。

答案1

我不知道这个vldb类的情况,但你给出的线索表明它是两列的。使用该amsthm包,您可以得到您想要的,并且还可以将定义主体中的字体设置为直立,这是惯例:

\documentclass[twocolumn]{article}
\usepackage{amsthm}

\theoremstyle{definition}
\newtheorem{definition}{Definition}

\begin{document}

\begin{definition}[anonymity non-reconstructible fragmentation]
aaa
\end{definition}

\end{document}

在此处输入图片描述

顺便说一句,subfigure已经过时十年了;更喜欢subfig(可能带有caption=false包,可能需要您使用的类)。

答案2

如果使用默认值\newtheorem,则可选参数(您的definition标题)将作为列表的一部分设置在框中,因此牢不可破。只需最少的手动干预,您就可以修复此问题:

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\newtheorem{definition}{Definition}
\begin{document}
\begin{definition}[anonymity non-reconstructible fragmentation and then some]
\lipsum[1]
\end{definition}
\begin{definition}\textbf{\upshape(anonymity non-reconstructible fragmentation and then some)}
\lipsum[1]
\end{definition}
\end{document}

答案3

该类vldb使用内核的\newtheorem,但重新定义了\@opargbegintheorem;与原始定义一样,注释被放置为 的可选参数的一部分\item,因此不允许换行。要更正此问题,您可以重新定义,\@opargbegintheorem以便注释位于 的可选参数之外\item;使用适当的设置,您将遵守该类使用的样式。

不幸的是,在这个特定情况下,行末的单词“fragmentation”将在“frag”处断开,从而产生一个溢出的框(by 1.48pt),因此也许可以使用手动换行符。下面的示例显示了两种可能的替代方案:

\documentclass{vldb}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{url}
\usepackage{times}
\usepackage{lipsum}

\makeatletter
\def\@opargbegintheorem#1#2#3{\trivlist
\item[\hskip\dimexpr\labelsep+10pt\relax{\scshape #1\ #2}](\textsc{#3}).\ \itshape}
\makeatother
\newtheorem{definition}{Definition}

\begin{document}

\begin{definition}[anonymity non-reconstructible fragmentation]
\lipsum[4]
\end{definition}
\lipsum[4]
\begin{definition}[anonymity non-reconstructible \\ fragmentation]
\lipsum[4]
\end{definition}
\lipsum[4]

\end{document}

在此处输入图片描述

相关内容