如何在不使用证明环境的情况下将自定义定理环境应用于嵌套定理?

如何在不使用证明环境的情况下将自定义定理环境应用于嵌套定理?

我想结合我在此站点上找到的几个构造来创建一个自定义cases环境,以便每个案例都能:

  1. 嵌套在更大的theorem环境中;
  2. qedsymbol 没有需要一个proof环境;并且
  3. 使用qedsymbol由盒装大小写名称组成的自定义名称。

这听起来很多,所以让我说得更精确一些。

我希望我的文档的一般格式如该 MWE 所示:

\documentclass{article}
\usepackage{amsthm,xpatch}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}

\newtheoremstyle{underline}% name
{-1.5mm}        % Space above, empty = `usual value'
{}              % Space below
{}              % Body font
{\parindent}    % Indent amount (empty = no indent, \parindent = para indent)
{}              % Thm head font
{:}             % Punctuation after thm head
{1.5mm}         % Space after thm head: \newline = linebreak
{{\underline{\thmname{#1}\thmnumber{ #2}~\thmnote{(#3)}}}}  % Thm head spec

\theoremstyle{underline}
\newtheorem{case}{Case}

\begin{document}
   \begin{thm} 
      Here is a theorem.
   \end{thm}
   \begin{proof} 
      Consider the following two cases:
         \begin{case} 
            Case 1 is...
         \end{case}
         \begin{case} 
            Case 2 is...
         \end{case}
      As the preceding cases show, we've proven something!
   \end{proof}    
\end{document}

如上所述,其呈现形式如下:

在此处输入图片描述

我想通过合并两个独立的 SxE 帖子来增强这个 MWE,即:

  • 使用此解决方案,我希望caseqedsymbol 没有需要添加\begin{proof}...\end{proof};和
  • 使用此解决方案,我想识别case嵌套的并将前面提到的更改qedsymbol为盒装版本Case 1Case 2等。

期望的最终结果将呈现如下效果:

在此处输入图片描述

记录显示,第一个链接问题的答案为

% redefine the \@endtheorem macro
\makeatletter  
\def\@endtheorem{\qed\endtrivlist\@endpefalse } % insert `\qed` macro
\makeatother

(请注意,我正在尝试使用该amsthm解决方案),第二个链接问题的解决方案具有以下形式

\makeatletter
\let\qed@empty\openbox % <--- change here, if desired
\def\@begintheorem#1#2[#3]{%
  \deferred@thm@head{%
    \the\thm@headfont\thm@indent
    \@ifempty{#1}
      {\let\thmname\@gobble}
      {\let\thmname\@iden}%
    \@ifempty{#2}
      {\let\thmnumber\@gobble\global\let\qed@current\qed@empty}
      {\let\thmnumber\@iden\xdef\qed@current{#2}}%
    \@ifempty{#3}
      {\let\thmnote\@gobble}
      {\let\thmnote\@iden}%
    \thm@swap\swappedhead
    \thmhead{#1}{#2}{#3}%
    \the\thm@headpunct\thmheadnl\hskip\thm@headsep
  }\ignorespaces
}
\renewcommand{\qedsymbol}{%
  \ifx\qed@thiscurrent\qed@empty
    \qed@empty
  \else
    \fbox{\scriptsize\qed@thiscurrent}%
  \fi
}
\renewcommand{\proofname}{%
  Proof%
  \ifx\qed@thiscurrent\qed@empty
  \else
    \ of \qed@thiscurrent
  \fi
}
\xpretocmd{\proof}{\let\qed@thiscurrent\qed@current}{}{}
\newenvironment{proof*}[1]
  {\def\qed@thiscurrent{\ref{#1}}\proof}
  {\endproof}
\makeatother

(仅要求amsthmxpatch)。

这可能吗?

答案1

这是一个解决方案。我们需要

\let\mtendcase\endcase
\renewcommand{\endcase}{\renewcommand\qedsymbol{\tiny\fbox{case \thecase}}\qed\mtendcase}

平均能量损失

\documentclass{article}
\usepackage{amsthm}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}


\newtheoremstyle{underline}% name
{-1.5mm}        % Space above, empty = `usual value'
{}              % Space below
{}              % Body font
{\parindent}    % Indent amount (empty = no indent, \parindent = para indent)
{}              % Thm head font
{:}             % Punctuation after thm head
{1.5mm}         % Space after thm head: \newline = linebreak
{{\underline{\thmname{#1}\thmnumber{ #2}~\thmnote{(#3)}}}}  % Thm head spec

\theoremstyle{underline}
\newtheorem{case}{Case}
\let\mtendcase\endcase
\renewcommand{\endcase}{\renewcommand\qedsymbol{\tiny\fbox{case \thecase}}\qed\mtendcase}

\begin{document}
   \begin{thm} 
      Here is a theorem.
   \end{thm}
   \begin{proof} 
      Consider the following two cases:
         \begin{case} 
            Case 1 is...
         \end{case}
         \begin{case} 
            Case 2 is...
         \end{case}
      As the preceding cases show, we've proven something!
   \end{proof}    
\end{document}

在此处输入图片描述

相关内容