Changes

Jump to navigation Jump to search
8,261 bytes added ,  09:04, 2 January 2019
< [[Main Page]] | [[Presentation Styles]] | \[[SlideWithSteps]] >
This section of the wiki wants to get you started with presentations in
ConTeXt. There's lots of amazing stuff in the distribution already, such as
truly amazing [[Presentation Styles|prebuilt styles ]] for presentations which you can simply use bytyping, e.g.
<texcode>
with the help of a digital projector, but many elements will be applicable to
interactive screen presentations as well.
 
Many information are included in this [http://www.tug.org/pracjourn/2006-2/schmitz/schmitz.pdf article] by Thomas.
== Your First Presentation ==
{{todo|write something about them}}
 
Here is a small example showing how to include hyperlinks:
 
<texcode>
\setupcolors[state=start]
\setupinteraction[state=start,color=middlered]
\useURL [garden][http://contextgarden.net]
\starttext
The \from[garden] site is useful.
\stoptext
</texcode>
 
It looks like this (in a PDF viewer the red link is clickable and should call up a browser on the link when you click it):
 
<context>
\setupcolors[state=start]
\setupinteraction[state=start,color=middlered]
\useURL [garden][http://contextgarden.net]
\starttext
The \from[garden] site is useful.
\stoptext
</context>
 
If you want an alternative text to show up in the clickable area, use the fourth argument to \useURL, like this:
<texcode>
\setupcolors[state=start]
\setupinteraction[state=start,color=middlered]
\useURL [garden][http://contextgarden.net][][Context garden]
\starttext
The \from[garden] is useful.
\stoptext
</texcode>
 
It looks like this:
 
<context>
\setupcolors[state=start]
\setupinteraction[state=start,color=middlered]
\useURL [garden][http://contextgarden.net][][Context garden]
\starttext
The \from[garden] is useful.
\stoptext
</context>
 
The same technique can be used to add navigation buttons. [[Symbols/nav]] provides the symbol.
 
<texcode>
\def\fp{\goto{\symbol[firstpage]}[page(1)]}
\setupheadertexts[\fp]
</texcode>
 
We can also add the button to the footer with [[Command/setupfootertexts]].
 
<context>
\setupcolors[state=start]
\setupinteraction[state=start]
\def\fp{\goto{\symbol[firstpage]}[page(1)]}
\setupheadertexts[\fp]
\starttext
Lorem ipsum dolor sit amet.
\stoptext
</context>
=== Including Graphics ===
</texcode>
 
== Refining the Presentation ==
 
 
OK, this is not too impressive yet. The first thing you will want to do is
adapt the font size. With a paper size of S6, I find a font size of 20pt about
right:
 
<texcode>
\switchtobodyfont[modern,20pt]
</texcode>
 
This looks better.
 
=== Colors ===
 
Next up: colors. Now I'm aware that the use of colors is an immensely personal
choice -- I've seen people present their slides with a dark gray font on a
light gray background, and they seemed very proud of their design. Others use
psychedelic colors that can induce serious sickness. So let's go for a rather
conservative combination of colors. Something I find very readable even in
rooms where the lighting is a bit problematic is a white typeface on a blue
background. So let's add this. Our document will now look like this:
 
<texcode>
\setuppapersize[S6][S6]
\setuppagenumbering[state=stop]
\switchtobodyfont[modern,20pt]
\setupcolors[state=start]
\setupbackgrounds[page][background=color,backgroundcolor=darkblue]
\startcolor[white]
 
\starttext
 
Here's my first presentation in \CONTEXT!
 
Isn't it amazing?
 
\stoptext
</texcode>
 
This will give you something to start from. You can now go and build a
presentation with this design: make every slide a new page, use all the ConTeXt
features (such as lists, itemize, tables, math, chemical formulae, etc.) you
want.
 
=== Adding fancier effects ===
 
Now when you look at your slides, you will certainly feel that there's room for
improvement. There's only a few things I can mention here; for the rest, have a
look at the predefined styles to get some ideas.
 
First, the background. Something I find very attractive is a background that
has different shades, beginning in a very dark blue at the top and ending in a
noticeably lighter blue at the bottom. Metafun can easily produce such shaded
backgrounds:
 
<texcode>
\definecolor[a][r=0,g=0,b=1]
\definecolor[b][r=0,g=0,b=0.05]
 
\startuniqueMPgraphic{LinearShade}
path p ;
p := unitsquare xscaled \overlaywidth yscaled \overlayheight ;
linear_shade(p,6,\MPcolor{a},\MPcolor{b}) ;
\stopuniqueMPgraphic
 
\defineoverlay[shaded][\useMPgraphic{LinearShade}]
 
\setupbackgrounds[page][background={shaded}]
</texcode>
 
What we have done: defined two colors; a is a very light, b a very dark blue.
We let metafun calculate an interpolation between both colors. Try other values
for the colors and be amazed! You can also try to set "p,6" to other values
such as "p,0" or "p,4."
 
=== Adding a Footer ===
 
Next, the bottom of our slides. If the audience is apt to forget your name, the
title of your talk, and the date, you could include this vital information in
the footer of the page.
 
<texcode>
\setupfootertexts[{\color[white]{\tfxx \midaligned{\rlap{\currentdate} \hfill TITLE HERE\hfill \llap{YOUR NAME HERE}}}}]
</texcode>
Don't forget to put
<texcode>
\setupfooter[state=start]
</texcode>
into your document where you want the footer to appear first (probably not on
the title of your presentation...).
 
=== Adding a Progress Meter ===
 
If your audience is able to remember these details, but you suspect they may
be yearning for the end of your presentation, you may want to include a
"progress meter" that highlights how many slides they have seen and how many
more they will have to stand. Put this in your preamble:
 
<texcode>
\definecolor [InteractionColor] [s=.2]
\definecolor [ContrastColor] [s=.5]
 
\setupinteraction
[page=yes,
color=InteractionColor,
contrastcolor=ContrastColor,
menu=on,
state=start]
 
\setupsubpagenumber
[way=bytext,
state=start]
 
\setuplayout[bottomspace=.8cm,
bottom=12pt]
 
\startinteractionmenu[bottom]
 
{\interactionbar[alternative=f,width=\makeupwidth,height=1ex]}
\stopinteractionmenu
</texcode>
Again, don't forget to put
<texcode>
\setupinteractionmenu[state=start]
</texcode>
into your text.
 
Finally, a few things about the placement of pictures. This can be done with
the {{cmd|framed}} command. You probably have to try and adjust
different parameters to get exactly what you need, but here's something that
worked for me:
 
=== Adding Pictures ===
 
In the case of wide pictures, it's fairly easy. You will want them midaligned,
and you'll want them to fill as much space of the area between your title and
the footer as possible:
<texcode>
\midaligned{\externalfigure[NAME][height=.75\textheight]} %Adjust!
\vfill
</texcode>
 
I found it more difficult to have longish narrow pictures: in that case, I
don't want a title above the picture, but I want it to fill all the vertical
space between the top margin and the footer. I want the text accompanying the
picture opposite it, centered horizontally and vertically. This can be done
with a {{cmd|startcombination}}:
<texcode>
\setupcombinations[distance=0pt]
 
\setupframed[frame=off,height=.9\textheight,width=.5\textwidth,top=\vss,bottom=\vss,align=middle]
 
\startcombination
\framed{\externalfigure[NAME][width=.5\textwidth]}{} %watch the pair of empty braces,
\framed{YOUR TEXT GOES HERE}{} % it's essential
\stopcombination
</texcode>
 
 
== Post Processing Presentation ==
 
Sometimes one wants to give a handout of the presentation, with multiple slides on one page. It is easy to do this using <cmd>combinepages</cmd> or <code>texexec --pdfcombine</code>
 
To use <cmd>combinepages</cmd>, suppose that your presentation is <code>slides.tex</code>. Create a file <code>handout.tex</code> with the following content
 
<texcode>
\setuppapersize
[A4][A4] % or [A4,landscape][A4,landscape]
 
\setuplayout
[header=0pt,footer=1cm,
backspace=1cm,topspace=1cm,
width=middle,height=middle]
 
\setupfootertexts
[presentation---\currentdate\space---\space\pagenumber]
 
\starttext
\combinepages[slides][nx=2,ny=3,frame=on]
\stoptext
</texcode>
This will give you 2*3 slides on A4 paper.
== Additional modules ==
* The [[RawSteps]] module enables you to build a presentation step-by-step without the usage of JavaScript
* The simple slides module [http://github.com/adityam/simple-slides/tree/master simple-slides] serves too.
== Examples of presentations ==
See also [[Sample documents]]
If you're interested in presentations, your first stop should be the [http://www.pragma-ade.com/ pragma website]. You can download pdfs with the documented source-code of 18 presentation modules at http://www.pragma-ade.com/dir/general/sources/. To get a first impression of the visual appearance that the prebuilt styles offer, have a look at http://www.pragma-ade.com/show-pre.pdf (big document, ~ 3 MB!). {{Todotodo|collect some + some extremely simple}}
* '''Introduction to ConTeXt''' (in French) by Denis Roegel at Gutenberg meeting in 2002 [http://www.gutenberg.eu.org/manifestations/92-supports-29mai2002.html] ([http://www.loria.fr/~roegel/TeX/context-gut2002.tex tex], [http://www.loria.fr/~roegel/TeX/context-gut2002.pdf pdf]) <i>(please add a link to the page from where these two documents are linked to if you find it)<. * [https://github.com/adityam/i>context-slides-example Slides example] by Aditya Mahajan
== Some Ideas ==
* pdf file '''one pdf page''' for each final step by page
** Good format for printing 2up or 4up slides
** This third output would also allow to print a ''"slide + comment"'' version of the presentation for the speackerspeaker.
The option of texexec could be something like
Here are some simple macros almost fully satisfying the idea above with [[SlideWithSteps]], shared with the others by Otared Kavian:
[[http://archive.contextgarden.net/message/20041103.083500.43ac3121.html]]. David Munger also derived an alternative [[http://archive.contextgarden.net/message/20041106.080646.2544e4f3.html]] from Otared Kavian's work.Bateni has ported that work to MkiV [[https://github.com/bateni/rawsteps-mkiv]] [[Category:ConTeXt-Issues]]
3

edits

Navigation menu