Hi list,

LaTeX beamer is a special LaTeX class to build nice looking presentations. There have been discussion in the the list and on the tracker about adding this as a target for txt2tags. Some patches have also been proposed. Some people have also proposed a bank of pre/postproc rules to generate such files. (see on the tracker)

imho, it would be better to not have such a target in the core of txt2tags. Possible reasons are this is not KISS, as if we do that for the beamer class, why not doing that for other popular classes like report, book or whatever...

However, rules banks are difficult to write and to read. So I would like to introduce a way to get beamer presentations using the basic code for templates that I have just posted on the list.

Here is a non-intrusive and tweaking friendly way of getting the beamer target done. As a proof of concept, I have attached three files,
- beamer.conf.t2t: a config file to convert into the right markup
- beamer.tex : a template file with a basic theme
- talk.t2t: source code for the talk

To get the pdf, you have to do the following commands (with txt2tags patched with template.patch)
txt2tags -C beamer.conf.t2t -T beamer -t tex talk.t2t
pdflatex talk.tex
(I borrowed graphics from the artwork section of the website
http://txt2tags.sourceforge.net/art.html, remove them in talk.t2t or download them)

In order to not introduce new markup, I have choosen to use the subsections as titles and delimiters for the slides. It has also the advantages that if you simply do a
txt2tags -t html talk
you also get a fairly readable HTML file.

Note that I am not expecting this choice (and others) I have made to satisfy all of you (if any :-) ). My point is more to convince you that, with template files, it is really easy to customize a beamer presentation your way.

Comments and improvements welcome!
Emmanuel
PS: If you intend to modify the template file, be aware that given the special meaning of % in both Latex and Python strings, you should be very cautious and always double the %s in your latex comments (otherwise you will get rather cryptic txt2tags errors: the template patch has to be improved in this regard)
% txt2tags proc for beamer

%% subsections define frame titles
%% dirty hack with <invisible> to close frames
%!postproc(tex): '\\section{(.*)}' '\\end{frame}\n\\section{\1}\\addtocounter{framenumber}{-1}\\begin{frame}<invisible>'
%!postproc(tex): '\\subsection{(.*)}' '\\end{frame}\n\\subsection{\1}\\begin{frame}\n\\frametitle{\1}\n'
%% Carefull with verbatim
%!postproc(tex): '\\subsection\*{(.*)}' '\\end{frame}\n\\subsection{\1}\\begin{frame}[containsverbatim]\n\\frametitle{\1}\n'


% beamer is OK with default itemize
%!postproc(tex): '\\begin{compactitem}'	'\\begin{itemize}'
%!postproc(tex): '\\end{compactitem}'   '\\end{itemize}'
%% Enumerate yields animations 
%!postproc(tex): '\\begin{compactenum}' '\\pause\\begin{enumerate}[<+->]'
%!postproc(tex): '\\end{compactenum}' '\\end{enumerate}'


%% Beamer specifics

% Description Lists are blocks
%!postproc(tex): '\\begin{compactdesc}'  '\\begin{block}<o...@0>{}'
%!postproc(tex): '\\item\[(.*)\]'	 '\\end{block}\n\\begin{block}{\1}'
%!postproc(tex): '\\end{compactdesc}'  	 '\\end{block}{}'

%!preproc(tex): PAUSE 'LATEXBEAMERP'
%!postproc(tex): LATEXBEAMERP '\\pause'
%!preproc(): PAUSE ''
% Correctly coloured tables 
%!postproc(tex):'\\pause\} \\\\' '} \\pause\\\\'
%!postproc(tex):'\\pause \\\\' '\\pause\\\\'
%% Weird but necessary...
%!postproc(tex):'(\\end{tabular})' '\1\\begin{tabular}{c}\\end{tabular}'
\documentclass[table]{beamer}

\usepackage[%(ENCODING)s]{inputenc}  %% char encoding 
\usepackage[T1]{fontenc} 
\usepackage{lmodern}  %% Better PDF rendering with these fonts
\usepackage{graphicx} %% For graphics
%%\usepackage{paralist} %% no need for compact lists
\usepackage[normalem]{ulem} %% needed by strike
\usepackage{%(STYLE)s}  %% user defined

%% Beamer parameters
\usetheme{Madrid}
\setbeamertemplate{navigation symbols}{}


\title{%(HEADER1)s}
\author{%(HEADER2)s}
\subtitle{%(HEADER3)s}
\institute{INSTITUTE}
\date{\today}
\pgfdeclareimage{logo}{logo}
\logo{\pgfuseimage{logo}}

\begin{document}
\rowcolors[]{1}{blue!20}{blue!10}
\frame[plain]{\titlepage}
\begin{frame}
\frametitle{Outline}
\tableofcontents[hideallsubsections]  
\end{frame}

\addtocounter{framenumber}{-1}
\begin{frame}<dummy>
%(BODY)s

\end{frame}
\end{document}
The Title
The Sub-title
Author

% The date will be automatically computed by LaTeX
% It can be overidden by a postproc
%!postproc(tex): "\\today" "Mar. 8, 2010"

% Another field: Institute
%!postproc: INSTITUTE "the institute"

% Another field: Logo 
%!postproc: LOGO t2tpowered-white

%% Demo special macro
%!postproc: "P A U S E" "PAUSE"

+ Introduction +

++ This is a Slide ++

And the content can be typeset with **regular** ``txt2tags`` markup.

You can also use bullet list:
- Oh
- Bullets
- Are //so//
- Nice
  - as 
  - are
  - sub-bullets


++ Easy Animations ++

With enumerated lists comes //animations//

+ one
+ two
+ three


PAUSE
The keyword ``P A U S E``  can also be used to explicitly PAUSE
pause...


++ Description Lists are Blocks ++

: Block title
   Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
   eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
   ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
   aliquip ex ea commodo consequat. Duis aute irure dolor in
   reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
   pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
   culpa qui officia deserunt mollit anim id est laborum.  
:


++ But They Can Also Be Used As Lists ++

: Item lists
  - with
  - bullets
: Enumeration lists
  + one
  + two
  + three



++ ++

   [octus.png]

++ Table (with Colours) ++

||  column1  |  column2  |
|   val1a     |  val2a   |
|   val1b     |  val2b   |



++ Uncovering Line by Line ++

Just add ``P A U S E`` at the end of the line.

||  column1  |  column2   |  colum3  PAUSE  
|   val1a     |  val2a    |  val3a   PAUSE  
|   val1b     |  val2b    |  val3b   PAUSE  
|   val1c     |  val2c    |  val3c   PAUSE  



+ Handling Verbatim +

++ Special Slide ++

**Caveats:**
Verbatim text in ``beamer``  can be very tricky to use.


It has to be in a special slide that does not support animations like the  
regular slides.


== Solution (Hack) ==

So we use unnumbered title instead (Latex handles
 the sectionning and table of contents anyway) 

```
+ Section +

++ A standard slide ++
This is a regular slide with
+ ani
+ ma
+ tions
+
```

== Solution (Hack) cont. ==

With verbatim
```
  == A Slide with Verbatim ==

  You can insert regular verbatim blocks.
 
  ```
  this
      way
  ```
```
 
+ Conclusion +

++ Perspectives ++

Still a lot to do...


++    ++


   **Thanks for your attention...**
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
txt2tags-list mailing list
https://lists.sourceforge.net/lists/listinfo/txt2tags-list

Reply via email to