Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}
share|improve this question
    
Welcome to TeX.sx! Since it's first Q –  texenthusiast Mar 27 '13 at 15:14
    
If you're not fully forced to use bussproofs, an ordinary array environment will also do. See prooftree from bussproofs package inside cases environment. It makes life simpler, if you're willing to manage some of the spacing yourself. –  Werner Mar 28 '13 at 19:18

2 Answers 2

up vote 3 down vote accepted

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.

share|improve this answer

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}}
}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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