分段段落,例如针对证明中的不同案例

分段段落,例如针对证明中的不同案例

我希望在证明中设置偏移段落,比如将一个案例与另一个案例区分开来。我一直在使用

    \newtheoremstyle{component}{}{}{}{}{\itshape}{.}{.5em}{\thmnote{#3}#1}
    \theoremstyle{component}
    \newtheorem*{component}{}

并将其实现为

    \begin{component}[Case 1]
    ...
    \end{component}

效果很好,并且具有我想要的外观。

不幸的是,如果这恰好发生在证明的末尾,我需要在末尾手动添加 \qedhere,否则墓碑会出现在下面一行。

有没有更简单的方法来实现类似的功能,同时解决墓碑问题?我知道我可以用

    \medskip
    \noindent \emph{Case 1.}
    ...

    \medskip

但那更乏味,这就是我首先使用组件定理样式的原因。感谢您提供的任何建议。

答案1

(最初由 Ulrich Schwarz 发表为评论)

在我看来,只要处理\qedhere.amsthm的行为,一旦你理解了它,它的行为就非常简单了:\qedhere如果你的环境以列表(在 TeXnical 意义上)结尾,那么你需要它,对于常见的意图和目的,它显示方程式、子定理(正如你所发现的)和逐项列举/枚举。NTheorem 的替代方法很脆弱,需要多次传递,所以是的,结束标记很棘手。

答案2

为了避免不必要的代码,最好将这些情况视为列表项。通过使用包enumitem,您可以定义具有适当行为的自定义列表环境

\newlist{pcases}{enumerate}{1}
\setlist[pcases]{
  label=\underline{Case~\arabic*:}\protect\thiscase.~,
  ref=\arabic*,
  align=left,
  labelsep=0pt,
  leftmargin=0pt,
  labelwidth=0pt,
  parsep=0pt
}
\newcommand{\case}[1][]{%
  \if\relax\detokenize{#1}\relax
    \def\thiscase{}%
  \else
    \def\thiscase{~#1}%
  \fi
  \item
}

你可以像这样使用它:

\begin{proof}
some text
    \begin{pcases}
      \case[$k = 0$] This case is obvious.
      \case[$k > 0$] Then there exists a...
    \end{pcases}
\end{proof}

您仍然必须编写\qedhere

相关内容