证明末尾没有出现方形符号

证明末尾没有出现方形符号
\documentclass{article}
\usepackage{amsthm}
\renewenvironment{proof}{{\bfseries Proof.}}{}
\renewcommand{\qedsymbol}{$\blacksquare$}
\newtheorem{theorem}{Theorem}[section]
\begin{document}
    \begin{theorem}
        blablabla
    \end{theorem}
    \begin{proof}
        abcdefghijklmnopqrstuvwxyz
    \end{proof}
\end{document}

我想将“证明标题”加粗,所以我给出了代码\renewenvironment{proof}{{\bfseries Proof.}}{}。但是为什么添加此代码后证明末尾的方形符号消失了?如何让证明末尾出现方形符号?

答案1

没有符号,因为您\renewenvironment定义中的最后一个参数留空。您需要添加\qedsymbol。您还需要加载amssymb才能获取$\blacksquare$符号。

\documentclass{article}
\usepackage{amssymb,amsthm}
\renewenvironment{proof}{{\bfseries Proof.}}{\qedsymbol}
\renewcommand{\qedsymbol}{$\blacksquare$}
\newtheorem{theorem}{Theorem}[section]
\begin{document}
    \begin{theorem}
        blablabla
    \end{theorem}
    \begin{proof}
        abcdefghijklmnopqrstuvwxyz
    \end{proof}
\end{document}

在此处输入图片描述

答案2

amsmath不应该硬编码\itshape的定义amsthm。也许将来的版本会提供一种选择字体的方法。

与此同时,通过修补来修改环境并不困难。

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

\xpatchcmd{\proof}{\itshape}{\bfseries}{}{}
\renewcommand{\qedsymbol}{$\blacksquare$}

\newtheorem{theorem}{Theorem}[section]

\begin{document}

\begin{theorem}
blablabla
\end{theorem}
\begin{proof}
abcdefghijklmnopqrstuvwxyz
\end{proof}

\end{document}

在此处输入图片描述

相关内容