对方程式等式的连续证明进行编号

对方程式等式的连续证明进行编号

我正在尝试重现一些非常古老的文章,以用于选集。其中一些文章将某些推理规则作为序列演算中的证明,但将它们与方程一起编号,使用与方程相同的编号样式。通常,我在这种证明环境中使用 bussproofs,但 bussproofs 仅允许在证明树中的推理线旁边进行编号。如果 bussproofs 可在方程环境中使用,我正在寻找的内容将是这样的:

\begin{equation*}\tag{I1}  
\begin{prooftree}  
\AxiomC{$A \land B$}  
\UnaryInfC{$A$}  
\end{prooftree}  
\end{equation*}

但是,当我生成 PDF 时,这当然会出错,因为 bussproofs 证明树不能以这种方式嵌入到其他环境中(或者可以,但我不知道有什么技巧?)。关于如何才能得到我想要的结果,有什么建议吗?

答案1

这是一个新的环境,您应该能够在数学对齐环境中相当安全地使用它:

\documentclass{article}
\usepackage{amsmath,varwidth,bussproofs}
\usepackage{lipsum} % mock text, just for testing

\newenvironment{mathprooftree}
  {\varwidth{.9\textwidth}\centering\leavevmode}
  {\DisplayProof\endvarwidth}

\begin{document}
\lipsum*[2]
\begin{equation}\tag{I1}
\begin{mathprooftree}
\AxiomC{$A \land B$}
\UnaryInfC{$A$}
\end{mathprooftree}
\end{equation}
\lipsum[2]
\end{document}

在此处输入图片描述

我们只需做bussproofs除了垂直空间(已由equation或类似环境处理)之外的事情,将结果封闭在一个varwidth仅使用最小水平尺寸来保存证明树的环境中(作为最大值,我设置了文本宽度的 90%,以始终有数字或标签的空间)。

equation请注意,如果您指定了\tag(这是一个方便的功能),则可以不用 *。

相关内容