summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/optex/demo/op-slides.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/optex/demo/op-slides.tex')
-rw-r--r--Master/texmf-dist/tex/optex/demo/op-slides.tex322
1 files changed, 322 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/optex/demo/op-slides.tex b/Master/texmf-dist/tex/optex/demo/op-slides.tex
new file mode 100644
index 00000000000..50bcdaffa60
--- /dev/null
+++ b/Master/texmf-dist/tex/optex/demo/op-slides.tex
@@ -0,0 +1,322 @@
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
+
+\slides % OpTeX slides style activated
+
+\catcode`<=13 % special printing of <text>
+\def<#1>{\hbox{$\langle$\it#1\/$\rangle$}}
+\everyintt={\catcode`\<=13}
+
+\hyperlinks\Blue\Blue % hyperlinks are used in the title page
+\backgroundpic{op-slides-bg.png} % background picture
+
+\verbchar` % inline verbatim
+\enquotes % English quotes \"..."
+
+\slideshow %------------------------------------------------------------
+
+
+\tit \OpTeX/ slides
+
+\subtit Petr Olšák\nl petr@olsak.net
+
+\subtit\rm \url{http://petr.olsak.net/optex}
+
+\pg; %------------------------------------------------------------------
+
+\sec Basics
+
+* The the simple document looks like:
+
+\begtt
+\slides % style initialized
+%\wideformat % 16:9
+\slideshow % partially uncovering ideas
+
+\sec First slide
+text
+\pg;
+
+\sec Second slide
+text
+\pg.
+\endtt
+
+* If `\slideshow` is missing or commented out then
+ \"partially uncovering ideas" (see later) are deactivated. It is useful
+ for printing.
+* The `\slideshow` must be the last command in the declaration part of the
+ document.
+* By default, the slides have A5 landscape format.
+ You can declare `\wideformat`. Then the height is the same
+ but width is 263\,mm, i.\,e.~the ratio width:height is 16:9.
+
+\pg; %------------------------------------------------------------------
+
+\sec Title slide
+
+* Title of the document (used at the first slide) is created
+ by `\tit Title` (terminated by end of line).
+* The `\subtit Author name etc.`\ (terminated by end of line)
+ can be used after `\tit` at the first slide.
+* You can use `\nl` for a new line in paragraphs or titles.
+
+\sec Default design
+
+* The paragraph texts are ragged right.
+* Titles, subtitles, and section titles are centered.
+* The `\sec` and `\secc` are printed without numbers.
+* No paragraph indentation, a little vertical space between paragraphs.
+* The Heros font family (aka Helvetica) is initialized as default.\nl
+ Sans-serif FiraMath font for math typesetting is used.\nl
+ If `\fontfam[<famname>]` precedes `\slides` then it rewrites default.
+* The items in lists are started by a blue square (`\type X` and `\type x` ).
+
+\pg; %------------------------------------------------------------------
+
+\sec One slide (one page)
+
+* Top-level item list is activated by default. The asterisk `*` opens
+ new item at the top-level list.
+* Nested items lists (second and more level) should be created in
+ the `\begitems`\dots`\enditems` environments.
+* Each slide (page) must be terminated by `\pg;` command.
+* The last slide must be terminated by `\pg.` command or by `\bye`.
+
+\begtt
+\sec My ideas
+
+* First idea
+* Second idea
+ \begitems
+ * First sub-idea
+ * Second sub-idea
+ \enditems
+* Final idea
+\endtt
+
+* Note: each page is processed in a group, so: put your own definitions
+ (if~exist) before `\slideshow` or use `\global` assignment.
+
+\pg; %------------------------------------------------------------------
+
+\sec Partially uncovering ideas
+
+* The control sequence `\pg` must be followed by:\pg+
+\begitems
+* the character `;` -- normal next page,\pg+
+* the character `.` -- the end of the document,\pg+
+* the character `+` -- next page keeps the same text
+ and a next text is added (usable for partially uncovering of ideas).\pg+
+\enditems
+
+* Summary:
+\begtt
+\pg; ... next page
+\pg. ... the end of the document
+\pg+ ... uncover next text on the same page
+\endtt
+\pg+
+
+* When `\slideshow` is not declared then `\pg+` is deactivated.\pg+
+* The `\pg+` creates a new \"virtual page", so the current paragraph is
+ terminated.
+
+\pg; %------------------------------------------------------------------
+
+\sec Example with partially uncovering ideas
+
+The previous page was created by:
+
+\begtt
+\sec Partially uncovering ideas
+
+* The control sequence `\pg` must be followed by:\pg+
+
+\begitems
+* the character `.` -- normal next page,\pg+
+* the character `;` -- the end of the document,\pg+
+* the character `+` -- next ... \pg+
+\enditems
+
+* Summary
+...
+* When `\slideshow` is not declared
+ then `\pg+` is deactivated.\pg+
+* The `\pg+` creates a new \"virtual page",
+ so the current paragraph is terminated.
+\pg;
+\endtt
+
+\pg; %------------------------------------------------------------------
+
+\sec Notes to `\slideshow`
+
+* When `\slideshow` is active then you cannot reference sections by
+ hyperlinked `\ref`. Only `\pgref` works (and goes to the last layer
+ of the referenced page).
+* If the text overfull the page (slide) then it follows to the next page without
+ saying explicitly `\pg;`. But `\slideshow` cannot work in this case.\pg+
+* If `\slideshow` then each part of page between two `\pg`'s or between
+ `\slideshow` and the first `\pg` is processed in a local group.
+* If not `\slideshow` then the document is not separated to groups.
+ This can lead to different results. So, you can put `\slideopen` command
+ instead of `\slideshow`. Then local groups are opened exactly as when
+ `\slideshow` is used but `\slideshow` is not activated. Example:
+
+\begtt
+\slides
+\def\foo...{...} % global definitions.
+%\slideshow % printing version, no slide show.
+\slideopen % opens group for first page.
+... first page
+\pg; % closes group and opens group for second page.
+... second page
+\pg. % closes group of the last page.
+\endtt
+
+\pg; %------------------------------------------------------------------
+
+\sec More about design
+
+* You can use `\backgroundpic{<image-file>}` for putting an image to the background.
+* You can re-declare `\footline` or re-define internal macros for design as
+ you wish.
+* The TeXGyre Heros font is used as default text font, the FiraMath is used
+ for math.
+* If you want to use another text font fmaily, use `\fontfam`
+ {\em before} `\slides` command.
+* If you want to use different math font, use
+ `\loadmath{[font]}` before `\fontfam` (if used) and before `\slides`. For example:
+
+\begtt
+\loadmath{[Asana-Math]} % Math font: Asana
+\fontfam[Termes] % Text font: Termes
+\slides
+...
+\endtt
+
+* You can put the images or text wherever using `\putimege` or `\puttext`
+ macros...
+
+\pg; %------------------------------------------------------------------
+
+\sec Putting images and texts wherever
+
+* `\puttext <right> <up> {<text>}` puts a <text> to the desired place:
+ It moves the current point <right> and <up>, puts the <text> and returns
+ back, so the typesetting continues from previous position. The parameters
+ <right> and <up> are dimensions. For example
+
+\begtt
+\puttext 0mm 50mm {\Red HELLO}
+\endtt
+
+ \puttext 0mm 50mm {\Red HELLO}
+ prints red HELLO, as shown here.\pg+
+
+* `\putpic <right> <up> <width> <height> {<image-file>}`
+ puts the image with desired <width> and <height> at the position like
+ `\puttext` puts the text.
+
+ \putpic .8\hsize 20mm 30mm \nospec {op-ring.png}
+* The ring above is the result of
+
+\begtt
+\putpic .8\hsize 20mm 30mm \nospec {op-ring.png}
+\endtt
+ %
+ used at beginning of this paragraph.\pg+
+* Use `\nospec` for <width> or <height> of the image if you don't want to specify both
+ dimensions (because you don't want to change the image aspect ratio).
+
+\pg; %------------------------------------------------------------------
+
+\sec Limits of the \code{\\pg+} sequence
+
+* The \code{\\pg+} sequence (partially uncovering ideas) cannot be used inside
+ a~group.
+* The exception is the nested environment `\begitems...\enditems`.
+* The `\pg+` always finalizes the current paragraph.
+ It is impossible to hide only a part of the horizontal mode.\pg+
+
+\sec The \code{\\layers}\,...\code{\\endlayers} environment
+
+If you really need something unsupported by `\pg+` then you can use
+
+\begtt \catcode`\<=13
+\layers <number>
+<layered text>
+\endlayers
+\endtt
+
+* The <layered text> should include conditions like
+ `\ifnum\layernum...` or `\ifcase\layernum`.
+ It is printed <number> times to more slide pages (layers) with the same
+ surrounding text. See next page...
+
+\pg; %------------------------------------------------------------------
+
+\sec Example of \code{\\layers} environment
+
+The `\slides` style provides a shortcut `\use` and a macro `\pshow` (means
+partially show):
+
+\begtt
+\def\use#1#2{\ifnum\layernum#1\relax#2\fi}
+\def\pshow#1{\use{=#1}\Red \use{<#1}\Transparent \ignorespaces}
+\endtt
+`\use{=3}{do something}` does something only if `\layernum=3`.
+
+The `{\pshow<num> <text>}` prints <text> in Red when current layer is equal
+to <num> or it prints <text> normally when current layers is greater than <num>.
+The transparent (invisible) text is used in other cases.
+
+The following dance:
+\layers 3
+{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
+\endlayers
+\pg+
+
+was generated by
+
+\begtt
+\layers 3
+{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
+\endlayers
+\endtt
+
+\pg+
+* The <layered text> is treated as a macro parameter. So, you cannot use verbatim
+ nor `\sec` titles here. Maximal one `\layers` environment can be per one
+ page (terminated by `\pg+` or `\pg;` or `\pg.`
+
+\pg; %------------------------------------------------------------------
+
+\sec Comparison \OpTeX/ slides with Beamer\fnote{\url{http://www.ctan.org/pkg/beamer}}
+
+The \LaTeX{} package {\bf\Blue Beamer} gives much more features and many themes
+are prepared for Beamer, {\bf\Red but}
+\pg+
+* the user of Beamer is forced to {\em program} his/her document using
+ dozens of \code{\\begin{foo}} and \code{\\end{foo}} and many another
+ programming constructions,\pg+
+* plain \TeX{} gives you a possibility to simply
+ {\em write} your document with minimal markup. The result is more compact.
+ You can concentrate on the contents of your document, not on the
+ programming syntax.\pg+
+* User needs to read 250 pages of doc for understanding Beamer,\pg+
+* on the other hand, you need to read only eleven
+ slides\fnote{this twelfth slide isn't counted}
+ and you are ready to use {\bf\Blue\OpTeX/ slides}.
+
+\pg; %------------------------------------------------------------------
+
+\null
+\vskip2cm
+\centerline{\typosize[35/40]\bf Thanks for your attention}\pg+
+
+\vskip2cm
+\centerline{\Blue\typosize[60/70]\bf Questions?}
+
+\pg. %----------------------------- THE END ----------------------------
+