Re: [O] Beamer export with \only overlays - how?

2013-10-09 Thread Suvayu Ali
On Wed, Oct 09, 2013 at 02:28:30AM +, 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 \only1, 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 \only1.

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.



Re: [O] Beamer export with \only overlays - how?

2013-10-09 Thread James Harkins
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




[O] Beamer export with \only overlays - how?

2013-10-08 Thread James Harkins

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 \only1, 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|\only2| come after \verb|\end{block}|.

#+latex: \only1 {
*** Block 1

#+latex: } \only2 {
*** Block 2

#+latex: }




Re: [O] Beamer export with \only overlays - how?

2013-10-08 Thread Suvayu Ali
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 \only1, 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.



Re: [O] Beamer export with \only overlays - how?

2013-10-08 Thread James Harkins
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 \only1, 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 \only1.

#+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: \only1
:END:
*** Block 2 :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_ACT: \only2
:END:

--

\begin{block}\only1{Block 1}
\end{block}

Where the correct syntax would be:

\only1{
\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}
\only1{Some text for the first slide.\\Possibly several lines long.}
\only2{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