summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/demo
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-05-07 03:01:09 +0000
committerNorbert Preining <norbert@preining.info>2020-05-07 03:01:09 +0000
commit56bd1f5b8377f54b4af39a114362a7762d27f13c (patch)
tree882c573288f2a3f158b490ea3de1672fca9e94a9 /macros/luatex/optex/demo
parent36d8a5cd45b5a96007208a0d5b1f52e708d0fec8 (diff)
CTAN sync 202005070301
Diffstat (limited to 'macros/luatex/optex/demo')
-rw-r--r--macros/luatex/optex/demo/op-demo.tex127
-rw-r--r--macros/luatex/optex/demo/op-letter.tex41
-rw-r--r--macros/luatex/optex/demo/op-ring.pngbin0 -> 512984 bytes
-rw-r--r--macros/luatex/optex/demo/op-slides.tex288
-rw-r--r--macros/luatex/optex/demo/slides-bg.pngbin0 -> 62385 bytes
5 files changed, 456 insertions, 0 deletions
diff --git a/macros/luatex/optex/demo/op-demo.tex b/macros/luatex/optex/demo/op-demo.tex
new file mode 100644
index 0000000000..ea1dd5b65d
--- /dev/null
+++ b/macros/luatex/optex/demo/op-demo.tex
@@ -0,0 +1,127 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\fontfam[LMfonts] % Default font family: Latin Modern
+
+\margins/1 a5 (1,1,1,1.4)cm % A5 paper + 1cm margins
+\typosize[9/10.5] % 9pt font / 10.5pt baselineskip
+\parindent=10pt % typesetting parameters
+\hyperlinks \Blue\Blue % active hyperlinks
+\activettchar` % in-text verbatim by `...`
+\everyintt={\Red} % in-text verbatim Red
+\enquotes % use \"text" for English quotation
+
+\tit Demonstration
+
+\nonum\notoc\sec Contents
+
+\maketoc % Table of Contents is auto-generated here
+
+\sec Lists
+
+The lists have to be surrounded by `\begitems`
+and `\enditems` sequences.
+
+\begitems
+* First item.
+* Second item.
+ \begitems \style i
+ * Nested item list,
+ * numbered by roman numerals.
+ \enditems
+* Last item.
+\enditems
+
+\secc Title of\nl Subsection
+
+The subsection text\dots
+
+\sec References
+
+There is a numbered equation.
+The number is auto-generated by `\eqmark` sequence.
+$$\label[my-eq]
+ a^2 + b^2 = c^2 \eqmark
+$$
+We can refer to Equation~\ref[my-eq]
+on page~\pgref[my-eq].
+We can refer to Table~\ref[my-tab] in
+Section~\ref[tab-sec] too. And Figure~\ref[my-pic]
+is on page~\pgref[my-pic].
+
+\sec Hyperlinks
+
+You can refer to \url{http://petr.olsak.net} using `\url`.
+Or use `\ulink` if the raw URL needs to be hidden:
+\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}.
+The parameter text is colorized and it becomes
+an active link if the `\hyperlinks` sequence
+is used at the beginning of the document.
+Internal links are activated too.
+
+\sec[tab-sec] Tables
+
+The `\table` sequence can be used
+instead of \"low level" `\halign`.
+The following table is framed by `\frame` sequence
+in order to get a double frame.
+
+\bigskip
+\caption/t [my-tab] Testing table.
+\cskip
+\centerline{%
+ \frame{\table{|r|c|l|}{\crl
+ \bf Title A & \bf Title B & \bf Title C \crll
+ first & second & third \cr
+ next & text & last \crl }}}
+
+\sec Images
+
+The images (PDF, JPG, PNG, TIFF) can be inserted
+by `\inspic` sequence. The `\caption`
+can be added if you need to refer to a figure.
+
+\label[my-pic]
+\centerline {\picwidth=2.7cm \inspic{op-ring.png}}
+\cskip
+\caption/f The nonempty ideal of a simple ring --
+ the ring itself.
+
+\sec Verbatim
+
+In-text verbatim is surrounded by the character declared
+by `\activettchar` sequence. The listing can be surrounded
+by `\begtt` and `\endtt` sequences
+\begtt
+This is verbatim.
+ All characters are printed $$, \, # etc.
+\endtt
+or it can be included by `\verbinput` from external file.
+
+\verbinput (98-100) op-demo.tex
+
+\sec Math
+
+The Math alphabets
+`\mit`, `\cal`, `\script`, `\frak`, `\bbchar`, `\bi`
+are provided. For example:
+$$
+ {\bi A} = \pmatrix {\cal C & \script C \cr
+ \frak M & \bbchar R }.
+$$
+Hundreds of AMS symbols are available:
+$\sphericalangle, \boxplus, \Cup, \Cap, \ldots$
+
+\sec Others
+
+The `\fontfam` command selects a desired family of fonts.
+The `\typosize` or `\typoscale` sequences set the size
+and baselineskip of used fonts (including math fonts).
+The `\fnote` generates a footnote\fnote{Like this} and
+`\mnote` generates a margin note.
+The `\margins` sets margins and paper dimensions.
+The `\cite` sequence can be used for bibliographic citations.
+The `\bib` sequence creates one bibliography record. Or
+you can use `\usebib` for direct access to the {\tt.bib} files.
+The list of features does not end here\dots
+
+\bye
diff --git a/macros/luatex/optex/demo/op-letter.tex b/macros/luatex/optex/demo/op-letter.tex
new file mode 100644
index 0000000000..1b5d722d3b
--- /dev/null
+++ b/macros/luatex/optex/demo/op-letter.tex
@@ -0,0 +1,41 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\letter % \letter OpTeX style activated
+\fontfam[bonum]
+\cslang
+
+\address
+ Vážený pan
+ Mgr. Bořek Byrokrat
+ ředitel Ústavu pro další možnosti
+ Úřední 789
+ 123 45 Praha 1
+
+\hfill V Praze dne \today
+
+\subject Žádost o možnost další možnosti
+
+Vážený pane řediteli,
+
+na základě Vašeho dopisu č.j.~123456/78-dat a elektronické výzvy si dovoluji
+Vás požádat o prozkoumání mé možnosti další možnosti.
+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.
+
+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.
+
+S úctou
+
+\hfill \address
+ {\it Petr Olšák}
+ specialista na \TeX/
+ Ulice 12345
+ Praha 13
+
+\bye
diff --git a/macros/luatex/optex/demo/op-ring.png b/macros/luatex/optex/demo/op-ring.png
new file mode 100644
index 0000000000..de7811df83
--- /dev/null
+++ b/macros/luatex/optex/demo/op-ring.png
Binary files differ
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 ----------------------------
+
diff --git a/macros/luatex/optex/demo/slides-bg.png b/macros/luatex/optex/demo/slides-bg.png
new file mode 100644
index 0000000000..4ac1ad8c38
--- /dev/null
+++ b/macros/luatex/optex/demo/slides-bg.png
Binary files differ