我想知道如何将两个证明树放在同一条线上,而不是放在彼此之下或之上。这可能吗?
\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}