目標:我希望能夠使用某種符號來標記範例和練習的結束,就像 $\qedsymbol$ 標記證明的結束一樣。特別是,我想要一個類似 \qedhere 的命令作為我選擇的符號。
背景:這實際上是清單中列出的潛在修改之一amsthm 包文檔:“將 \qedhere 的適用性擴展到定理類元素以及證明。”他們表示,雖然這有其優點,但需要更多的工作,基本上是次要地位。
我的嘗試:
我嘗試實現具有自己的結束符號的練習環境的方法如下:
\documentclass{memoir}
\usepackage{amsthm}
\usepackage[varg,bigdelims]{newpxmath}
\usepackage{ifthen}
\newcounter{madesymbol}
\newtheorem{exc}{Exercise}
\newcounter{exc-counter}
\newenvironment{exercise}[1][]
{
\begin{exc}[#1]~
\def\mysymbol{$\lozenge$}
\setcounter{madesymbol}{0}
\def\tagsymbol{\stepcounter{madesymbol}\tag*{\mysymbol}}
}
{
\ifthenelse{\equal{\value{madesymbol}}{0}}{\hspace*{\fill}\mysymbol}{}
\end{exc}
\stepcounter{exc-counter}
}
\begin{document}
\begin{exercise}
A function $f$...
\end{exercise}
\end{document}
這感覺很笨重,我正在尋找更好的解決方案。
n 定理的問題: 我看到的一項建議是 ntheorem 包。我已經嘗試過 ntheorem,但它似乎改變了“一切”,例如根本不像 amsthm (即使加載了 [amsthm] 選項)。如果有人建議我使用這個包,請給出明確的程式碼,使其盡可能像 amsthm 一樣。
答案1
嘗試這個:
\documentclass{article}
\usepackage{amsthm}
\begin{document}
\newtheorem{ex-inner}{Exercise}
\newenvironment{ex}{%
%\def\qedsymbol{$\lozenge$}% Set the QED symbol.
\pushQED{\qed}%
\begin{ex-inner}%
}{%
\popQED
\end{ex-inner}%
}
\begin{ex}
Here is an exercise.
\end{ex}
\begin{ex}
Hi!
\[x=y\qedhere\]
\end{ex}
\begin{proof}
Hi!
\[x=y\qedhere\]
\end{proof}
\end{document}
答案2
以下是如何使用 來完成此操作的示範ntheorem
。一個顯著的特點是,放置是自動的,即使以多行顯示結尾的 rems(可能需要兩次編譯,並且環境末尾不能有空行。QED 符號非常容易自訂:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage[svgnames, table]{xcolor}
\usepackage{mathtools, nccmath}
\usepackage[thmmarks, thref, amsmath]{ntheorem}
\theoremheaderfont{\itshape\bfseries}% default is \upshape\bfseries
\theoremseparator{. \textemdash}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}{Proposition}[section]
\theoremseparator{.}
\theoremheaderfont{\upshape\bfseries}%
\theorembodyfont{\upshape\mdseries}% default is \itshape
\newtheorem{dfn}{Definition}[section]
\theoremsymbol{\raisebox{-0.1\height}{\color{IndianRed}$ \boldsymbol\diamondsuit $}}
\newtheorem{ex}{Exercise}
\theoremstyle{nonumberplain}
\theoremheaderfont{\scshape}
\theoremseparator{:}
\theoremsymbol{\ensuremath{\color{Gainsboro}\blacksquare}}
\newtheorem{proof}{Proof}
\begin{document}
\setcounter{section}{2}
\begin{thm}
Clangle-Wangles’ habits of life are domestic and superfluous, and their general demeanour pensive and pellucid.
\end{thm}
\begin{dfn}
A \textbf{Snark} is a Boojum.
\end{dfn}
\begin{ex}
Here is an exercise.
\end{ex}
\begin{ex}
Hi!
\[ x=y \]
\end{ex}
\begin{proof}
There are two cases: \useshortskip
\begin{align*}
x & =y \\ u & =v
\end{align*}
\end{proof}
\end{document}