\documentclass[11pt,a4paper]{article} \setlength{\parskip}{0.6ex} \setlength{\parindent}{0mm} \usepackage[latin1]{inputenc} \usepackage{textcomp} \usepackage[a4paper,hmargin=2.4cm,bottom=3.2cm]{geometry} \newcommand{\hoch}[1]{\raisebox{0.6ex}{#1}} \newcommand{\tief}[1]{\raisebox{-0.6ex}{#1}} \usepackage{url} \usepackage{framed} \usepackage{xcolor} \title{\textsf{elpres} --- electronic presentations \\ with (pdf)\LaTeX} \author{Volker Kiefel\thanks{volker dot kiefel at freenet dot de, http://vkiefel.de/elpres.html}} \date{v0.5\\[1.8ex] July 12, 2020} \begin{document} \maketitle \thispagestyle{empty} { \setlength{\parskip}{0ex} \tableofcontents } \section{Introduction} The \textsf{elpres} class can be used for presentations on a screen, a beamer or projector. It is derived from \LaTeX's \texttt{article} class and may be used with \LaTeX{}, pdf\LaTeX{} (and Lua\LaTeX ). The default ``virtual paper size'' of documents produced by this class: width=128mm, height=96mm corresponds to a 4:3 (width:height) aspect ratio. Other aspect ratios for widescreen monitors may be selected by class options. The \textsf{elpres} class requires that the \texttt{ifthen}, \texttt{fancyhdr}, \texttt{hyperref}, \texttt{graphicx}, \texttt{xcolor} and \texttt{geometry} packages are available on the system. Enhancements to \texttt{elpres} are easily made available by other packages, these include overlay support for incremental slides (package \texttt{overlays}) and slides with a background from a bitmap (\texttt{wallpaper}, \texttt{eso-pic} packages). \section{Installation} Copy \texttt{elpres.cls} into a directory, where your \LaTeX-system can find it and update the files database\footnote{e.\,g. by using the \texttt{mktexlsr} or \texttt{texhash} command (TeXlive)}. \section{Usage} \label{secUsage} The class is used with \begin{verbatim} \documentclass[options]{elpres} \end{verbatim} \textbf{\texttt{Elpres}-specific options}: for font selection \texttt{tmrfont} (Times Roman), \texttt{helvetfont} (Helvetica), \texttt{cmfont} (Computer Modern), \texttt{sansfont} (Sans Serif: default) and \texttt{nofonts} (no font selection, intended for use of \texttt{elpres} with Lua\LaTeX\ with is own font selection mechanisms) are used. Options for different screen aspect ratios: \texttt{4x3} (default), \texttt{16x9}, \texttt{16x10}. The option \texttt{navisymb} adds symbols for navigation to the presentation. Options of the \texttt{article} class are also available for \texttt{elpres} presentations, e.\,g. \texttt{10pt}, \texttt{11pt}, \texttt{12pt} for selection of font size. { \sloppy \textbf{\texttt{Elpres}-specific commands}: \verb+\distance+ vertically adjusts text on a slide. The \verb+\auvimm+\footnote{for \textbf{au}dio \textbf{vi}deo \textbf{m}edia} command inserts a link to an external audio or video file. Two commands: \verb+\fromlinktext+ and \verb+\totargettext+ can be used for internal links within a presentation. \textbf{\texttt{Elpres}-specific environments}: the environments \texttt{psli} and \texttt{rsli} define ``slides'' in \texttt{elpres}; \texttt{citemize}, \texttt{cenumerate} and \texttt{cdescription} provide vertically compressed lists. A simple example document: \begin{verbatim} \documentclass[12pt,pdftex,helvetfont,4x3]{elpres} \usepackage[latin1]{inputenc} \usepackage{color} \usepackage[document]{ragged2e} \RaggedRight \begin{document} \begin{titlepage} \centering \distance{1} { \Huge \bfseries \textcolor{blue}{Title of the presentation} \par } \vspace{1.3ex} \large Author\\[2ex]Institution \distance{2} \end{titlepage} \begin{psli}[Title of Page] The first page \begin{itemize} \item first line in an itemized list \item second line in an itemized list \end{itemize} \end{psli} \begin{rsli} The second page \end{rsli} \end{document} \end{verbatim} %% Here a minimalistic example \subsection{Essential elements of an \texttt{elpres} presentation} The \textbf{title page} can be created within the \texttt{titlepage} environment, the \verb+\maketitle+ command is not available. \textbf{Slides} may be created with the \texttt{psli}-environment\footnote{\texttt{psli}: \textbf{pl}ain \textbf{sl}ide}, you may add the title of the slide with the optional parameter. The contents of the slide are centered vertically. Another environment generating a \textbf{slide} is \texttt{rsli}\footnote{\texttt{rsli}: \textbf{ra}w \textbf{sl}ide}: slides are written without title, contents are not vertically centered. The \verb+\distance{number}+ command allows to introduce vertical space into slides constructed with the \texttt{rsli} and \texttt{titlepage} environments. You should use pairs of \verb+\distance{}+ commands with numbers indicating the relative height of empty space, see the titlepage in the example above. The use of footnotes on slides is often problematic, if they cannot be avoided, the \texttt{footmisc} package is recommended: the \texttt{perpage} option resets numbering for each new slide. For a presentation, the \texttt{symbol} option allows to use symbols instead of numbers. After inserting a new footnote, numbers or symbols are correctly inserted only after a second run of \LaTeX. \subsection{Alternatives to \TeX's justified paragraphs} By default, \LaTeX\ produces justified paragraphs with lines of equal length, this may often not be appropriate for the usually very short lines of text in presentations. The \LaTeX\ \verb+\raggedright+ command has its own deficiencies: by inhibiting hypenation in texts with rather short lines, the right margin will often look too ragged. A solution is to use the \verb+\RaggedRight+ command of the \texttt{ragged2e} package. \subsection{Vertically compressed lists} As the spaces between lines may be too great with the \texttt{itemize} environment, the \texttt{elpres} package provides a ``vertically compressed'' \texttt{citemize}-environment: \begin{verbatim} \begin{citemize} \item one \item two \end{citemize} \end{verbatim} Similarly, a \texttt{cenumerate} and a \texttt{cdescription} environment may be used. % neu Dezember 2017 Another solution for the customization of \texttt{itemize} environments is given by the \texttt{enumitem} package. Therefore \begin{verbatim} \usepackage{enumitem} \end{verbatim} should be added to the preamble, and a comma-sperated list of parameters parameters can be added in the format: \begin{verbatim} \begin{itemize}[parameter-list] ... \end{itemize} \end{verbatim} The ``vertically compressed'' list can then be obtained with \begin{verbatim} \begin{itemize}[nosep] \item one \item two \end{itemize} \end{verbatim} Similarly, the \texttt{enumitem} package is also able to modify the \texttt{enumerate} and description \texttt{environments}. \section{Enhancements to elpres} \label{secEnhancements} \subsection{Include graphics files} Graphics files/pictures can be included with the \texttt{includegraphics}-command of the \texttt{graphicx}-package. Please be aware that the dimensions of the pages are 128mm \texttimes{} 96mm and therefore included graphics are scaled appropriately. A safe way to generate a page with a picture could be (with \texttt{pict.png} as the name of the graphics file): \label{secUsageGraph} \begin{verbatim} \usepackage[pdftex]{graphicx} % (in preamble) ... \begin{rsli} \centering \distance{1} \includegraphics[width=0.9\textwidth,% height=0.9\textheight,% keepaspectratio=true]{pict.png} \distance{1} \end{rsli} \end{verbatim} The \verb+\includegraphics[]{}+ comannd requires to select the correct device driver related option (e.\,g. \texttt{pdftex} or \texttt{dvips}) (documentclass). \label{secInclGraphicsFiles} \subsection{Arrange text and pictures in two (or more) columns} \label{secTwoColumns} Text and graphics may be arranged in two or more columns with \texttt{minipage} environments: \begin{verbatim} \begin{minipage}[b][0.8\textheight][t]{0.5\textwidth} \colorbox{white}{% \includegraphics[width=0.9\textwidth]{graphics-file.png}} \end{minipage} \begin{minipage}[b][0.8\textheight][t]{0.48\textwidth} \footnotesize \begin{citemize} \item ... \item ... ... \end{citemize} \end{minipage} \end{verbatim} Details on the minipage environment may be found in the \LaTeX{} documentation. \subsection{Incremental slides (overlays)} \label{secOverlay} If the contents of slides are to be made visible step by step this can be achieved by a series of output PDF or (PS) files (carrying the same page number) usually called \emph{overlays}. It may also be of interest to change a highlighting color in a series of overlays. This is most easily done by using the \texttt{overlays} package written by Andreas Nolda together with \texttt{elpres}. To generate a series of four overlays sequentially showing four lines of a list: \begin{enumerate} \item load the \texttt{overlays} package in the preamble \item put a \texttt{psli} or \texttt{rsli} slide environment into an \texttt{overlays} (or \texttt{fragileoverlays}) environment \item enter the number of overlays as the first parameter to the \texttt{overlays} environment \item enter text contents with the \texttt{visible} command with the range of overlays showing this text content \end{enumerate} A simple example: \begin{verbatim} % to be added in preamble \usepackage{overlays} ... \begin{overlays}{4} \begin{psli}[Title of slide] \begin{itemize} \visible{1-4}{\item first item of list} \visible{2-4}{\item second list item} \visible{3-4}{\item 3rd list item} \visible{4}{\item final list item} \end{itemize} \end{psli} \end{overlays} ... \end{verbatim} The following example uses the \texttt{alert} command to highlight lines sequentially: \begin{verbatim} \begin{overlays}{4} \begin{psli}[Title of slide] \begin{itemize} \alert{1}{\item first item of list} \alert{2}{\item second list item} \alert{3}{\item 3rd list item} \alert{4}{\item final list item} \end{itemize} \end{psli} \end{overlays} \end{verbatim} The ``hidden'' text contents are written by \texttt{overlays} in the same color as the background, default is white. If you use a different background color, you have to change the color of the hidden text as well by assigning the background color to the color name \texttt{background} (understood by the \texttt{overlays} package). In the following example you define a light yellow as background: \begin{verbatim} % (in the preamble) \definecolor{myyellow}{rgb}{0.96,0.98,0.72} % define color \definecolor{background}{named}{myyellow} % color assigned to % hidden text \pagecolor{myyellow} % color of slide background \end{verbatim} For more details on \texttt{overlays}, see the documentation of the package. \subsection{Navigation symbols} \label{sec:NavigationSymbols} With the \texttt{navisymb} option a panel with navigation symbols (colored in light gray) appears in the right lower corner of the presentation:\\ { \setlength{\parindent}{2em} \indent \textbf{\texttt{$\ll$ $<$ $>$ $\gg$ $\leftarrow$ $\rightarrow$ [n]}} }\\ These commands ($\ll$: jump to the first page, $<$: go to the previous page, $>$: go to the next page, $\gg$: jump to the last page, $\leftarrow$: go back in history, $\rightarrow$: go forward in history, \texttt{[n]}: prompt for a page number) work with Adobe Acrobat Reader (Windows), and (with the exception of \texttt{$\leftarrow$}, \texttt{$\rightarrow$} and \verb+[n]+) with \texttt{evince} (Linux). Some of these functions also work in presentation-mode of the ``internal'' PDF-viewer in recent versions of the \texttt{Firefox}-browser (Linux, Windows). \subsection{Call multimedia content from a presentation} \label{sec:MultimediaContent} The command \verb+\auvimm{text}{media-file}+ inserts \texttt{text} with a link, which calls the default application for audio or video media files \texttt{media-file}. This seems to work with Adobe Acrobat Reader (Windows) and with \texttt{evince} (Linux). An example for using this command: \begin{verbatim} \auvimm{[sound-file]}{./audiofile.mp3} \end{verbatim} This produces the (text-based) ``button'' \texttt{[sound-file]}. If you hit it with the mouse pointer it will call the default application for audio files. This approach requires that you keep the presentation file together with the multimedia files in the same folder, \textbf{also at the time of the presentation}. On an unknown computer system (where you have to show your presentation) you should test this aspect of your presentation. Sometimes a call to an external program might be blocked due security reasons in Acrobat Reader. \begin{leftbar} This \texttt{elpres}-command should be considered experimental. Its behavior depends on the pdf-reader and the configuration of the OS. \end{leftbar} \subsection{Prepare a ``handout'' from a presentation} \label{secHandout} In advance of a lecture it is often expected that you prepare a ``handout'' from your presentation with more than one pages on a printed page. Therefore you have several options, two of them are described here. \subsubsection{\LaTeX\ article document with a series of single-page pdf-files included} One solution to this problem is (1) to generate a series of single-page pdf-files and (2) to create a pdf\LaTeX\ document with the single pages included. \textbf{(1)} can be done with \texttt{gs} (the Ghostscript program): \begin{verbatim} gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=page_%03d.pdf in.pdf \end{verbatim} with \texttt{in.pdf} as the initial presentation. The syntax of \texttt{gs} is described in detail on the ghostscript website\footnote{\url{https://www.ghostscript.com/doc/current/Use.htm}}. An alternative to \texttt{gs} is \texttt{pdftk} tool: \begin{verbatim} pdftk in.pdf burst output page_%02d.pdf \end{verbatim} The syntax of \texttt{pdftk} is explained in the documentation (\texttt{pdftk~--help}). \textbf{(2)} an example for a \LaTeX\ document which can serve as handout: \begin{verbatim} \documentclass[12pt]{article} \usepackage[pdftex]{graphicx} \usepackage[latin1]{inputenc} \usepackage[a4paper,hmargin=2.4cm,top=24mm,bottom=28mm]{geometry} \newcommand{\PictScaleFact}{0.45} \begin{document} \centering \fbox{\includegraphics[width=\PictScaleFact\textwidth]{page_001.pdf}} \hspace{5mm} \fbox{\includegraphics[width=\PictScaleFact\textwidth]{page_002.pdf}} \\[2ex] \fbox{\includegraphics[width=\PictScaleFact\textwidth]{page_003.pdf}} \hspace{5mm} % ... \fbox{\includegraphics[width=\PictScaleFact\textwidth]{page_008.pdf}} % ... \end{document} \end{verbatim} \subsubsection{Convert presentation pdf-file directly into handout file with \texttt{pdfjam}} With the following command: \begin{verbatim} pdfjam --nup 2x4 --frame true --scale 0.9 -o new.pdf in.pdf '1-4,6-22' \end{verbatim} \begin{sloppypar} \texttt{pdfjam}\footnote{which regerettably is only available on Linux or other Unix-like systems} creates a ``handout'' PDF document (\texttt{new.pdf}) fom \texttt{in.pdf} with the slides nr. 1-4,6-22 arranged in two columns and four rows. With the additional option ``\texttt{--frame~true}'', \texttt{pdfjam} draws a box around each slide. More details can be found in the \texttt{pdfjam} man page and the project website\footnote{https://github.com/DavidFirth/pdfjam/blob/master/README.md}. \end{sloppypar} \subsection{Create presentations with hypertext elements} \label{secHypertext} You may use two commands \verb+\fromlinktext{}{}+ and \verb+\totargettext{}{}+ for ``hypertext features''. As an example: as you normally will not insert \verb+\section{}+-like commands and therefore do not generate a ``table of contents''-like page or a menu in \texttt{elpres}-presentations, you are able define links with: \begin{verbatim} \totargettext{text}{link-label} \end{verbatim} % \hypertarget{target-name}{text} which can be addressed by \begin{verbatim} \fromlinktext{text}{link-label} \end{verbatim} % \hyperlink{target-name}{text} If you use these commands to generate a \textbf{menu page} (as a hyperlinked table of contents) with items pointing to specific slides: \texttt{link-label} acts as label, \texttt{text} in the \verb+\fromlinktext+ command is converted to a link (e.\,g. on a menu-page). If you click on this text ``button'', you jump to the \texttt{text} labelled with \verb+\totargettext+; \texttt{link-label} has to be identical in a \verb+\fromlinktext+ and \verb+\totargettext+ pair, \texttt{text} in the link and the target, of course need not to be identical. The default for the link border color is red, it may be changed with \verb+\hypersetup{}+, a command from the \texttt{hyperref} package\footnote{both, \texttt{\textbackslash totargettext} and \texttt{\textbackslash fromlinktext} are are redefinitions of commands from the \texttt{hyperref} package}. The option for the color of the frame around the link is \texttt{linkbordercolor}, colors must be defined whith three figures \texttt{[0..1]} according to the RGB color model: \begin{verbatim} \hypersetup{linkbordercolor={0.6 0.6 0.6}} \end{verbatim} This defines a light gray color for the link border, more details on \verb+\hypersetup{}+ are described in the documentation of the \texttt{hyperref} package. \subsection{Fill background of a presentation with bitmaps} \label{secBackgroundWallpaper} \subsubsection{\texttt{Wallpaper} package} To create a slide background with a graphical wallpaper background using bitmap files you may use the \texttt{wallpaper} package\footnote{written by Michael H.F. Wilkinson and available on CTAN}. Load the \texttt{wallpaper} package with \begin{verbatim} \usepackage{wallpaper} \end{verbatim} \begin{sloppypar} in the preamble. In order to generate a background based on bitmap file \texttt{background.png}, enter \end{sloppypar} \begin{verbatim} \CenterWallPaper{1}{background.png} \end{verbatim} before the contents of the presentation\footnote{i.\,e. following \texttt{\textbackslash begin\{document\}}}. This works best with bitmaps with an appropriate aspect ratio, in the case of an 4x3 screen format a bitmap picture of 640x480 pixel would fit perfectly. Moreover bitmap files may be used as tiles as described in the \texttt{wallpaper} documentation like \begin{verbatim} \TileSquareWallPaper{4}{background.png} \end{verbatim} More details on this topic may be found in the \texttt{wallpaper} documentation. \subsubsection{\texttt{Eso-pic} package} \label{secBackgroundEsopic} Another package which allows you to paint the background with a picture is \texttt{eso-pic}\footnote{written by Rolf Niepraschk and available on CTAN}: \begin{verbatim} \usepackage{eso-pic} ... \AddToShipoutPicture{ \includegraphics[height=\paperheight]{background.png} } \end{verbatim} \verb+\AddToShipoutPicture{}+ puts the picture on every page, \verb+\AddToShipoutPicture*{}+ puts it on to the current page, \verb+\ClearShipoutPicture+ clears the background beginning with the current page. Details of \texttt{eso-pic}'s commands can be found in the documentation. \section{License} This class is distributed under the \textsl{\LaTeX{} Project Public License} (LPPL) which may be downloaded from \url{http://www.latex-project.org/lppl.txt}. No warranty is provided for this work (as stated in the LPPL). \section{Version history} \textbf{v0.1} (19.6.2004): initial version. \textbf{v0.2} (1.9.2004): page numbers now changed to footnotesize, left and right margins slightly changed, `cenumerate' and `cdescription' environments added. \textbf{v0.2a} (19.9.2004): Section ``License'' added to the documentation. \textbf{v0.2b} (17.10.2004): Documentation completed: description of the \verb+\distance{}+ command included. \textbf{v0.2c} (28.11.2004): Documentation completed (section \ref{secHypertext} added). \textbf{v0.2d} (25.12.2004): Documentation completed (section \ref{secBackgroundWallpaper} added). \textbf{v0.2e} (15.04.2005): Documentation completed (sections \ref{secBackgroundEsopic} and \ref{secHandout} added). \textbf{v0.3} (12.08.2005): new (class) options for font selection: \texttt{tmrfont} (Times Roman), \texttt{helvetfont} (Helvetica), \texttt{cmfont} (Computer Modern), \texttt{sansfont} (Sans Serif: default). Documentation updated, sections \ref{secInclGraphicsFiles} and \ref{secTwoColumns} added. \textbf{v0.4} (20.01.2018): New class options for different screen aspect ratios \texttt{4x3}, \texttt{16x9}, \texttt{16x10}; ``compressed'' list environments modified; documentation completed: packages for use with \texttt{elpres}: \texttt{enumitem} (alternative list environments), \texttt{overlays} (overlay support: incremental slides); section \ref{secHandout} was completely rewritten. \textbf{v0.4a} (24.01.2018): Documentation completed. \textbf{v0.5} (12.07.2020): New class options: \texttt{nofonts} (no font selection) and \texttt{navisymb} (inserts a panel of symbols for navigation), new commands: \verb+auvimm+ (generates a link to external audio, video files), \verb+\fromlinktext+ and \verb+\totargettext+ (create links within a presentation). Documentation has been partly rewritten. \end{document} % vim:spell:fileencoding=latin1:lines=55: