如何将一个示例分成两部分?

如何将一个示例分成两部分?

我正在尝试将一个例子(使用 amsmath 中的定理环境)分成两部分:

例 1...

更多讨论

示例 1(续)...

做这个的最好方式是什么 ?

我目前拥有的代码是

\documentclass{article}

\usepackage{amsmath}
\newtheorem{example}{Example}

\begin{document}

Consider the following example:

\begin{example}
  $a = b + c$
\end{example}

Now, consider what happens if we add $d$ to $a$:

\begin{example}[continued] % I'd like to have this to output Example 1 (continued)
  $a + d$
\end{example}

\end{document}

答案1

我认为您可以保留大部分以前的代码。您需要做的就是在序言中添加一些说明 - 具体来说,加载包ntheorem并修改的默认定义(仅当您想查看而不是时才theoremstyle需要后者) - 并记住在输入之前发出命令。, continued(continued)\addtocounter{example}{-1}\begin{example}[continued]

请参阅以下 MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
\makeatletter
\renewtheoremstyle{plain}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2, ##3\theorem@separator]}
\makeatother
\newtheorem{example}{Example}

\begin{document}

\section{Some thoughts}
Consider the following example:
\begin{example}
$a = b + c$
\end{example}
Now consider what happens if we add $d$ to $a$:
\addtocounter{example}{-1}
\begin{example}[continued]
$a + d$
\end{example}
\end{document}

编辑:根据 cmhughes 的建议,这里有一个与前面的 MWE 非常相似的版本,但作者不必记住\addtocounter{example}{-1}在开始示例之前键入内容。这是通过创建一个我命名为 的新环境来实现的contexample;它的样式与环境的样式相同example,只是它附加", continued"到环境的标题中。请注意,使用此设备,任何示例都可以根据需要“继续”。

\documentclass{article}
\usepackage{amsmath}
\usepackage[amsmath]{ntheorem}
\makeatletter
\renewtheoremstyle{plain}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2, ##3\theorem@separator]}
\makeatother
\newtheorem{example}{Example}
\newenvironment{contexample}{
   \addtocounter{example}{-1} \begin{example}[continued]}{
   \end{example}}

\begin{document} 
\section{Some thoughts}
Consider the following example:
\begin{example}
$a = b + c$.
\end{example}
Now consider what happens if we add $d$ to $a$:
\begin{contexample}
$a + d$.
\end{contexample}
And if we wish to continue along these lines, we also find
\begin{contexample}
$x = y$.
\end{contexample}
\end{document}

答案2

使用thm工具amsmath包作为(或)的前端,您可以使用和键ntheorem轻松实现所需功能。一个小例子:label=<key>continues=<key>

\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheorem[style=definition]{example}

\begin{document}

\renewcommand\thmcontinues[1]{Continued}

\begin{example}[label=exa:cont]
This is an example.
\end{example}
\begin{example}[continues=exa:cont]
And here's the continuation of the example.
\end{example}

\end{document}

在此处输入图片描述

显示的文本由命令控制\thmcontinues,您可以根据需要重新定义该命令,就像我在示例代码中所做的那样;默认情况下,它将显示类似的内容(continuing from p. <the_page>),其中<the_page>是示例第一次出现的页码。

答案3

改编 cmhughes 的想法,但保留命令的使用\newtheorem,您可以简单地为延续创建一个新的定理类型,并将该定理的计数器设置为与主示例计数器匹配:

\documentclass{article}

\usepackage{amsmath}
\newtheorem{example}{Example}
\newtheorem{excont}{Example}
\renewcommand{\theexcont}{\theexample}

\begin{document}

Consider the following example:

\begin{example}
  $a = b + c$
\end{example}

Now, consider what happens if we add $d$ to $a$:

\begin{excont}[Continued]% I'd like to have this to output Example 1 (continued)
  $a + d$
\end{excont}

\end{document}

答案4

以下代码定义了两个环境:exampleexamplecont。请注意,只有example环境才会增加计数器。

\documentclass{article}

\usepackage{lipsum}% only needed for sample text

\newcounter{example}
\newenvironment{example}{%
\refstepcounter{example}%
{\bfseries Example \theexample}}{}

\newenvironment{examplecont}{%
{\bfseries Example \theexample} (cont\ldots)}{}

\begin{document}

\begin{example}
\lipsum[1]
\end{example}

\lipsum[2]

\begin{examplecont}
\lipsum[3]
\end{examplecont}
\end{document}

编辑 如果您想要一个使用可选参数的解决方案,这里有一个:

\documentclass{article}

\usepackage{lipsum}% only needed for sample text
\usepackage{ifthen}

\newcounter{example}
\newenvironment{example}[1][]{%
\ifthenelse{\equal{#1}{continued}}%
{%
{\bfseries Example \theexample (continued\ldots)\quad}%
}%
{%
\refstepcounter{example}%
{\bfseries Example \theexample \quad}%
}%
}{}

\begin{document}

\begin{example}
\lipsum[1]
\end{example}

\lipsum[2]

\begin{example}[continued]
\lipsum[3]
\end{example}
\end{document}

相关内容