问题描述
我的问题是这样的。为了证明一个数学定理,我使用了proof
包的环境amsthm
。它\qedsymbol
在证明的最后一行添加了一个,但如果证明以显示的公式结尾,qed符号出现在下一行,留下不需要的空白。
的文件amsthm
教你如何解决这个问题,将命令\qedhere
放在显示公式但在里面适当的环境。
如果公式只有一行,则此方法很有效
\[ax^2+bx+c=0.\qedhere
\]
但如果证明以matrix
, 或cases
以 “结尾身高“qedsymbol
固定在基线在右边,它看起来比预期的要高(对我来说)。
结果如下
平均能量损失
\documentclass{article}
\usepackage[width=7cm]{geometry} % Only for reducing space in this MWE
\usepackage{amsmath} % For `bmatrix`
\usepackage{amsthm} % For `proof` environment
\begin{document}
\begin{proof}
And this proof ends with
\[
\begin{bmatrix}
1 & 0 \\
0 & 1 \\
0 & 0
\end{bmatrix}.\qedhere
\]
\end{proof}
\noindent Text
\end{document}
产生
我想要的是
我想要类似的东西
与qedsymbol
对齐底部的matrix
。这可能吗?
答案1
正如 Enrico 已经提到的,我不会在矩阵后使用停止。但是,您可以使用\tag
amcro amsmath
:
\documentclass{article}
\usepackage[width=7cm]{geometry} % Only for reducing space in this MWE
\usepackage{amsmath} % For `bmatrix`
\usepackage{amsthm} % For `proof` environment
\begin{document}
\begin{proof}
And this proof ends with
\begin{align*}
\begin{bmatrix}
1 & 0 \\
0 & 1 \\
0 & 0
\end{bmatrix}\\[-\normalbaselineskip]\tag*{\qedhere}
\end{align*}
\end{proof}
\noindent Text
\end{document}
答案2
由于您使用标点符号(我同意),因此 QED 符号应该与标点符号共享基线。
这里有一个避免使用的技巧ntheorem
(我从不使用也不推荐);我也展示了为什么你不应该放下墓碑。
\documentclass{article}
\usepackage[width=7cm]{geometry} % Only for reducing space in this MWE
\usepackage{amsmath} % For `bmatrix`
\usepackage{amsthm} % For `proof` environment
\newenvironment{verticalhack}
{\begin{array}[b]{@{}c@{}}\displaystyle}
{\\\noalign{\hrule height0pt}\end{array}}
\begin{document}
\begin{proof}
And this proof ends with
\[
\begin{verticalhack}
\begin{bmatrix}
1 & 0 \\
0 & 1 \\
0 & 0
\end{bmatrix}.
\end{verticalhack}\qedhere
\]
\end{proof}
\noindent Text
\begin{proof}
And this proof ends with
\[
\begin{verticalhack}
\int\limits_{\Gamma} f(x,y,z)\,dx\,dy\,dz.
\end{verticalhack}\qedhere
\]
\end{proof}
\noindent Text
\end{document}
后一个例子毫无意义,对吧?好吧,前一个例子是一样的。
答案3
以下是该软件包的解决方案ntheorem
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{heuristica}
\usepackage{amsmath}
\usepackage[thmmarks, amsmath, thref]{ntheorem}
\usepackage{cleveref}
\theoremstyle{plain}
\theoremheaderfont{\bfseries}
\theoremseparator{.}
\theorembodyfont{\itshape}
\newtheorem{theorem}{Theorem}
\theoremstyle{nonumberplain}
\theoremheaderfont{\scshape}
\theorembodyfont{\upshape}
\theoremsymbol{\ensuremath{\square}}
\newtheorem{proof}{Proof}
\theoremsymbol{\ensuremath{\blacksquare}}
\newtheorem{blackproof}{Proof}
\begin{document}
\begin{theorem}[Some theorem]\label{thm:some-theorem}
This is an important theorem.
\end{theorem}
\begin{proof}[of \cref{thm:some-theorem}]
This is a very important proof.
\[ \begin{bmatrix}
1 & 0 \\
0 & 1 \\
0 & 0
\end{bmatrix}.\]
\end{proof}
\begin{blackproof}[of \cref{thm:some-theorem}]
This is another very important proof.
\begin{align*}
a & = b\\ c & = d.
\end{align*}
\end{blackproof}
\end{document}