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 would like to place two math lines in a beamer block, as two separately centered lines.

I know that I could do this using two distinct equation environments, but it would be nicer to use a single environment like gather, or align (though align is not exactly what I want). When I do this (with gather), an ugly space appears at the top of the block, before the first equation. See below. How can I get rid of this space while still using gather or align (perhaps I should be using another environment altogether?)

\begin{block}{Separation of variables}
\begin{equation*}
\eps u'''' - (yu')' = \lambda u,
\end{equation*}
\begin{equation*}
u''(0)=u'''(0)=0 \quad \text{(Free),} \qquad u(1)=u''(1)=0 \quad\text{(Clamped)}
\end{equation*}
\end{block}
\begin{block}{Separation of variables}
\begin{gather*}
\eps u'''' - (yu')' = \lambda u,\\
u''(0)=u'''(0)=0 \quad \text{(Free),} \qquad u(1)=u''(1)=0 \quad\text{(Clamped)}
\end{gather*}
\end{block}

Gives me: enter image description here

Any ideas?

share|improve this question

2 Answers 2

up vote 12 down vote accepted

You can set the length abovedisplayskip to 0pt (or any other desired value):

\documentclass{beamer}
\usepackage{amsmath}
\begin{document}

\begin{frame}
\begin{block}{Separation of variables}
\begin{gather*}
 u'''' - (yu')' = \lambda u,\\
u''(0)=u'''(0)=0 \quad \text{(Free),} \qquad u(1)=u''(1)=0 \quad\text{(Clamped)}
\end{gather*}
\end{block}
\begin{block}{Separation of variables}
\setlength\abovedisplayskip{0pt}
\begin{gather*}
 u'''' - (yu')' = \lambda u,\\
u''(0)=u'''(0)=0 \quad \text{(Free),} \qquad u(1)=u''(1)=0 \quad\text{(Clamped)}
\end{gather*}
\end{block}
\end{frame}
\end{document}

Of course, you can use something like

\addtobeamertemplate{block begin}{\setlength\abovedisplayskip{0pt}}

right after \begin{document} to apply the change to all the blocks.

enter image description here

share|improve this answer
    
Does it make sense that \abovedisplayskip is used in a gather but not in an equation? –  Yossi Farjoun Sep 12 '11 at 22:02
    
Do I really have to write this command at every frame? is there a global setting I could use? Is this a beamer thing or a latex thing? –  Yossi Farjoun Sep 12 '11 at 22:20
    
@Yossi Farjoun: \abovedisplayskip and friends are defined in files like size10.clo,or size12.clo, depending on the font size, so you cannot change their value in the preamble using a simple \setlength. However, you can use something like this in the preamble: \AtBeginDocument{\setlength\abovedisplayskip{0pt}} –  Gonzalo Medina Sep 12 '11 at 22:36
    
@GonzaloMedina: This would eliminate the space between a paragraph and a displayed equation following it, though, wouldn't it? Seems like what we'd want is for \abovedisplayskip to be zero only at the start of a Beamer block. –  Luke Maurer Dec 7 '11 at 22:39
1  
@LukeMaurer: yes. I've added to my answer the code to apply the change only to the blocks. –  Gonzalo Medina Dec 7 '11 at 23:25

A crude, but simple way is to insert \vspace{-.5cm} (or whatever negative distance suits you) just before starting the gather environment. Most likely someone knows a better way than this quick-and-dirty workaroumd... :)

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.