\documentclass[a4paper]{article} \usepackage{xspace,colortbl} \usepackage[print,panelright,code,paneltoc,sectionbreak]{pdfscreen} \begin{screen} \margins{.65in}{.65in}{.65in}{.65in} \screensize{6.25in}{8in} \changeoverlay \paneloverlay{but.pdf} \overlay{logo.pdf} \def\pfill{\vskip6pt} \end{screen} \renewcommand\floatpagefraction{1} \renewcommand\textfraction{0} \def\pdfscreen{\texttt{\small\color{section1}pdfscreen}\xspace} \begin{print} \notesname{Notes:} \makeatletter \def\@seccntformat#1{\llap{\scshape\color{section\thesection@level} \csname the#1\endcsname.\hspace*{6pt}}} \makeatother \end{print} \begin{document} \begin{screen} \title{\color{section0}\Huge Manual} \end{screen} \begin{print} \title{\Huge\texttt{pdfscreen.sty} --- Manual} \end{print} \author{\color{section1}\Large C.~V.~Radhakrishnan\\ {\small\href{mailto:cvr@river-valley.com} {\color{section1}\texttt{cvr@river-valley.com}}}} \maketitle \begin{screen} \vfill \end{screen} \begin{abstract} \noindent \pdfscreen package helps to redesign the pdf output of your normal documents fit to be read in a computer monitor while retaining the freedom to format it for conventional printing. This has been brought about by redefining the margins and page height/\allowbreak width and related dimensions to fit into that of the computer screen. By changing the options to \verb+print+ you can switch the package to format the document in the conventional way as your class file dictates. \end{abstract} \begin{print} \tableofcontents \end{print} \begin{screen} \vfill \end{screen} \section{Setup}\label{setup} An elaborate manual is not needed for using \pdfscreen, since it is nothing but an extension of the \verb+hyperref.sty+ of \href{mailto:sebastian.rahtz@oucs.ac.uk}{Sebastian Rahtz}. The primary aim of the package is to change the dimensions of the width and height of the page so as to provide an ideal dimension that is fit for screen viewing rather than printing. As such, all those dimensions that control the page shape are redefined to result the desired screen size. The preamble portion requires the package loading command as given below: \begin{decl} |\usepackage|\Oarg{screen,panelleft}\Arg{pdfscreen} \end{decl} There is no need to specify the \verb+\usepackage{hyperref}+ with its options, since \verb+hyperref+ is loaded by the \pdfscreen. Unlike previous verions you can load |hyperref.sty| prior to \pdfscreen with necessary options if you like, if so \pdfscreen will not reload |hyperref|. The default backend driver for \pdfscreen is |pdftex|. However, you can specify your backend driver as an option. It will be nicer if \pdfscreen is loaded as the last package in the preamble so as to avoid further redefinition of commands that are used by \pdfscreen. \subsection{Options}\label{options} The following options are available: \begin{enumerate} \item \verb+screen+ -- generates the screen version \item \verb+print+ -- generates the print that looks like your \verb+dvi+ \item \verb+panelleft+ -- navigation panel in the left side \item \verb+panelright+ -- navigation panel in the right side \item \verb+nopanel+ -- suppresses the panel \item \verb+paneltoc+ -- table of contents in the panel. With this option invoked, please do not use |\tableofcontents| command in the document and |paneltoc| stops as soon as |\tableofcontents| command is encountered. \item |sectionbreak| -- will introduce pagebreak before a section. \item |code| -- provides commands that can be used to list |verbatim| like listing of program code as found in the \LaTeX{} documentation. \begin{verbatim} \begin{decl}\\ |\usepackage|\oarg{options}\arg{package}\\ |\screensize|\Arg{6.25in}\Arg{8in} \end{decl} \end{verbatim} \begin{decl} |\usepackage|\oarg{options}\arg{package}\\ |\screensize|\Arg{6.25in}\Arg{8in} \end{decl} \item \textbf{Backend drivers}: |dvips|, |dvipsone|, \dots, |vtex| can be specified as an optional backend driver. |pdftex| is the default. \item \textbf{Color schemes}: There are six color schemes -- bluelace, blue, gray, orange, palegreen and chocolate -- available for panel and buttons that you can give as an option to the package. Default is blue. \item \textbf{Foreign language support}: Not all the foreign languages are supported. Only 15 European languages are supported at the moment. However, all the language names as you give in the \verb+babel+ package can be given here as an option. If the language is not supported, the package will default to English. I may request users to send me the translation of the button text in the navigation panel in your language, if it is not supported. \item \verb+nocfg+ -- an option to suppress the configuration file (see \autoref{cfg}), if you don't want to use its specifications. \end{enumerate} \subsection{Other parameters to be passed}\label{parameters} Few more parameters are to be passed on to the \pdfscreen to make it more functional. They are: \begin{decl}\verb+\emblema+\arg{graphic file name}\end{decl} the name of the graphic file that appears on the navigation panel. \begin{decl}\verb+\urlid+\arg{URL name}\end{decl} The |home page| button in the navigation panel will be linked to the \textsc{url}. \begin{decl}\verb+\screensize+\arg{height}\arg{width}\end{decl} This command will facilitate to specify the screen dimensions of the pdf output. No default screen dimensions are available, and therefore the user has to specify it explicitly. There are no restrictions on the screen dimensions. Unlike previous versions, the user is free to choose any dimension. The default width of the panel is 15\% of the width of the screen. \begin{decl} |\margins|\arg{left}\arg{right}\arg{top}\arg{bottom} \end{decl} This command will set the margins of the document. There are no default values for margins and you will have to specify it explicitly in the document preamble. With |\margins| and |\screensize| explicitly given in the document preamble, \pdfscreen now obeys whatever screen size and margins the user has specified. This change is brought consequent to the bug report of \href{dpstory@uakron.edu}{D.~P.~Story}. \subsection{Typical preamble} A typical document preamble is given below (with which this document is formatted): \begin{decl} |\documentclass[a4paper,11pt]{article}|\\ |\usepackage{xspace,colortbl}|\\ | |\\ |\usepackage|\Oarg{screen,panelleft,gray,paneltoc}\Arg{pdfscreen}\\ |\margins|\Arg{.75in}\Arg{.75in}\Arg{.75in}\Arg{.75in}\\ |\screensize|\Arg{6.25in}\Arg{8in}\\ |\overlay|\Arg{lightsteelblue.pdf}\\ | |\\ |\begin{document}| \end{decl} \subsection{Packages needed to run \pdfscreen} The following packages are needed for smooth compilation (grab the latest from \textsc{ctan}: \begin{enumerate} \item |hyperref.sty| \item |comment.sty| \item |truncate.sty| \item |graphicx.sty| \item |color.sty| \item |colortbl.sty| \item |calc.sty| \item |amssymb.sty| \item |amsbsy.sty| \item |shortvrb.sty| \item |fancybox.sty| \end{enumerate} \section{Navigation Panel} The design of the navigation panel is left entirely to the imagination of the user. One can create a panel as per his taste. A newer command, \verb+\panel+ has been added and a default panel is also supplied, which is nothing but a box with navigation buttons vertically arranged. There is also a command: \begin{decl} |\addButton|\arg{length}\arg{button text string} \end{decl} which you can use to generate buttons of your choice. Here is an example of how to produce a Next Page button: \begin{decl} |\Acrobatmenu{NextPage}{\addButton|\Arg{1.25in}\Arg{Next Page}|}| \end{decl} This will generate the following navigation button \begin{center} \Acrobatmenu{NextPage}{\addButton{1.25in}{Next Page}} \end{center} and clicking this will take you to the next page. In the same way, you can build buttons with images too, for which the command, \begin{decl} |\imageButton|\arg{width}\arg{height}\arg{graphic file name} \end{decl} will be useful. \begin{center} \href{http://www.tug.org}{\imageButton{.75in}{!}{tex}} \end{center} The \textsc{tug} image button is generated by: \begin{verbatim} \href{http://www.tug.org}{\imageButton{.5in}{!}{tex.png}} \end{verbatim} Clicking this button will take you to \url{http://www.tug.org}, the \TeX{} Users Group web site. The navigation panel can be positioned at user's will either to the left side or right side. To see different types of output click the buttons in \autoref{fig2}. \begin{figure}\footnotesize\fboxsep 10pt \colorbox{panelbackground}{% \begin{minipage}{\linewidth-20pt} \color{orange} \begin{flushleft} \def\pba#1{\begin{minipage}[c][18pt][c]{75pt}#1\end{minipage}} \def\pbb#1{$\Rightarrow$\fboxsep3pt\colorbox{white} {\begin{minipage}[c]{\linewidth-100pt} \footnotesize\color{section1}#1 \end{minipage}}} \definecolor{buttonbackground}{rgb}{.902,.902,.980} \definecolor{buttonshadow}{rgb}{.412,.412,.412} \pba{\href{left.pdf}{\addButton{1in}{Left Panel}}} \pbb{{\tt\string\usepackage}\Oarg{screen,panelleft}\Arg{pdfscreen}}\\[2pt] \pba{\href{right.pdf}{\addButton{1in}{Right Panel}}} \pbb{{\tt\string\usepackage}\Oarg{screen,panelright}\Arg{pdfscreen}}\\[2pt] \pba{\href{nopanel.pdf}{\addButton{1in}{No Panel}}} \pbb{{\tt\string\usepackage}\Oarg{screen,nopanel}\Arg{pdfscreen}}\\[2pt] \pba{\href{portrait.pdf}{\addButton{1in}{Portrait}}} \pbb{Change screen size with the command:\hfill\break {\tt\string\screensize}\arg{height}\arg{width}}\\[2pt] \pba{\href{square.pdf}{\addButton{1in}{Square}}} \pbb{Change screen size with the command:\hfill\break {\tt\string\screensize\arg{height}\arg{width}} command}\\[2pt] \pba{\href{widepanel.pdf}{\addButton{1in}{Wide Panel}}} \pbb{{\tt\string\panelwidth}=\textcolor{red}{\it\textless dimension\textgreater}}\\[2pt] \pba{\href{print.pdf}{\addButton{1in}{Print version}}} \pbb{{\tt\string\usepackage}\Oarg{print}\Arg{pdfscreen}} \end{flushleft} \end{minipage}} \caption{Different types of panel positioning\label{fig2}} \end{figure} Width of the panel can be changed by explicitly giving in the preamble of the document like \verb+\panelwidth=+. The default is 15\% of the screen width, however, there is a minimum value of 1in in case 15\% of the screen width goes below 1in. You can define your own panel which is nothing but a vertical box with whatever stuff you want to fit into. The navigation panel of this document is made up of the following code: \begin{verbatim} \panelwidth=1.3in \def\panel{\colorbox{panelbackground} {\begin{minipage}[t][\paperheight][b]{\panelwidth} \centering\null\vspace*{12pt} \includegraphics[width=.75in]{univ}\par\vfill \href{\@urlid}{\addButton{.85in}{\@Panelhomepagename}}\par\vfill \Acrobatmenu{FirstPage}{\addButton{.85in} {\FBlack\@Paneltitlepagename}}\par\vfill \Acrobatmenu{FirstPage}{\addButton{.2in} {\FBlack\scalebox{.8}[1.4]{\btl\btl}}}\hspace{-3pt} \Acrobatmenu{PrevPage}{\addButton{.2in} {\FBlack\scalebox{.8}[1.4]{\btl}}}\hspace{-3pt} \Acrobatmenu{NextPage}{\addButton{.2in} {\LBlack\scalebox{.8}[1.4]{\rtl}}}\hspace{-3pt} \Acrobatmenu{LastPage}{\addButton{.2in} {\LBlack\scalebox{.8}[1.4]{\rtl\rtl}}}\par\vfill \Acrobatmenu{GoBack}{\addButton{.85in} {\@Panelgobackname}}\par\vfill \Acrobatmenu{FullScreen}{\addButton{.85in}{Full Screen}}\par\vfill \Acrobatmenu{Close}{\addButton{.85in}{\@Panelclosename}}\par\vfill \Acrobatmenu{Quit}{\addButton{.85in}{\@Panelquitname}}\par \null\vspace*{12pt} \end{minipage}}} \end{verbatim} \section{Other facilities} \subsection{Background} The background of the screen area can be overlayed with a graphic file with the command |\overlay|\arg{graphic file name}. Alternatively, you can specify a background color by saying |\backgroundcolor|\arg{color} where \verb+color+ is a predefined color with the commands provided by the \verb+color.sty+. The background of the panel can also be provided by a graphic file with the command |\paneloverlay|\arg{graphic file}. If you do not specify an overlay graphic for the panel, the panelbackground color will take effect. You can redefine the panelbackground color to your choice, if you find the default color distasteful, or else you can specify the same in the \verb+pdfscreen.cfg+ file. |\overlayempty| and |\paneloverlayempty| commands help you to suppress the overlays at any stage. A new command |\changeoverlay| has been introduced and a series of small pdf files, each with less than 2 KB file size are offered, so that you can have different overlays with the change of each section unit and it will reset on every tenth section. You can create your own overlays and modify the |\change| command with your overlay files. \subsection{Bottom buttons} Bottom footer menu can be invoked with |\bottombuttons| and can be closed with |\nobottombuttons|. So also in the academic interest, |\topbuttons| and |\notopbuttons| are also available. You can have both the buttons in the same page, though it is bizarre looking. \subsection{Table of contents in the panel} The package option \verb+paneltoc+ will allow you to have the table of contents in the navigation panel. In an article, only section headings are shown in the panel toc. Users are requested to use this option with caution, since it is prone to blow up the list and verbatim environments spanning multiple pages. However, a manual intervention with a \verb+\clearpage+ command at the appropriate location can ease you to a certain extent. \subsection{Configuration file}\label{cfg} You can keep a configuration file called \verb+pdfscreen.cfg+ in which you can provide your own translation of button text if your language is unsupported by the package, newer color schemes if you dislike the schemes offered, your \textsc{url} id, affiliation and division names, date argument, graphic file name of your logo/\allowbreak emblem. I would suggest to use a configuration file, in which you can give all your site specific requirements, that has another advantage of eliminating the clustered look at the preamble of the document. A typical configuration file is supplied with the package. \section{Slides} A slide environment is available which can be entered as \begin{verbatim} \begin{slide} . . . slide material . . . \end{slide} \end{verbatim} This is a box spanning the width and height of the text area, within which the material will be vertically centered. \subsection{Fonts} All the font attributes have been redefined to make them larger than the usual size inside the slide environment. However, if you want to revert to the original size, you will have to add the word \verb+real+ before the font size command, i.e., for \verb+\normalsize+, use \verb+\realnormalsize+; for \verb+\large+ it is \verb+\reallarge+ and so forth. \subsection{Post-processing} The postprocessor \emph{viz.}, \verb+PPower4+ can be applied to the pdf generated with this package, so that incremental additions to the pages are possible. \verb+PPower4+ is available at \href{ftp://ftp.dante.de/support/PPower4}{\textsc{ctan}}. You may need Java Virtual Machine running in your system to work with \verb+PPower4+. I have not tried the \TeX{}Power package by \href{mailto:Stephan.Lehmke@cs.uni-dortmund.de}{Stephan Lehmke} with \verb+pdfscreen+, but I would recommend this for effecting incremental builds. \begin{print} With |print| option invoked, the slide environment will print as a boxed minipage with another ovalbox adjacent to the slide box. This will prove useful for the audience to record any notes/queries during presentation which they can discuss with the speaker at the end of his session. The `Notes' that appear in the query box can be redefined to the string you like in your language by the command: \begin{decl} |\def\notesname|\arg{your string} \end{decl} \end{print} \noindent{\begin{slide} \color{section0} \begin{center} \Large\itshape The objectives of the slide option are: \end{center} \sffamily \rightmargin\leftmargin \begin{itemize} \rightmargin\leftmargin \itshape \item to devise a method for easier technical presentation. \item to help the mix of mathematical formulae with text and graphics which the present day \textsc{wysiwyg} tools fail to accomplish. \item to exploit the platform independence of \TeX{} so that presentation documents become portable. \item to offer the freedom and possibilities of using various backgrounds and other embellishments that a user can imagine to have in his presentation. \end{itemize} \end{slide}} \section{Page Transition} \begin{itemize} \item You can exploit the page transition facilities in the Acrobat. Specify your choice by using the command |\pagedissolve|\arg{option}. \item A list of page dissolve options and keys are given in \autoref{tab1}. \end{itemize} The page dissolve options are taken from the well known book, \emph{Web Publishing with Acrobat/\textsc{pdf}} by Thomas Merz will largely help to know the options for \verb+\pagedissolve+ function. \definecolor{gray9}{rgb}{1,.894,.769} \subsubsection*{Keys for page transitions} \def\dash{\noalign{\vskip1.5pt}\hline\noalign{\vskip1.5pt}} \begin{screen} \begin{table}[b] \sffamily\itshape\footnotesize \setlength\arrayrulewidth{0pt} \begin{tabular}{@{}p{.15\linewidth}p{.8\linewidth}@{}} \rowcolor{section1}Key & Explanation\\\dash \rowcolor{gray9} /Split & Two lines sweep across the screen to reveal the new page similar to opening a curtain.\\\dash \rowcolor{buttondisable} /Blinds & Similar to /Split, but with several lines resembling ``Venetian blinds''\\\dash \rowcolor{gray9} /Box & A box enlarges from the center of the old page to reveal the new one.\\\dash \rowcolor{buttondisable} /Wipe & A single line ``wipes'' across the old page to reveal the new one.\\\dash \rowcolor{gray9} /Dissolve & The old page ``dissolves'' to reveal the new one.\\\dash \rowcolor{buttondisable} /Glitter& Similar to /Dissolve, except the effect sweeps from one edge to another.\\\dash \rowcolor{gray9} /R (Replace) & The old page is simply replaced with the new one without any special effect. This is the default. \end{tabular} \caption{Keys for page transition\label{tab1}} \end{table} \end{screen} \begin{print} \begin{table} \sffamily\itshape\footnotesize \setlength\arrayrulewidth{.1pt} \begin{tabular}{@{}p{.15\linewidth}p{.8\linewidth}@{}} \dash Key & Explanation\\\dash /Split & Two lines sweep across the screen to reveal the new page similar to opening a curtain.\\\dash /Blinds & Similar to /Split, but with several lines resembling ``Venetian blinds''\\\dash /Box & A box enlarges from the center of the old page to reveal the new one.\\\dash /Wipe & A single line ``wipes'' across the old page to reveal the new one.\\\dash /Dissolve & The old page ``dissolves'' to reveal the new one.\\\dash /Glitter& Similar to /Dissolve, except the effect sweeps from one edge to another.\\\dash /R (Replace) & The old page is simply replaced with the new one without any special effect. This is the default. \\\dash \end{tabular} \caption{Keys for page transition\label{tab1}} \end{table} \end{print} For some of the transitions, additional parameters may be specified. The code given below results in a split effect with the lines moving horizontally (/H) from the inner parts of the page to the outer parts (/O). The duration of the effect is two seconds (/D): \begin{verbatim} /S /Split /D 2 /Dm /H /M /O \end{verbatim} All supported parameters for page dissolve, along with the kind of transition on which the parameters may be applied are given in \autoref{tab2}. \begin{screen} \begin{table} \sffamily\itshape\footnotesize \setlength\arrayrulewidth{0pt} \begin{tabular}{@{}p{.15\linewidth}p{.8\linewidth}@{}} \rowcolor{section1}Key & Explanation\\ \dash \rowcolor{gray9} /D & Duration of the transition effect in seconds (applies to all effects)\\ \dash \rowcolor{buttondisable} /Di\hfill\break (Direction) & Direction of the movement (multiples of 90$^\circ$ only). Values increase in a counterclockwise fashion, 0$^\circ$ points to the right (for /Wipe and /Glitter).\\\dash \rowcolor{gray9} /Dm\hfill\break (Dimension) & Possible values are /H or /V for a horizontal or vertical effect, respectively (for /Split and /Blinds).\\\dash \rowcolor{buttondisable} /M \hfill\break (Motion) & Specifies whether the effect is performed from the center out or the edges in. Possible values are /I for in and /O for out (for /Split and /Box). \end{tabular} \caption{Additional parameters for page transitions\label{tab2}} \end{table} \end{screen} \begin{print} \begin{table} \sffamily\itshape\footnotesize \setlength\arrayrulewidth{.10pt} \begin{tabular}{@{}p{.15\linewidth}p{.8\linewidth}@{}} \dash Key & Explanation\\ \dash /D & Duration of the transition effect in seconds (applies to all effects)\\ \dash /Di\hfill\break (Direction) & Direction of the movement (multiples of 90$^\circ$ only). Values increase in a counterclockwise fashion, 0$^\circ$ points to the right (for /Wipe and /Glitter).\\\dash /Dm\hfill\break (Dimension) & Possible values are /H or /V for a horizontal or vertical effect, respectively (for /Split and /Blinds).\\\dash /M \hfill\break (Motion) & Specifies whether the effect is performed from the center out or the edges in. Possible values are /I for in and /O for out (for /Split and /Box). \\ \dash \end{tabular} \caption{Additional parameters for page transitions\label{tab2}} \end{table} \end{print} \section{Bugs and TODO} \begin{enumerate} \item Enumerated and itemized lists spanning across pages create a nasty |missing \item| error. \href{mailto:dpstory@uakron.edu}{D.~P.~Story} has found out the reason to be the centering command, |\begin{center}| \dots |\end{center}| code inside the |\panel| macros. His suggestion to change this to |\centering| has made a dramatic effect thus eliminating the |missing \item| error. However, if |paneltoc| option is invoked, there is a slight shift in the spacing between table of contents entries in the panel toc is oberved. Still a bug \dots \item |verbatim| environment when spanned across pages (or if a page break occurs amidst a verbatim environment) also had similar bug, resulting in the panel toc items appearing in verbatim mode. A fix has been made again by \href{mailto:dpstory@uakron.edu}{D.~P.~Story} by putting the verbatim in a vertical box and spliting with |\vsplit| at the pagebreak. This solved the above problem, but a new problem of loss of colors and font attributes in the second box material after split has errupted. \end{enumerate} \section{Acknowledgements} The development of this package was funded by the University of Auckland, New Zealand (\href{mailto:j.hillas@auckland.ac.nz}{John Hillas} of Department of Economics made available the funds, to whom I owe much gratitude). I owe much thanks to \href{mailto:sebastian.rahtz@oucs.ac.uk}{Sebastian Rahtz} for his patient replies to my incessant queries. The design of the side navigation panel is due to \href{mailto:kaveh@focal.demon.co.uk}{Kaveh Bazargan} of Focal Image Ltd., London and it was at his goading that I started writing this package. The current version (v1.3) is a complete rewrite and therefore it may be possible that the documents compiled with older versions may break down, though every effort has been made to keep the downward compatibility and the old commands and options are still kept in order not to blow up your documents which runs smoothly with previous versions. I firmly believe that the code demands further optimization and may have bugs that will show up during exhaustive usage. I request you to send me the bug reports as and when they exhibit their ugly faces. My special thanks are for all those users who deploy \verb+pdfscreen.sty+ for their document preparation, and for their kind words of appreciation. \pdfscreen works well with the much used package, \verb+exerquiz.sty+ of \href{mailto:dpstory@uakron.edu}{Donald P.~Story} (\url{http://www.math.uakron.edu/~dpstory/pdf_demos.html}) without clashes. Feedback on the usage of \TeX{}Power with \pdfscreen is requested from users. My mail id for contact is \href{mailto:cvr@river-valley.com}% {\tt cvr@river-valley.com}. \end{document}