emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Beamer export with \only overlays - how?
@ 2013-10-08 15:41 James Harkins
  2013-10-08 17:42 ` Suvayu Ali
  0 siblings, 1 reply; 5+ messages in thread
From: James Harkins @ 2013-10-08 15:41 UTC (permalink / raw)
  To: emacs-orgmode

Question: How does one use Beamer's \only command with blocks? (Successfully, with org-mode's beamer export, I mean.)

I found in the manual that you can give an overlay specification using the BEAMER_ACT property... ok... but that's not the same as \only because, when a latex chunk is marked \only<1>, it takes *no space* on <2->. Using <1> and <2> causes the <2> to appear lower than the <1>. That's not what I want.

Hacking it with #+latex: lines is even worse, as explained in the example below.

I suppose there must be a way to do it, albeit undocumented. Or maybe it's simply not supported, in which case I would have to write the LaTeX directly. Annoying, but I'll do that if there's no alternative.

hjh


#+LANGUAGE:  en
#+OPTIONS:   H:2 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t ':t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport

#+startup: beamer
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC

* Section
** Frame (beamer_act, not quite right)
*** The problem on this frame
    I want Block 1 and Block 2 to occupy the same space on successive slides.
*** Block 1 							    :B_block:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_ACT: <1>
    :END:
*** Block 2							    :B_block:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_ACT: <2>
    :END:

** Frame (using #+latex and \only)
*** This is a complete bloody hash.
    There is no way to make \verb|\only<2>| come after \verb|\end{block}|.

#+latex: \only<1> {
*** Block 1

#+latex: } \only<2> {
*** Block 2

#+latex: }


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Beamer export with \only overlays - how?
  2013-10-08 15:41 Beamer export with \only overlays - how? James Harkins
@ 2013-10-08 17:42 ` Suvayu Ali
  2013-10-09  2:28   ` James Harkins
  0 siblings, 1 reply; 5+ messages in thread
From: Suvayu Ali @ 2013-10-08 17:42 UTC (permalink / raw)
  To: emacs-orgmode

On Tue, Oct 08, 2013 at 11:41:36PM +0800, James Harkins wrote:
> Question: How does one use Beamer's \only command with blocks? (Successfully, with org-mode's beamer export, I mean.)
> 
> I found in the manual that you can give an overlay specification using
> the BEAMER_ACT property... ok... but that's not the same as \only
> because, when a latex chunk is marked \only<1>, it takes *no space* on
> <2->. Using <1> and <2> causes the <2> to appear lower than the
> <1>. That's not what I want.
> 

Did you try this:

<http://orgmode.org/worg/exporters/beamer/ox-beamer.html#environments-overlay>

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Beamer export with \only overlays - how?
  2013-10-08 17:42 ` Suvayu Ali
@ 2013-10-09  2:28   ` James Harkins
  2013-10-09  7:23     ` Suvayu Ali
  0 siblings, 1 reply; 5+ messages in thread
From: James Harkins @ 2013-10-09  2:28 UTC (permalink / raw)
  To: emacs-orgmode

Suvayu Ali <fatkasuvayu+linux <at> gmail.com> writes:

> On Tue, Oct 08, 2013 at 11:41:36PM +0800, James Harkins wrote:
> > Question: How does one use Beamer's \only command with blocks?
(Successfully, with org-mode's beamer
> export, I mean.)
> > 
> > I found in the manual that you can give an overlay specification using
> > the BEAMER_ACT property... ok... but that's not the same as \only
> > because, when a latex chunk is marked \only<1>, it takes *no space* on
> > <2->. Using <1> and <2> causes the <2> to appear lower than the
> > <1>. That's not what I want.
> > 
> 
> Did you try this:
> 
> <http://orgmode.org/worg/exporters/beamer/ox-beamer.html#environments-overlay>

My example file uses BEAMER_ACT, so yes, I did try that. Here's what happens
if I try it with \only<1>.

#+LANGUAGE:  en
#+OPTIONS:   H:2 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t ':t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport

#+startup: beamer
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col)
%8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC

* Section
** Frame (beamer_act, not quite right)
*** The problem on this frame
    I want Block 1 and Block 2 to occupy the same space on successive slides.
*** Block 1 							    :B_block:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_ACT: \only<1>
    :END:
*** Block 2							    :B_block:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_ACT: \only<2>
    :END:

-->

\begin{block}<\only<1>>{Block 1}
\end{block}

Where the correct syntax would be:

\only<1>{
\begin{block}{Block 1}
\end{block}
}

So in short, no, that doesn't help.

I'm getting the uncomfortable feeling that this is a use case that org just
doesn't support as yet.

Actually, reading further in the beamer user guide, I noticed last night
that what I really want is \overlayarea, e.g.:

\begin{overlayarea}{\textwidth}{3cm}
\only<1>{Some text for the first slide.\\Possibly several lines long.}
\only<2>{Replacement on the second slide.}
\end{overlayarea}

Unfortunately \overlayarea is not supported as a BEAMER_env:

*** dummy						      :B_overlayarea:
    :PROPERTIES:
    :BEAMER_env: overlayarea
    :BEAMER_envargs: {\textwidth}{3cm}
    :END:

There's no \begin{overlayarea} or \end{overlayarea} anywhere in the exported
code.

Oh, forgot: org-version says Org-mode version 8.2 (release_8.2-1-g025bb7 @
/home/dlm/share/org-mode.git/lisp/).

hjh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Beamer export with \only overlays - how?
  2013-10-09  2:28   ` James Harkins
@ 2013-10-09  7:23     ` Suvayu Ali
  2013-10-10  1:16       ` James Harkins
  0 siblings, 1 reply; 5+ messages in thread
From: Suvayu Ali @ 2013-10-09  7:23 UTC (permalink / raw)
  To: emacs-orgmode

On Wed, Oct 09, 2013 at 02:28:30AM +0000, James Harkins wrote:
> Suvayu Ali <fatkasuvayu+linux <at> gmail.com> writes:
> 
> > On Tue, Oct 08, 2013 at 11:41:36PM +0800, James Harkins wrote:
> > > Question: How does one use Beamer's \only command with blocks?
> (Successfully, with org-mode's beamer
> > export, I mean.)
> > > 
> > > I found in the manual that you can give an overlay specification using
> > > the BEAMER_ACT property... ok... but that's not the same as \only
> > > because, when a latex chunk is marked \only<1>, it takes *no space* on
> > > <2->. Using <1> and <2> causes the <2> to appear lower than the
> > > <1>. That's not what I want.
> > > 
> > 
> > Did you try this:
> > 
> > <http://orgmode.org/worg/exporters/beamer/ox-beamer.html#environments-overlay>
> 
> My example file uses BEAMER_ACT, so yes, I did try that. Here's what happens
> if I try it with \only<1>.

Look a bit more carefully ;).  The following paragraph has an example
suggesting the onlyenv environment.  As far as I understand,
environments are prefered over commands with arguments or macros when
translating headlines.  You can nest your block in such an environment.
I realise this is a little less flexible than \only{}, but it seems to
work.  I have not tried any of this personally in a long time though.

Hope this helps,

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Beamer export with \only overlays - how?
  2013-10-09  7:23     ` Suvayu Ali
@ 2013-10-10  1:16       ` James Harkins
  0 siblings, 0 replies; 5+ messages in thread
From: James Harkins @ 2013-10-10  1:16 UTC (permalink / raw)
  To: emacs-orgmode

Suvayu Ali <fatkasuvayu+linux <at> gmail.com> writes:

> Look a bit more carefully ;).  The following paragraph has an example
> suggesting the onlyenv environment.  As far as I understand,
> environments are prefered over commands with arguments or macros when
> translating headlines.  You can nest your block in such an environment.
> I realise this is a little less flexible than \only{}, but it seems to
> work.  I have not tried any of this personally in a long time though.

Indeed, this does the job. Thanks for the extra pointer.

For future readers, now I have this in my .emacs:

(add-to-list 'org-beamer-environments-extra
	     '("onlyenv" "O" "\\begin{onlyenv}%a" "\\end{onlyenv}"))

And then I can export:

** Frame (beamer_act, not quite right)
*** The problem on this frame
    I want Block 1 and Block 2 to occupy the same space on successive 
slides.
*** OnlyEnv 1							  
:B_onlyenv:
    :PROPERTIES:
    :BEAMER_env: onlyenv
    :BEAMER_ACT: <1>
    :END:
**** Block 1
     Text
*** OnlyEnv 2 							  
:B_onlyenv:
    :PROPERTIES:
    :BEAMER_env: onlyenv
    :BEAMER_ACT: <2>
    :END:
**** Block 2
     Text 2

-->

\begin{frame}[label=sec-1-1]{Frame (beamer$_{\text{act}}$, not quite right)}
\begin{block}{The problem on this frame}
I want Block 1 and Block 2 to occupy the same space on successive slides.
\end{block}

\begin{onlyenv}<1>
\begin{block}{Block 1}
Text
\end{block}
\end{onlyenv}

\begin{onlyenv}<2>
\begin{block}{Block 2}
Text 2
\end{block}
\end{onlyenv}
\end{frame}

~~~

I think I overlooked this in the manual because the overlay section is not 
organized around (what I think are) the most important user questions:

- Which overlays does org beamer export support?
- How to use them?

Instead, "onlyenv" appears in a paragraph whose topic sentence is "You can 
add your own environments by..." In other words, the information is "there," 
but organized in a way that would make your middle school English teacher 
break out the red pen.

I'll add a TODO for myself to rewrite this section. I don't know when I can 
get to it, though.

~~~

Why is onlyenv not supported out of the box?

hjh

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-10-10  1:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-08 15:41 Beamer export with \only overlays - how? James Harkins
2013-10-08 17:42 ` Suvayu Ali
2013-10-09  2:28   ` James Harkins
2013-10-09  7:23     ` Suvayu Ali
2013-10-10  1:16       ` James Harkins

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).