如果我们没有对某个定理陈述(或引理、推论等)提供任何证明,则通常会\qed
在该陈述的末尾放置一个 -Box。
我如何在 LaTeX 中做到这一点?如果我在语句末尾放置一个 qed 框,则会有一个额外的换行符,这是不可接受的格式。
答案1
如果你正在使用amsthm
或 ams 文档类,这个问题可以通过以下方式解决:ams 作者常见问题解答中的一项.这又链接到示例文档(这是输入;输出也存在),这涵盖了可能需要这种标记的相当多的情况。最极端的情况需要一些手动操作,但我相信几乎所有合理的可能性(包括非证明的显示结尾)都涵盖了。
答案2
使用定理包,你通常会\qed
使用这个答案。如果没有这些,您可以根据您想要填充的正方形还是空白的正方形使用下面的命令。
当行太满而无法放置方块时,方块将被放置在新行上,但由于 \hfill 仅在行中有字符时才有效,因此方块将放置在左侧。您可以在前面插入\hfill
来\null\nobreak
修复此问题。(\null
插入 和\hbox
是\nobreak
必要的,以防止将此框简单地放置在上一行,否则将无效)
\documentclass[a4paper]{article}
\usepackage{amssymb} %% <- for \square and \blacksuare
\newcommand*{\QEDA}{\null\nobreak\hfill\ensuremath{\blacksquare}}%
\newcommand*{\QEDB}{\null\nobreak\hfill\ensuremath{\square}}%
\begin{document}
Lorem ipsum \QEDA
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod!?! \QEDB
\end{document}
笔记:
\qed
来自的命令amsthm
使用了一些额外的技巧。上述命令的完整版本(带有要使用的符号的可选参数)应为
\newcommand*{\QED}[1][$\square$]{%
\leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
\quad\hbox{#1}%
}
(\leavevmode
使命令在段落外可用(但是不要这样做)\unskip
删除前面的空格(如果有),\hbox{}
与 相同\null
,\penalty9999
确保 TeX 会尽最大努力将符号挤进与前面的文本相同的行,并将\quad
符号与文本稍微分开。)
答案3
有时创建一个最小的示例很有用:
\documentclass{article}
\usepackage{amsmath,amsthm}
\newtheorem{lem}{Lemma}
\usepackage{lipsum}
\begin{document}
\begin{lem}
Text Text Text\qed
\end{lem}
\end{document}
文本结尾和 之间不留空格\qed
。
一个更复杂的例子。
\documentclass{article}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}
This theorem has no proof.\qed
\end{theorem}
\begin{theorem}
This theorem has no proof xxx xxxxx xxx xxxxx xxxx xxx.\qed
\end{theorem}
\begin{theorem}
This theorem has no proof xxx xxxxx xxx xxxxx xxxx xxx xxx.\qed
\end{theorem}
\begin{theorem}
This theorem has no proof xxx xxxxx xxx xxxxx xxxx xxx xxx xx.\qed
\end{theorem}
\begin{theorem}
This theorem has no proof xxx xxxxx xxx xxxxx xxxx xxx xxx xxxx.\qed
\end{theorem}
\end{document}
答案4
虽然迟到了,但我的回答如下:
插入 QED 符号:
情况 1:文本的最后一行需要居中对齐:
\hfill <last line of code> \hfill $\square$
情况 2:无需中心对齐:
<last line of code> \hfill $\square$
这在任何环境中都有效,即使最后一行是一个方程式,在这种情况下你必须$\displaystyle <equation>$
使用\[ \]
或者如果您愿意,可以使用 \lozenge 而不是 $\square$ 来获得不同的 QED 符号。