5

I am using package bussproofs in order to draw sequent calculus style proofs. The proofs are often lengthy and would like to scale them but I can not do it. There is an uninformative error raised:

! LaTeX Error: Something's wrong--perhaps a missing \item.

As you can see scaling and prooftree environments work separately, but not together.

Do you have any suggestions how to scale prootrees? There is no information about it in bussproofs guide.

\documentclass[]{beamer}
\usepackage{graphicx}
\usepackage{bussproofs}
\usepackage{amssymb}
\begin{document}

\begin{frame}

\begin{prooftree}
    \AxiomC{A}
    \AxiomC{B}
    \BinaryInfC{C}
\end{prooftree}

\scalebox{.6}{The problem}

\scalebox{.6}{
    \begin{prooftree}
        \AxiomC{A}
        \AxiomC{B}
        \BinaryInfC{C}
    \end{prooftree}
}

\end{frame}

\end{document}
4

In the following example I defined a scprooftree environment having as mandatory argument the scale factor to be used; this environment is a simple modification of prooftree as implemented in bussproofs.sty:

\documentclass[]{beamer}
\usepackage{graphicx}
\usepackage{bussproofs}
\usepackage{amssymb}

\newenvironment{scprooftree}[1]%
  {\gdef\scalefactor{#1}\begin{center}\proofSkipAmount \leavevmode}%
  {\scalebox{\scalefactor}{\DisplayProof}\proofSkipAmount \end{center} }

\begin{document}

\begin{frame}
\begin{prooftree}
  \AxiomC{A}
  \AxiomC{B}
  \BinaryInfC{C}
\end{prooftree}
\scalebox{.6}{No problem anymore}
\begin{scprooftree}{0.6}
  \AxiomC{A}
  \AxiomC{B}
  \BinaryInfC{C}
\end{scprooftree}
\begin{scprooftree}{2}
  \AxiomC{A}
  \AxiomC{B}
  \BinaryInfC{C}
\end{scprooftree}
\end{frame}

\end{document}

enter image description here

The original problem is originated because prooftree environment uses the center environment; the same error will be triggered by trying to do something like

\scalebox{0.6}{\begin{center}A\end{center}}

The solution scales the object and then uses center to center it. Another option would have been to use a \vbox to box the entire prooftree environment and then to scale it.

0

Putting the prooftree environment in \parbox also solves the problem but the default centering is lost and a user should center it using width value of \parbox and centering environment.

\scalebox{.6}{
\parbox{1cm}{
    \begin{prooftree}
        \AxiomC{A}
        \AxiomC{B}
        \BinaryInfC{C}
    \end{prooftree}}
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.