在LaTeX'中自动量化;s newtheorem命令

在LaTeX'中自动量化;s newtheorem命令,latex,Latex,正如标题所说,我需要在自定义newtheorem的末尾自动定义一个QED符号(最好是一个颜色框) 任何建议都将不胜感激。我不知道你的意思。如果使用amsthm包,则可以使用命令\qed将qed放在任何需要的地方 您可以通过更改命令\qedsymbol来自定义\qed。所以你会这样做 \usepackage{amsthm} \renewcommand{\qedsymbol}{$\heartsuit$} \newtheorem{thm}{Theorem} \newenvironment{\mythm

正如标题所说,我需要在自定义newtheorem的末尾自动定义一个QED符号(最好是一个颜色框)


任何建议都将不胜感激。

我不知道你的意思。如果使用amsthm包,则可以使用命令\qed将qed放在任何需要的地方

您可以通过更改命令\qedsymbol来自定义\qed。所以你会这样做

\usepackage{amsthm}
\renewcommand{\qedsymbol}{$\heartsuit$}
\newtheorem{thm}{Theorem}
\newenvironment{\mythm}{\begin{\thm}}{\qed \end{thm}}
...
\begin{mythm}
blah
\end{mythm}
如果您希望QED符号与校样中显示的符号相同,则可以使用此选项。如果没有,你可以简单地做

\newtheorem{thm}{Theorem}
\newenvironment{\mythm}{\begin{\thm}}{\hfill $\heartsuit$ \end{thm}}
...
\begin{mythm}
blah
\end{mythm}

当然你可以随心所欲地换衣服。

我不知道你的意思。如果使用amsthm包,则可以使用命令\qed将qed放在任何需要的地方

您可以通过更改命令\qedsymbol来自定义\qed。所以你会这样做

\usepackage{amsthm}
\renewcommand{\qedsymbol}{$\heartsuit$}
\newtheorem{thm}{Theorem}
\newenvironment{\mythm}{\begin{\thm}}{\qed \end{thm}}
...
\begin{mythm}
blah
\end{mythm}
如果您希望QED符号与校样中显示的符号相同,则可以使用此选项。如果没有,你可以简单地做

\newtheorem{thm}{Theorem}
\newenvironment{\mythm}{\begin{\thm}}{\hfill $\heartsuit$ \end{thm}}
...
\begin{mythm}
blah
\end{mythm}

当然,您可以随意更改\heartsuit。

另一种方法是使用带有选项thmarks的ntheorem包。这就是
\usepackage[thmarks]{ntheorem}


然后,您可以使用设置来获得您想要的内容。

另一种方法是使用带有选项thmarks的ntheorem包。这就是
\usepackage[thmarks]{ntheorem}


然后,您可以使用设置来获得您想要的内容。

建议:不要这样做。QED符号的放置以一种非直接的方式取决于环境中文本的内容。例如,如果你的定理以“显示数学”结尾,Andrea的代码将失败。有时你可能需要手工放置,如果你总是这样做,你就不太可能忽视事情

如果没有放置QED符号,那么有一个抱怨的环境会更好。您可以通过定义qedused标志来实现这一点,例如通过
\newififquedused
,该标志在您进入环境时未设置(如Andrea所说,使用
\newenvironment
定义包装器),在QED符号周围的包装器中设置,并在您退出环境时进行测试。如果退出时该标志仍未设置,则发出
\PackageWarning
\PackageError

如果您真的想获得一个努力做正确事情的qed环境,不管环境中有什么,您都需要查看
\lastbox
的内容,以确定qed符号应该放在哪里。如果是hbox,你很好,只需按照Andreas的解决方案放置QED。如果它是一个mbox,那么我认为制作一个包含这个mbox和QED符号的hbox应该是可行的——我不确定,我通常不会搞乱数学的排版。
如果它是一个vbox,您需要查看vbox的内部结构,以找到它应该去哪里,这听起来很难-我不知道如何在纯Tex中做到这一点。在Luatex中,我认为Hans Hagen的技巧可能适用于此。

建议:不要这样做。QED符号的放置以一种非直接的方式取决于环境中文本的内容。例如,如果你的定理以“显示数学”结尾,Andrea的代码将失败。有时你可能需要手工放置,如果你总是这样做,你就不太可能忽视事情

如果没有放置QED符号,那么有一个抱怨的环境会更好。您可以通过定义qedused标志来实现这一点,例如通过
\newififquedused
,该标志在您进入环境时未设置(如Andrea所说,使用
\newenvironment
定义包装器),在QED符号周围的包装器中设置,并在您退出环境时进行测试。如果退出时该标志仍未设置,则发出
\PackageWarning
\PackageError

如果您真的想获得一个努力做正确事情的qed环境,不管环境中有什么,您都需要查看
\lastbox
的内容,以确定qed符号应该放在哪里。如果是hbox,你很好,只需按照Andreas的解决方案放置QED。如果它是一个mbox,那么我认为制作一个包含这个mbox和QED符号的hbox应该是可行的——我不确定,我通常不会搞乱数学的排版。
如果它是一个vbox,你需要查看vbox的内部结构以找到它应该去哪里,这听起来很难-我不知道如何在纯Tex中做到这一点。在Luatex中,我认为Hans Hagen的技巧可能适用于此。

科学家太懒了。问得好![额外角色]科学家太懒了。问得好![额外字符]