如果我使用 amssymb,证明末尾的正方形将保持正常大小。但是当我使用 mathabx 时,正方形会变得很小。有什么方法可以使用 mathabx 并仍然获得正常正方形吗?
\documentclass[11pt]{article}
\usepackage{amssymb}
\usepackage{mathabx}
\newenvironment{prf}{\underline{\textbf{Proof:}}}{\hfill $\square$}
\begin{document}
\begin{prf}
This is my proof using mathabx.
\end{prf}
\end{document}
谢谢你!
答案1
您可以使用
\let\oldsquare\square
前加载mathabx
然后\oldsquare
在您的定义中使用:
\documentclass[11pt]{article}
\usepackage{amssymb}
\let\oldsquare\square
\usepackage{mathabx}
\newenvironment{prf}{\underline{\textbf{Proof:}}}{\hfill$\oldsquare$}
\begin{document}
\begin{prf}
This is my proof using mathabx.
\end{prf}
\end{document}
proof
包中的环境不amsthm
使用\square
,而是\openbox
使用作为结束标记,因此您可以按照如下amsthm.sty
方式定义此命令并将其用于您的定义:
\documentclass[11pt]{article}
\usepackage{amssymb}
\usepackage{mathabx}
\newcommand{\openbox}{\leavevmode
\hbox to.77778em{%
\hfil\vrule
\vbox to.675em{\hrule width.6em\vfil\hrule}%
\vrule\hfil}}
\newenvironment{prf}{\underline{\textbf{Proof:}}}{\hfill$\openbox$}
\begin{document}
\begin{prf}
This is my proof using mathabx.
\end{prf}
\end{document}
不过,我建议你使用该amsthm
软件包及其内置proof
环境来排版你的校样。这将为你提供校样前后的适当间距、结束标记的正确位置以及首行无缩进等功能。
在下面的例子中,我使用了两种环境进行比较(我隐藏了下划线,因为这不是一个好的印刷做法,但是如果你真的需要它,你可以把它加回来):
\documentclass[11pt]{article}
\usepackage{amssymb}
\usepackage{mathabx}
\usepackage{amsthm}
\newenvironment{prf}{\underline{\textbf{Proof:}}}{\hfill$\openbox$}
\renewcommand\proofname{\normalfont\bfseries Proof:}
\begin{document}
\begin{prf}
This is my proof using mathabx.
\end{prf}
\begin{proof}
This is my proof using mathabx amnd amsthm.
\end{proof}
\end{document}
mathabx
也提供\boxvoid
,但这会产生一个比常规命令稍大的正方形\openbox
。
您确定要使用 吗mathabx
?我之所以问您,是因为该包重新定义了许多数学符号(正如您已经体验过的)。如果您只对 中的某个特定符号感兴趣mathabx
,那么从不同字体导入单个符号向您展示如何在不加载包的情况下导入符号。