问题描述
在使用amsthm
宏包之后,我们能够使用如下代码得到证明(proof)环境,即amsthm 中的 proof 环境:
\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage{times}
\begin{document}
\begin{proof}
The content of the new proof style $x \succ y, y\succeq z$ and $x \preceq y$.
\end{proof}
\end{document}
- 通过
proof
环境得到solution
环境,要求基本格式一致; - 将编译之后的PDF中的
proof
环境中的proof
格式改为加粗,缩进等。
提问者的尝试
提问者自己经过自己的翻阅和查询得到了下面的想法,为了得到 Solution 环境,将\proofname
修改为 Solution,使用如下代码(放在导言区)
\renewcommand{\proofname}{\indent \textbf {Solution}}
solution
环境,但是,弊端是,我们的proof
环境不复存在。
一点新尝试
为了找到好的解决方法,我们做了一点尝试,我们使用上面的代码,但是,在proof
环境后面加个参数,用以修改格式,使用如下:
\documentclass{article} \usepackage{amsmath,amsthm} \usepackage{times} \begin{document} \begin{proof}[\indent \bfseries Solution] The content of the new proof style $x \succ y, y\succeq z$ and $x \preceq y$. \end{proof} \end{document}从图中效果,我们看到,我们得到了我们想要的
solution
环境,但是,存在一个问题,我们的proof
环境的格式还是原来的,当然,我们可以使用solution
环境的方法,但是,这太繁琐了。或者有人说,那修改proofname
达到我们想要的proof
环境格式,然后在使用solution
环境的时候使用可选参数,逐个修改格式,或者可以借助新建命令简化我们的工作。说实话,这些方法都可以去尝试,而且,应该都能达到我们的想要的目的,但是,这些方法有各种问题,最重要的问题是:它们看起来那么不统一,修改格式很麻烦的,很纠结,不是吗?
可行的办法
通过上面的尝试,我们似乎可以得到启发,我们应该能够使用新建环境达到我们的目的,比如说:\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage{times}
%新增加的宏包
\usepackage{environ}
%新建环境iproof
\NewEnviron{iproof}[1][Proof]{\begin{proof}[\indent\bfseries #1]\BODY\end{proof}}{}
\begin{document}
\begin{proof}[\indent\bfseries Solution]
The content of the new solution style $x \succ y, y\succeq z$ and $x \preceq y$.
\end{proof}
\begin{iproof}
The content of the new proof style $x \succ y, y\succeq z$ and $x \preceq y$.
\end{iproof}
\begin{iproof}[Solution]
The content of the new solution style $x \succ y, y\succeq z$ and $x \preceq y$.
\end{iproof}
\end{document}
environ
宏包了,如果大家有对环境的定制需求,不妨去看看environ
宏包
View environ package on CTAN
发表评论 取消回复