# wiki2beamer - Online in the Cloud

This is the command wiki2beamer that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

### PROGRAM:

#### NAME

wiki2beamer - convert wiki-formatted text to latex-beamer code

#### SYNOPSIS

wiki2beamer [OPTION...] [FILE...]

#### DESCRIPTION

FILE the text-file(s) to be processed

-h,--help
show a short usage help

--version
show version information

-o,--output FILE
write output to FILE instead of stdout

#### USAGE

Usually you want to pipe the output of wiki2beamer into a file:

wiki2beamer footalk.txt > footalk.tex

If called with multiple input files, wiki2beamer processes them in order with their
content being simply concatenated. If called without any input file, wiki2beamer will
attempt to read input from STDIN. If no input files are supplied and nothing is available
on STDIN, wiki2beamer prints its usage message and exits.

If an error occurs, wiki2beamer returns a return code other then 0.

#### SYNTAX

Wiki2beamer has it's own wiki-syntax which (evolved without much of a concept ;) and) is
described below. Everything that is unknown to wiki2beamer will be passed through to the
LaTeX output (unless inside special environments).

OVERALL STRUCTURE
A wiki2beamer txt file can consist of two sections: the head and the body. The head is
optional and is an autotemplate environment. The body contains the content of the
document. If the head (autotemplate) is not given, then only the code for the body will be
generated and can be included into a manually crafted LaTeX template file.

MANAGING INPUT
You can split input to wiki2beamer into multiple files. This helps to keep things apart
and avoids conflicts. There are two ways to split input. The first is to use multiple
input files which wiki2beamer will read and process in order as if they were one
concatenated file. The second is to use the >>>include<<< syntax.

>>>includefile<<<
Include the file named includefile at this line. Works recursively. Endless
recursion will be detected and treated as an error. Including files doesn't work
inside [nowiki] and [code] environments (see below).

STRUCTURING THE PRESENTATION
== sectionname ==
opens a section called sectionname

== longsectionname ==[shortname]
opens a section called longsectionname, passing the parameter shortname to latex

=== subsectname ===
opens a subsection called subsectname

=== longsubsectname ===[shortname]
opens a subsection called longsubsectname, passing the parameter shortname to latex

==== frametitle ====
opens a frame with the title frametitle

==== frametitle ====[param]
opens a frame with the title frametitle, passes frame parameters like t, fragile,
verbatim etc. to latex

!==== frametitle ====[param]
the ! added in front of a frame, selects a frame for exclusive generation. It
makes wiki2beamer skip all frames that are not selected. You can select multiple
frames. This can speed up the edit-compile-view cycle massively.

Sectioning commands work only at the beginning of a line.

LISTS (BULLETS/ENUMERATIONS)
* text create a bullet (itemize) with text

*<onslide> text
create a bullet (itemize) with text that only appears on the specified slides
(onslide)

# text create a numbered item (enumerate) with text

#<onslide> text
create a numbered item (enumerate) with text that only appears on the specified
slides (onslide)

Cascaded lists, mixed ordered and unordered items:

* This is a crazy list.
*# It contains different items.
*# In different formats.
*** On different levels.
***<2-> which are animated
*<3-> Quite a lot of fun.
**<4-> Isn't it?

ENVIRONMENTS
LaTeX knows many environments, some of which are as simple as \begin{center} \end{center},
others are more complicated. To use these in a more wiki-like fashion, use <[name] to
open and [name]> to close environments. It will be simply converted to \begin{name} and
end{name}.
Warning

No parsing is done. The user is responsible for closing any opened environment.
Environment-tags are only recognized at the beginning of a line.

SPECIAL ENVIRONMENTS
Unlike standard environments, some environment names are recognized by wiki2beamer. These
are: nowiki, code, autotemplate and frame. If wiki2beamer detects one of these it will do
some advanced parsing, which can even fail with a syntax error.

AUTOTEMPLATE
Autotemplate can be used at the beginning of a beamer .txt file. It will create the
required LaTeX headers to compile the content.

<[autotemplate]
opens the autotemplate environment

[autotemplate]>
close the autotemplate environment

key=value (inside [autotemplate])
insert a template command \keyvalue

key=value pairs are converted to \keyvalue in the output (except special keys) --
everything after = is just appended to \key.

<[autotemplate]
usepackage=[utf8]{inputenc}
[autotemplate]>

will be converted to \usepackage[utf8]{inputenc}.

There is a built-in set of options:

<[autotemplate]
documentclass={beamer}
usepackage={listings}
usepackage={wasysym}
usepackage={graphicx}
date={\today}
lstdefinestyle={basic}{....}
titleframe=True
[autotemplate]>

titleframe is a special key that tells wiki2beamer to create a title frame. To set the
title, subtitle and author of the presentation use the keys title, subtitle and author.
Overriding of the default options works on

· per-key level for: documentclass, titleframe

· per-package level for: usepackage

· no overriding for: everything else

CODE
Use code-environments to display animated code listings.

<[code]
open a code environment

<[code][param]
open a code environment passing parameters to the latex lstlisting environment.

[code]>
close the code environment

<[code][key=value,...]
...
[code]>

<[code] opens the environment, [code]> closes it, everything after <[code] is passed to
the LaTeX listings package as options for this listing. Inside the code environment, [
and ] must be escaped as $and$. Things between [ and ] are animations. There are two
kinds of animations:

· [<slidespec>some code] - show "some code" only on specified slides

· [[<slidespec>some code][<slidespec>some other code]] - show "some code" on the slides in
the first spec, show "some other code" on the slides in the second spec, fill up space
on slides without content with spaces

Slide-specs can be of the form:

· n - one single frame n

· n-m - sequence of frames n to m

· spec,spec,... - combine multiple specs into on (e.g. <1-3,5>)

NOWIKI
Nowiki-Environments completely escape from wiki2beamer replacements. <[nowiki] opens the
environment, [nowiki]> closes it.

FRAME
The LaTeX-frame environment is where the content of a slide goes. You can manually close
a frame-environment which was opened with ==== Frametitle ==== with [frame]>. Wiki2beamer
is then aware that the last frame is already closed and doesn't try to close it again.

TEXT FORMATTING
'''text'''
typeset text bold

''text''
typeset text italic

@text@ typeset text in typewriter type, to ignore an @, escape it as \@

!text! alert text, to ignore an !, escape it as \!

_ color _ text _
make text appear in color

COLUMNS
<[columns]
opens the column environment

[[[ width ]]]
creates a column of width, everything below goes into this column

[columns]>
closes the column environment

GRAPHICS
<<<pathtofile>>>
include image from pathtofile

<<<pathtofile,key=value>>>
include image from pathtofile passing key=value parameters to latex

FOOTNOTES
(((text)))
create a footnote containing text

LAYOUT
--length--
when found at start of line, with nothing afterwards, insert a \vspace{length}
(vertical space of length length)

--*length--
same as above, but insert a \vspace* (a forced vspace)

+<overlay>{content}
\uncover the content on the given overlay subframes. They will already take up the
space, they need to be displayed, so the geometry of the frame doesn't change when
the element pops up.

-<overlay>{content}
\only show the content on the given overlay subframes. They will not take up the
space they need to be displayed, so the geometry of the frame changes when the
element pops up.

SUBSTITUTIONS
--> becomes $\rightarrow$

==> becomes $\Rightarrow$

<-- becomes $\leftarrow$

<== becomes $\Leftarrow$

:-) becomes \smiley (requires package wasysym)

:-( becomes \frownie (requires package wasysym)

There are two variables, FRAMEHEADER and FRAMEFOOTER. The content of these will be
inserted at the beginning/end of all following slides.