Latex Bussproofs 包装 Prooftrees 在同一行

Latex Bussproofs 包装 Prooftrees 在同一行

我想知道如何将两个证明树放在同一条线上,而不是放在彼此之下或之上。这可能吗?

\documentclass{article}
\usepackage{bussproofs}
\begin{document}
\begin{prooftree}
\AxiomC{$\Gamma\vdash B $}
\RightLabel{K}
\UnaryInfC{$\Gamma,A\vdash B $}
\end{prooftree}

\begin{prooftree}
\AxiomC{$\Gamma,(A,B),B\vdash C $}
\RightLabel{W}
\UnaryInfC{$\Gamma,A,B\vdash C $}
\end{prooftree}
\end{document}

答案1

您可以定义一个bprooftree(盒装证明树),将证明树封闭在与树一样宽的盒子中。

\documentclass{article}
\usepackage{bussproofs}

\usepackage{lipsum} % just for the example

\newenvironment{bprooftree}
  {\leavevmode\hbox\bgroup}
  {\DisplayProof\egroup}

\begin{document}

\lipsum*[2]
\[
\begin{bprooftree}
\AxiomC{$\Gamma\vdash B $}
\RightLabel{K}
\UnaryInfC{$\Gamma,A\vdash B $}
\end{bprooftree}\qquad
\begin{bprooftree}
\AxiomC{$\Gamma,(A,B),B\vdash C $}
\RightLabel{W}
\UnaryInfC{$\Gamma,A,B\vdash C $}
\end{bprooftree}
\]
\lipsum[3]

\end{document}

在此处输入图片描述

答案2

prooftree旨在将校样设置在居中的显示环境中,并具有适当的垂直间距。您不需要这样做,所以不要使用该环境。

相反,使用\DisplayProof以内联方式显示校样。这可用于在文本内或并排设置校样。

我使用常规center环境将两个校样居中显示,并设置适当的垂直间距。校样之间有一个小的水平间距,您可以根据自己的喜好进行调整。

\documentclass{article}
\usepackage{bussproofs}
\begin{document}
  \begin{center}
    \AxiomC{$\Gamma\vdash B $}
    \RightLabel{K}
    \UnaryInfC{$\Gamma,A\vdash B $}
    \DisplayProof
    \hskip 1.5em
    \AxiomC{$\Gamma,(A,B),B\vdash C $}
    \RightLabel{W}
    \UnaryInfC{$\Gamma,A,B\vdash C $}
    \DisplayProof
  \end{center}
\end{document}

在线设置校样,而不是在中心显示环境中设置

如果您的校样的行数不同,您可以使用\centerAlignProof\bottomAlignProof(如果愿意的话)而不是默认的\normalAlignProof。请参阅第 11 页文档了解详情。

答案3

一个简单的解决方案是将两个证明树分别包装在一个中minipage

\documentclass{article}
\usepackage{bussproofs}
\begin{document}
\begin{minipage}{.45\textwidth}
\begin{prooftree}
\AxiomC{$\Gamma\vdash B $}
\RightLabel{K}
\UnaryInfC{$\Gamma,A\vdash B $}
\end{prooftree}
\end{minipage}
\begin{minipage}{.45\textwidth}
\begin{prooftree}
\AxiomC{$\Gamma,(A,B),B\vdash C $}
\RightLabel{W}
\UnaryInfC{$\Gamma,A,B\vdash C $}
\end{prooftree}
\end{minipage}
\end{document}

相关内容