乳胶定理不会在2列中包装文本

时间:2017-12-28 12:20:30

标签: latex

以下乳胶代码生成一个定义,其文本与第二列重叠。 ijcai18软件包使它成为一个2列的文章,所以问题可能存在吗?我不知道怎么读。

\documentclass{article}

\usepackage{ijcai18}


\usepackage{lipsum}

\newtheorem{theorem}{Theorem}[section]    
\newtheorem{definition}[theorem]{Definition}

\begin{document}

\begin{definition} [This is a long definition title that does not wrap to the next line]

...
\end{definition}
\lipsum[1-5]    
\end{document}

1 个答案:

答案 0 :(得分:1)

ijcai18 conference style不会添加任何与定理相关的功能。因此,\newtheorem{definition}[.]{Definition}仍然依赖于LaTeX的原始定义来创建类似定理的环境。

在LaTeX中,通过\newtheorem定义的定理被设置为列表,整个定理由单数\item组成。定理的标题作为\item的可选参数传递(即\item[<theorem title stuff>],并且此可选参数设置在一个不允许换行的框内。

下面我重新定义了为具有可选参数的定理专门设置\item的部分(就像在你的情况下,\begin{definition}[..])。这是原始定义(来自LaTeX kernel):

\def\@opargbegintheorem#1#2#3{\trivlist
  \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape}

enter image description here

以及更改后的定义:

\def\@opargbegintheorem#1#2#3{\trivlist
   \item[]{\bfseries #1\ #2\ (#3)} \itshape}

enter image description here

\documentclass{article}

\usepackage{ijcai18}% http://www.ijcai.org/authors_kit
\usepackage{lipsum}

\newtheorem{definition}{Definition}

\makeatletter
\def\@opargbegintheorem#1#2#3{\trivlist
   \item[]{\bfseries #1\ #2\ (#3)} \itshape}
\makeatother

\begin{document}

\begin{definition}[This is a long definition title that does not wrap to the next line]
\lipsum[1]
\end{definition}

\lipsum[2-5]

\end{document}