user1551605
user1551605

Reputation: 303

Org-mode beamer, stop a 2-column block and display following text throughout page width

I want to compose a beamer frame which consists in two blocks side-by-side, followed by text laid out throughout the page width, that is under the 2 blocks above. Producing the two blocks works fine. However, none of my attempts (e.g putting a '-' to start a new list, putting more than a couple of empty lines after the last block text) could stop the block section. Here is a MWE.

*** Left block                         :B_column:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_col: 0.5
    :END:

     My left block of text here

*** Right block                        :B_column:
    :PROPERTIES:
    :BEAMER_env: block
    :BEAMER_col: 0.48
    :END:   

    My right block of text here. 


- I'd like this piece of text to go below left and right 
  blocks of text throughout the page width but it stays 
  in the right block.

The generated LaTeX source for this will typically be, for right block:

\begin{column}{0.48\textwidth}
\begin{block}{Right block}
        My right block of text here. 

\begin{itemize}
\item I'd like this piece of text to go below left and right 
      blocks of text throughout the page width but it stays 
      in the right block.
\end{itemize}

\end{block}
\end{column}

while i would like the \end{column} to appear before \begin{itemize}. I guess we can tell Beamer to stop the block but could not find out.

Edit: i found meanwhile a workaround solution, which is to create a new block without title (using ***[blank]) to contain the fullwidth text (see below). However, this is not exactly what i expected as this last block has all the properties of a block, in particular a background color.

*** Left block                         :B_column:
        :PROPERTIES:
        :BEAMER_env: block
        :BEAMER_col: 0.5
        :END:

         My left block of text here

    *** Right block                        :B_column:
        :PROPERTIES:
        :BEAMER_env: block
        :BEAMER_col: 0.48
        :END:   

        My right block of text here. 


      ***  
      I'd like this piece of text to go below left and right 
      blocks of text throughout the page width but it stays 
      in the right block.

Edit 2: The solution proposed by rvf0068 works well. Let me post the whole source code. Using org-mode shortcuts, Ctrl-C Ctrl-B when positioned on the ***[blank] headline, prompts you for the block type, for which 'i' (B_ignoreheading) is what you need._

*** Left block                         :B_column:
        :PROPERTIES:
        :BEAMER_env: block
        :BEAMER_col: 0.5
        :END:

         My left block of text here

    *** Right block                        :B_column:
        :PROPERTIES:
        :BEAMER_env: block
        :BEAMER_col: 0.48
        :END:   

        My right block of text here. 


      ***                               :B_ignoreheading:
      :PROPERTIES:
      :BEAMER_env: ignoreheading
      :END:
      I'd like this piece of text to go below left and right 
      blocks of text throughout the page width but it stays 
      in the right block.

Upvotes: 3

Views: 2575

Answers (2)

Niclas Börlin
Niclas Börlin

Reputation: 307

What about this?

** Test
*** Top two-column block                                          :B_columns:
    :PROPERTIES:
    :BEAMER_env: columns
    :END:
**** Left block                                                    :B_column:
     :PROPERTIES:
     :BEAMER_env: block
     :BEAMER_col: 0.5
     :END:

- My left block of text here

**** Right block                                                   :B_column:
     :PROPERTIES:
     :BEAMER_env: block
     :BEAMER_col: 0.50
     :END:   

- My right block of text here. 

*** Bottom two-column block                                       :B_columns:
    :PROPERTIES:
    :BEAMER_env: columns
    :END:
**** @@beamer: ~@@                                                  :B_block:
     :PROPERTIES:
     :BEAMER_env: block
     :BEAMER_col: 0.99
     :END:
- I'd like this piece of text to go below left and right blocks of
  text throughout the page width but it stays in the right block.
**** @@beamer: ~@@                                                  :B_block:
     :PROPERTIES:
     :BEAMER_env: block
     :BEAMER_col: 0.01
     :END:

The trick is to:

  1. Embed your two blocks in a two-column columns block
  2. Create another two-columns section below
  3. Put your stuff in the left bottom column.

Notes:

  • Tried one-column section in step 2, but adjustment looked weird. Same with ignoreheading solution by @rvf0068
  • Width sum of two-columns should be equal.
  • Bottom left column almost full width.
  • Bottom right column very small and empty.
  • The @@beamer: ~@@ is to trick org-mode to use a blank title.

I'm sure there are better solutions (single-column in step 2) to sort out the adjustment, but this worked for me.

Upvotes: 0

rvf0068
rvf0068

Reputation: 1389

You need to add the property BEAMER_env with value ignoreheading to the heading that interrupts the columns.

***                                                             :B_ignoreheading:
    :PROPERTIES:
    :BEAMER_env: ignoreheading
    :END:

    #+beamer: \vspace{1cm}  
    I'd like this piece of text to go below left and right    
    blocks of text throughout the page width but it stays    
    in the right block.

Note that I added #+beamer: \vspace{1cm} since otherwise it looks cramped.

Upvotes: 2

Related Questions