qed 符号在同一行中的位置

qed 符号在同一行中的位置

此代码

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amssymb,amsmath}
\usepackage{amsthm}
\usepackage{dsfont}
\usepackage{empheq}
\theoremstyle{plain}
\newtheorem{lemma}{Lemma}
\newenvironment{lemmaqed}
{\pushQED{\qed}\lemma}
{\popQED\endlemma}

\begin{document}
\begin{lemmaqed}
\begin{itemize}
  \item $a^2+b^2=c^2$
  \item $a^2+b^2=c^2$
\end{itemize}
\end{lemmaqed}

\begin{lemmaqed}
\begin{align*}
a^2+b^2=c^2
\end{align*}
\end{lemmaqed}

\begin{lemmaqed}
$a^2+b^2=c^2$
\end{lemmaqed}
\end{document}

创建输出在此处输入图片描述 我的问题是:qed 符号应该位于引理 3 所指示的位置,即同一行的右侧。引理 1 和 2 并非如此。我该如何改变这种情况?

答案1

ntheorem使用而不是 则不会出现这样的问题amsthm。注意 ntheorem 与 amsthm 具有兼容模式:

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amssymb}
\usepackage{empheq}
  \usepackage[thmmarks, amsmath, thref, amsthm]{ntheorem}
  \usepackage{dsfont}
\theoremstyle{plain}
\newtheorem{lemma}{Lemma}
\theoremsymbol{\ensuremath{\square}}
\newtheorem{lemmaqed}[lemma]{Lemma}

\begin{document}

\begin{lemmaqed}
  \begin{itemize}
    \item $a²+b²=c²$
    \item $a²+b²=c²$
  \end{itemize}
\end{lemmaqed}

\begin{lemmaqed}
  \begin{align*}
    a²+b²=c²
  \end{align*}
\end{lemmaqed}

\begin{lemmaqed}
  $a²+b²=c²$
\end{lemmaqed}

\end{document}

在此处输入图片描述

我们还不如定义一个引理环境,默认情况下,该环境末尾有一个 qed 符号。可以使用指令 为特定环境停用此 qed 符号\NoEndMarks。此外,还可以根据每个定理轻松定制符号。

相关内容