如何将 qed 符号与居中文本对齐?

如何将 qed 符号与居中文本对齐?

我使用以下证明环境:

\declaretheoremstyle[ spaceabove=9pt, spacebelow=9pt, headfont=\it \bfseries, bodyfont=\normalfont, postheadspace=6pt, qed=\qedsymbol, headpunct= ]{mypf} \declaretheorem[numbered=no, name=Proof, style=mypf]{pf}

如果我将文本置于最后一行的中央,qed 符号就会出现在下一行。我该如何解决这个问题?例如,

\usepackage[utf8]{inputenc}
\usepackage{ragged2e}
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheoremstyle[
spaceabove=0pt, 
spacebelow=8pt,
headfont=\it \bfseries,
bodyfont=\normalfont,
postheadspace=6pt,
qed=\qedsymbol,
headpunct=
]{mypf}
\declaretheorem[numbered=no, name=Proof, style=mypf]{pf}

\begin{document}
\begin{pf} Let $w \in W$. Then we have 
$$  \ell (w)-1=\ell (w)-\ell (s_i) \leqslant \ell (ws_i) \leqslant \ell (w)+\ell (s_i)=\ell (w)+1.
$$
\end{pf}
\end{document}

给出

在此处输入图片描述

答案1

使用\qedhere,以及$$在任何情况下使用。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{ragged2e}
\usepackage{lmodern}
%\renewcommand*\familydefault{\sfdefault} % sorry, I can't stand it
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{thmtools}

\declaretheoremstyle[
spaceabove=0pt, 
spacebelow=8pt,
headfont=\it \bfseries,
bodyfont=\normalfont,
postheadspace=6pt,
qed=\qedsymbol,
headpunct=
]{mypf}
\declaretheorem[numbered=no, name=Proof, style=mypf]{pf}

\begin{document}
\begin{pf} Let $w \in W$. Then we have 
\[
\ell (w)-1=\ell (w)-\ell (s_i) \leqslant \ell (ws_i) \leqslant \ell (w)+\ell (s_i)=\ell (w)+1.
\qedhere
\]
\end{pf}
\end{document}

在此处输入图片描述

注意:我发现无衬线文本和衬线数学是一个非常糟糕的组合,所以我注释了相关行。如果你真的想要这样做,请取消注释该行。

相关内容