From 56bd1f5b8377f54b4af39a114362a7762d27f13c Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Thu, 7 May 2020 03:01:09 +0000
Subject: CTAN sync 202005070301

---
 macros/luatex/optex/demo/op-slides.tex | 288 +++++++++++++++++++++++++++++++++
 1 file changed, 288 insertions(+)
 create mode 100644 macros/luatex/optex/demo/op-slides.tex

(limited to 'macros/luatex/optex/demo/op-slides.tex')

diff --git a/macros/luatex/optex/demo/op-slides.tex b/macros/luatex/optex/demo/op-slides.tex
new file mode 100644
index 0000000000..f6213cc63d
--- /dev/null
+++ b/macros/luatex/optex/demo/op-slides.tex
@@ -0,0 +1,288 @@
+%% This is part of 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{slides-bg.png} % background picture
+
+\activettchar`                % 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 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.
+* Paragraph indentation is zero. There is 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.
+* The items in lists are started by 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 at 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
+
+* 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 such case.\pg+
+
+\sec More about design
+
+* You can use `\backgroundpic{<image-file>}` for putting an image to the backgroud.
+* You can re-declare `\footline` or re-define internal macros for design as 
+  you wish.
+* 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 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
+
+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 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 to the contents of your document, not to 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 ten 
+  slides\fnote{this eleventh 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 ----------------------------
+
-- 
cgit v1.2.3

