diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2008-09-26 09:17:26 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2008-09-26 09:17:26 +0000 |
commit | 69cdb80977fc59e47c24a680fc0c61a3eac0c097 (patch) | |
tree | ca111e9049a1785bf8507161dce88a2233268760 /Master/tlpkg/dviout/SPECIAL | |
parent | d3a140feea19858912cc2de406e176ae8ce6c392 (diff) |
dviout moved to tlpkg/dviout; dviout.vbs changed accordingly.
git-svn-id: svn://tug.org/texlive/trunk@10733 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/dviout/SPECIAL')
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/demo.tex | 79 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/dviout.sty | 412 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/ophook.sty | 158 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/presen.sty | 238 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/presen.txt | 77 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/src.mac | 3 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/srcspecial.mac | 15 | ||||
-rw-r--r-- | Master/tlpkg/dviout/SPECIAL/srctex.cfg | 110 |
8 files changed, 1092 insertions, 0 deletions
diff --git a/Master/tlpkg/dviout/SPECIAL/demo.tex b/Master/tlpkg/dviout/SPECIAL/demo.tex new file mode 100644 index 00000000000..2a9e8187dbb --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/demo.tex @@ -0,0 +1,79 @@ +\documentclass[a4paper,12pt]{article} +\usepackage[auto,full]{presen} +%\usepackage[full]{presen} + +\pagestyle{empty} + +%%%%%% TEXT START %%%%%% +\begin{document} +\SetTimer{2000} +%\StartPresentation + +\sffamily\Large + +\hbox{}\vfill +\begin{center} +\Huge +Conference On \LaTeXe +\end{center} +\vfill + +\newpage +\begin{center} +2000/02/21(Mon) +\end{center} + +\begin{itemize} + \item {\bfseries 10:00--10:50 AAA}\\ + From \LaTeX2.09 to \LaTeXe. + \item\Pause {\bfseries 11:00--11:50 BBB}\\ + Using graphics with \LaTeXe. EPS, BMP and JPEG. + \item\Pause {\bfseries 14:00--14:50 CCC}\\ + Using Plain \TeX\ Commands---Why I use them. + \item\Pause {\bfseries 15:00--15:50 DDD}\\ + Why XML---What is it? + \item\Pause {\bfseries 16:10--17:00 EEE}\\ + \LaTeXe\ on Internet. +\end{itemize} + +\newpage +\begin{center} +2000/02/22(Tue) +\end{center} +\font\logo=logo10 at 17.28pt +\begin{itemize} + \item {\bfseries 9:30--10:20 FFF}\\ + From {\logo METAFONT} To {\logo METAPOST}. + \item\Pause {\bfseries 10:40--12:10 GGG(Invited Lecturer)}\\ + Virtual Fonts Technology, Part I. + \item\Pause {\bfseries 13:00--13:50 HHH}\\ + Using {\logo METAFONT}. + \item\Pause {\bfseries 14:00--14:50 III}\\ + Using TrueType Fonts. Times New Roman, Arial and Courier New. + \item\Pause {\bfseries 15:00--15:50 HHH}\\ + How to Prepare Presentation Manuscript on DVIOUT. + \item\Pause {\bfseries 16:00--17:30}\\ + Short Communications. +\end{itemize} + +\newpage +\begin{center} +2000/02/23(Wed) +\end{center} + +\begin{itemize} + \item {\bfseries 9:30--11:00 GGG}\\ + Virtual Fonts Technology, Part II. + \item\Pause {\bfseries 11:10--12:00 JJJ}\\ + How to Write New Macro Package. + \item\Pause {\bfseries 13:00--13:50 KKK}\\ + Structure of \LaTeX\ Class Files. + \item\Pause {\bfseries 14:00--14:50 LLL}\\ + New Features of \LaTeXe*. + \item\Pause {\bfseries 15:00--16:30 MMM}\\ + How to Prepare Beautiful Manuscript on \LaTeX. + \item\Pause {\bfseries 16:40--17:30 NNN}\\ + Future \LaTeX. +\end{itemize} + +\end{document} diff --git a/Master/tlpkg/dviout/SPECIAL/dviout.sty b/Master/tlpkg/dviout/SPECIAL/dviout.sty new file mode 100644 index 00000000000..cb6aea18fec --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/dviout.sty @@ -0,0 +1,412 @@ +% +% This package automatically buries specials for dviout. +% Copyright(C) by Yoshiki OTOBE. +% Needs dviout version 3.11(after beta 7) or later. +% After dviout version 3.11.4, you can use all the features. +% +% The following commands have effects only if [each] option is specified. +% \putdvioutspecials +% puts \specials specified in this packages will put at the top. +% This is the default. +% \noputdvioutspecials +% will no longer put dviout specials. +% +% Definition:(auto dviout special) +% We call the specials which will be embedded by this macro package +% "auto dviout special". +% For example, paper size option is an auto dviout special. +% +% +% You can freely modify this package to add new specials. +% Please be careful about not to lose generality. +% Of course you can freely re-distribute this file. +% +% 2000/03/03 +% add \SetOption and \SetLocalOption commands to set dviout up. +% e.g. \SetOption{ftt}{.\ttfonts.map} +% \SetOption{TEXPK}{q:\\^s.^dpk} +% *** supported from version 1.4. +% +% 2000/09/05: +% * keep up with dviout supporting dvips' papersize special. +% ** \usepackage[dvips]{dviout} :: use \special{papersize=...} +% ** \usepackage{dviout} :: use \special{dviout -y=A4P} and so on. +% ** dviout also supports \special{papersize=A4L} etc., it is, however +% NOT supported from this macro package. +% * supports dviout's initializing special. +% After dviout 3.11.4, it supports a initializing special. +% When it finds "\special{dviout ...}" at the top of dvi, it is ensured +% that the special is run even if you start dviout from any page. +% ** \usepackage[each]{dviout} :: put dviout special +% (currently only papersize special is supported) at each top of +% the page. This is safe for dviout 3.11 +% ** \usepackage[top]{dviout} :: default of current distribution. +% put dviout special only at the top of dvi file. +% ** \usepackage[nopaper]{dviout} :: paper size option will not be +% inserted. +% * supports some \special put automatically on each page. +% ** \SPECIAL{xxx} +% \special{xxx} will be executed at the each page. +% * supports message window +% ** \ShowInfo{title}{sentense} +% the ``sentense'' will be shown in the message window which +% will appear at the bottom of dviout's window. +% you may use \\ to line break (only in the 2nd argument). +% e.g., \ShowInfo{memo}{Remark (1) is true.\\Now 5 minutes??} +% ** \Question{title}{question}{yes}{no} +% You will see a small dialog box on the desktop. +% The ``title'' is shown on the title bar, +% the ``question'' is shown on the main body, +% and [YES] [NO] button will appear. +% You may use ``\\'' for line-breaking in the 2nd argument. +% When a document reader select [Yes], +% \special{dviout ``yes''} will be executed. +% Otherwise, \special{dviout ``no''} will be executed. +% e.g., \Question{direction}{Landscape?}{-y=A4L fn}{-y=A4P fn} +% ** ``title'' may be empty. +% In case \ShowInfo, the default is [Information from DVI file]. +% When \question-ing, it is [Select [Y] or [N]] +% * add utility macros +% ** \def\SetTEXROOT{\SetOption{TEXROOT}} +% ** \def\SetTEXPK{\SetOption{TEXPK}} +% ** \def\SetMapFile{\SetOption{ftt}} +% ** e.g., +% \SetTEXROOT{^F\^s.tfm;^x\\^s.^dpk} +% * supports local settings. +% ** \SetLocalOption{parameter}{settings} +% is now supported. +% This shall be used in a group and you can use only once in a +% group (nesting shall not be allowed, since dviout keep only one +% parameter. When you exit from the group, the parameter is +% automatically restored. +% +% 2000/09/09 +% * fix a bug in \SetOption +% ** \SetOption only put \special{dviout ...} at the top of the dvi file, +% which will no longer read if one opens it by 2nd or after page. +% Now changed to \special{dviout `initialize ...} +% * supports adding a path to an optional setting +% ** \AppendOption is provided. +% Assume that current TEXPK=\\^s.^dpk. +% \AppendOption{TEXPK}{^F\^s.pk;} -> TEXPK=^F\^s.pk;\\^s.^dpk +% \AppendOption{TEXPK}{;^F\^s.pk} -> TEXPK=\\^s.^dpk;^F\^s.pk +% Notice that the position of the semi-colon is important. +% If there is no semi-colon at the top or bottom of the argument, +% this package never reports a warning or an error, which will only +% be ignored by dviout. +% It is only allowed to TEXPK, TEXFONTS, TEXKNJ and gdat. +% \AppendTEXPK is identical to \AppendOption{TEXPK}. +% +% 2001/05/23 +% * append options a4j, a5j, etc. +% * default paper size option will be embeded in dvips style +% (this has dviout to select "User Defined") +% nodvips option makes dviout's style. +% * remove "beta" logo. +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{dviout}[2001/05/23 v1.4] +\newif\if@put@dviout@eachpage \@put@dviout@eachpagefalse +\newif\if@dvips@specials \@dvips@specialsfalse +\newif\if@put@paper \@put@papertrue +\DeclareOption{each}{\@put@dviout@eachpagetrue} +\DeclareOption{top}{\@put@dviout@eachpagefalse} +\DeclareOption{dvips}{\@dvips@specialstrue} +\DeclareOption{nodvips}{\@dvips@specialsfalse} +\DeclareOption{nopaper}{\@put@paperfalse} + +\newif\if@emode \@emodefalse +\ifx\c@@paper\@undefined + \newcounter{@paper} + \expandafter\expandafter\expandafter\newif\expandafter\csname if@landscape\endcsname \@landscapefalse + \@emodetrue +\fi +\newif\if@putspecial\@putspecialtrue +\DeclareOption{a4paper}{\setcounter{@paper}{1}} +\DeclareOption{a5paper}{\setcounter{@paper}{2}} +\DeclareOption{b4paper}{\setcounter{@paper}{3}} +\DeclareOption{b5paper}{\setcounter{@paper}{4}} +\DeclareOption{a4j}{\setcounter{@paper}{1}} +\DeclareOption{a5j}{\setcounter{@paper}{2}} +\DeclareOption{b4j}{\setcounter{@paper}{3}} +\DeclareOption{b5j}{\setcounter{@paper}{4}} +\DeclareOption{a4p}{\setcounter{@paper}{1}} +\DeclareOption{a5p}{\setcounter{@paper}{2}} +\DeclareOption{b4p}{\setcounter{@paper}{3}} +\DeclareOption{b5p}{\setcounter{@paper}{4}} +\DeclareOption{letterpaper}{\setcounter{@paper}{5}} +\DeclareOption{legalpaper}{\setcounter{@paper}{6}} +\DeclareOption{executivepaper}{\setcounter{@paper}{7}} +\DeclareOption{landscape}{\@landscapetrue} +\DeclareOption{draft}{\@putspecialfalse} +\DeclareOption{final}{\@putspecialtrue} +% +\if@emode + \ExecuteOptions{top,dvips,letterpaper} +\else + \ExecuteOptions{top,dvips,a4paper} +\fi +\ProcessOptions\relax + +\if@put@dviout@eachpage + \RequirePackage{ophook} + \let\@put@special\AtOutput +\else + \let\@put@special\AtBeginDvi +\fi +% +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Paper Size special. Put always. +%% Put them even if draft option is specified. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\if@dvips@specials %% use \special{papersize=...,...} + \ifcase\c@@paper + \or% 1:A4 + \if@landscape + \@put@special{\special{papersize=297mm,210mm}} + \else + \@put@special{\special{papersize=210mm,297mm}} + \fi + \or% 2:A5 + \if@landscape + \@put@special{\special{papersize=210mm,149mm}} + \else + \@put@special{\special{papersize=149mm,210mm}} + \fi + \or% 3:B4 + \if@landscape + \if@emode + \@put@special{\special{papersize=353mm,250mm}} + \else + \@put@special{\special{papersize=364mm,257mm}} + \fi + \else + \if@emode + \@put@special{\special{papersize=250mm,353mm}} + \else + \@put@special{\special{papersize=257mm,364mm}} + \fi + \fi + \or% 4:B5 + \if@landscape + \if@emode + \@put@special{\special{papersize=250mm,176mm}} + \else + \@put@special{\special{papersize=257mm,182mm}} + \fi + \else + \if@emode + \@put@special{\special{papersize=176mm,250mm}} + \else + \@put@special{\special{papersize=182mm,257mm}} + \fi + \fi + \or% 5:Letter + \if@landscape + \@put@special{\special{papersize=11in,8.5in}} + \else + \@put@special{\special{papersize=8.5in,11in}} + \fi + \or% 6:Legal + \if@landscape + \@put@special{\special{papersize=14in,8.5in}} + \else + \@put@special{\special{papersize=8.5in,14in}} + \fi + \or% 7:Executive + \if@landscape + \@put@special{\special{papersize=10.5in,7.25in}} + \else + \@put@special{\special{papersize=7.25in,10.5in}} + \fi + \else% other size + \fi +\else %% use \special{dviout -y=...} + \ifcase\c@@paper + \or% 1:A4 + \if@landscape + \@put@special{\special{dviout -y=A4L}} + \else + \@put@special{\special{dviout -y=A4P}} + \fi + \or% 2:A5 + \if@landscape + \@put@special{\special{dviout -y=A5L}} + \else + \@put@special{\special{dviout -y=A5P}} + \fi + \or% 3:B4 + \if@landscape + \if@emode + \@put@special{\special{dviout -y=E4L}} + \else + \@put@special{\special{dviout -y=B4L}} + \fi + \else + \if@emode + \@put@special{\special{dviout -y=E4P}} + \else + \@put@special{\special{dviout -y=B4P}} + \fi + \fi + \or% 4:B5 + \if@landscape + \if@emode + \@put@special{\special{dviout -y=E5L}} + \else + \@put@special{\special{dviout -y=B5L}} + \fi + \else + \if@emode + \@put@special{\special{dviout -y=E5P}} + \else + \@put@special{\special{dviout -y=B5P}} + \fi + \fi + \or% 5:Letter + \if@landscape + \@put@special{\special{dviout -y=LetterL}} + \else + \@put@special{\special{dviout -y=LetterP}} + \fi + \or% 6:Legal + \if@landscape + \@put@special{\special{dviout -y=LegalL}} + \else + \@put@special{\special{dviout -y=LegalP}} + \fi + \or% 7:Executive + \if@landscape + \@put@special{\special{dviout -y=ExecutiveL}} + \else + \@put@special{\special{dviout -y=ExecutiveP}} + \fi + \else% other size + \fi +\fi + +\if@put@dviout@eachpage + \let\putdvioutspecials\h@@koutput + \let\noputdvioutspecials\unh@@koutput + \putdvioutspecials +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Auto settings for dviout +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcounter{@dviout@option} +\begingroup + \catcode`\^=12 + \catcode`|=0 + \catcode`\\=12 + |gdef|@set@option#1{% + |expandafter|xdef|csname @dviout@option|the|c@@dviout@option|endcsname{% + |special{|csname @dviout@option|the|c@@dviout@option|endcsname#1}% + }% + |begingroup + |aftergroup|endgroup + |if@local@option + |csname @dviout@option|the|c@@dviout@option|endcsname + |else + |expandafter|AtBeginDvi %% 2000/09/05 + |csname @dviout@option|the|c@@dviout@option|endcsname +% |h@@koutput %% remove 2000/09/05 + |fi + |endgroup + |global|advance|c@@dviout@option1% + }% +|endgroup + +\def\SetOption#1{% put an Option setting on each page after the command. + \expandafter\xdef\csname @dviout@option\the\c@@dviout@option\endcsname{% + dviout `initialize -#1=% + }% + \@local@optionfalse + \begingroup + \catcode`|=0 + \catcode`\\=12 + \@set@option% Why \set@option? Why |@set@option fails? + %% maybe... \@set@option is read by TeX when \def is read. + %% At that time, TeX doesn't evaluate the commands. + %% He only classifies, i.e., \catcode... is not interpreted, + %% but he know \@set@option is a control sequence. + %% Is this true? 2000/09/05 +} +\@onlypreamble\SetOption + +\def\AppendOption#1{% put an Option setting on each page after the command. + \expandafter\xdef\csname @dviout@option\the\c@@dviout@option\endcsname{% + dviout `initialize +#1=% + }% + \@local@optionfalse + \begingroup + \catcode`|=0 + \catcode`\\=12 + \@set@option +} +\@onlypreamble\SetOption + +\newif\if@local@option \@local@optionfalse +\def\SetLocalOption#1{% put an Option (only) there. + \if@local@option + \PackageError{dviout}{You can use \string\SetLocalOption{} + only once in a group!}{Give up using it.}% + \fi + \@local@optiontrue + \special{dviout `keep #1}% + \expandafter\xdef\csname @dviout@option\the\c@@dviout@option\endcsname{% + dviout -#1=% + }% + \aftergroup\@restore@param + \aftergroup\@local@optionfalse + \begingroup + \catcode`|=0 + \catcode`\\=12 + \@set@option +} + +\def\@restore@param{\special{dviout `restore}} + +\def\SetTEXROOT{\SetOption{TEXROOT}} +\def\SetTEXPK{\SetOption{TEXPK}} +\def\AppendTEXPK{\AppendOption{TEXPK}} +\def\SetMapFile{\SetOption{ftt}} +\@onlypreamble\SetTEXROOT +\@onlypreamble\SetTEXPK +\@onlypreamble\AppendTEXPK +\@onlypreamble\SetMapFile + + +\def\SPECIAL#1{% + \expandafter\xdef\csname @dviout@option\the\c@@dviout@option\endcsname{% + \special{dviout `initialize page `sp #1}% + }% + \expandafter\AtBeginDvi %% 2000/09/05 + \csname @dviout@option\the\c@@dviout@option\endcsname + \global\advance\c@@dviout@option1% +} +\@onlypreamble\SPECIAL + +\def\ShowInfo#1#2{% + \begingroup + \def\\{`'}% + \edef\@null@word{}% + \edef\@check@word{#1}% + \ifx\@check@word\@null@word\def\@check@word{Information from DVI file}\fi + \special{dviout `message `'\@check@word`'#2'`}% + \endgroup +} + +\def\Question#1#2#3#4{% + \begingroup + \def\\{`'}% + \edef\@null@word{}% + \edef\@check@word{#1}% + \ifx\@check@word\@null@word\def\@check@word{Select [Y] or [N]}\fi + \special{dviout `ask `'\@check@word`'#2'` `yes #3 `no #4}% + \endgroup +} + +\endinput diff --git a/Master/tlpkg/dviout/SPECIAL/ophook.sty b/Master/tlpkg/dviout/SPECIAL/ophook.sty new file mode 100644 index 00000000000..83338f207c5 --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/ophook.sty @@ -0,0 +1,158 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{ophook}[2000/03/03 v1.1] +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%% INTERFACE MACROS %%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \@outputpageh@@kA +% called before letting \protect \noexpand. +% remark that \protect has tree states, \noexpand\protect\noexpand, +% \relax and \string except \@outputpage. +% after \let-ting, let ^^M and " "(space) space(\@resetactivechars), +% and restore paragraph parameters(\@parboxrestore), +% and starts \shipout +% \@outputpageh@@kB +% called just before putting box in dvi file, +% but after \vskip-ing \topmargin and \moveright-ing the left margin. +% \@outputpageh@@kC +% called just before putting page components +% (header, \headsep, \@outputbox, \footskip, footer). +% it is the top of the page box. +% \@outputpageh@@kD +% called just before finishing putting page components in the box. +% (bottom of the page box) +% \@outputpageh@@kE +% called just after creating page box but still in the dvi-file. +% (just before exiting \shipout routine.) +% \@outputpageh@@kF +% called just after putting out dvi-file. +% also just before stepping "page" counter and letting \firstmark \botmark. +% \@outputpageh@@kG +% called just before finishing \@outputpage routine. +% +\ifx\@outputpageh@@kA\@undefined + \let\@outputpageh@@kA\empty +\fi +\ifx\@outputpageh@@kB\@undefined + \let\@outputpageh@@kB\empty +\fi +\ifx\@outputpageh@@kC\@undefined + \let\@outputpageh@@kC\empty +\fi +\ifx\@outputpageh@@kD\@undefined + \let\@outputpageh@@kD\empty +\fi +\ifx\@outputpageh@@kE\@undefined + \let\@outputpageh@@kE\empty +\fi +\ifx\@outputpageh@@kF\@undefined + \let\@outputpageh@@kF\empty +\fi +\ifx\@outputpageh@@kG\@undefined + \let\@outputpageh@@kG\empty +\fi +\def\AtOutput{\g@addto@macro\@outputpageh@@kC} +\@onlypreamble\AtOutput +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Use \AtOutput to add a special at the top of the each page. +% You can use it to put any command. +% However, like the following, use \special to add a dviout special. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% THE TRICK CODE. %%% +%%% DON'T MODIFY %%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newtoks\tokstemp +\newtoks\toksone +\newtoks\tokstwo +\newtoks\toksthree +\newtoks\toksfour +\newtoks\toksfive +\newbox\tempb@x +\newdimen\temp@ht +\newdimen\temp@wd +\newif\if@outputpage@hooked \@outputpage@hookedfalse +\newif\if@reh@@king \@reh@@kingfalse % necessary? +\let\saved@@outputpage\@outputpage +\def\unh@@koutput{% + \let\@outputpage\saved@@outputpage +} + +\def\h@@koutput{% + \if@outputpage@hooked\if@reh@@king\else + \reh@@koutput\fi + \else + \begingroup + \tokstemp=\expandafter{\@outputpage\@noticeend} + \long\def\parse@outputpage##1\vbox##2##3\@noticeend{% + \def\part@@one{##1}% + \def\part@@two{##2}% + \def\part@@three{##3}% + }% + \expandafter\parse@outputpage\the\tokstemp + \let\part@one=\part@@one + \let\part@five=\part@@three + \tokstemp=\expandafter{\part@@two\@noticeend}% + \expandafter\parse@outputpage\the\tokstemp + \let\part@two=\part@@one + \let\part@three=\part@@two + \let\part@four=\part@@three + \toksone=\expandafter{\part@one}% + \tokstwo=\expandafter{\part@two}% + \toksthree=\expandafter{\part@three}% + \toksfour=\expandafter{\part@four}% + \toksfive=\expandafter{\part@five}% + \let\@outputpageh@@kA\relax + \let\@outputpageh@@kB\relax + \let\@outputpageh@@kC\relax + \let\@outputpageh@@kD\relax + \let\@outputpageh@@kE\relax + \let\@outputpageh@@kF\relax + \let\@outputpageh@@kG\relax + \xdef\@outputpage{% + \@outputpageh@@kA + \the\toksone + \noexpand\vbox{% + \the\tokstwo + \@outputpageh@@kB + \noexpand\vbox{% + \@outputpageh@@kC + \the\toksthree + \@outputpageh@@kD + }% + \@outputpageh@@kE + \the\toksfour + }% + \@outputpageh@@kF + \the\toksfive + \@outputpageh@@kG + }% + \endgroup + \@outputpage@hookedtrue + \fi +} + +\def\reh@@koutput{% + \unh@@koutput + \begingroup + \let\@outputpageh@@kA\relax + \let\@outputpageh@@kB\relax + \let\@outputpageh@@kC\relax + \let\@outputpageh@@kD\relax + \let\@outputpageh@@kE\relax + \let\@outputpageh@@kF\relax + \let\@outputpageh@@kG\relax + \@reh@@kingtrue + \h@@koutput + \endgroup + \@reh@@kingfalse +} + +% Please tell me (otobe@ms.u-tokyo.ac.jp) a macro package or a macro +% command that doesn't work with this package if you find. +\ifx\fb@outputpage\@undefined\else + \@latex@warning@no@line{You cannot use this package with fancy page}% +\fi diff --git a/Master/tlpkg/dviout/SPECIAL/presen.sty b/Master/tlpkg/dviout/SPECIAL/presen.sty new file mode 100644 index 00000000000..7a26e569857 --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/presen.sty @@ -0,0 +1,238 @@ +% dviout version 3.11 or later has "presentation" mode. +% If you want to present something by a computer without +% OHP sheet, lots of presenter used Microsoft PowerPoint. +% It is certainly useful, but week to use mathematical formulas. +% Now you can use dviout instead of PowerPoint. +% This macro package provides interface macros to create +% a dvi file which would be used in the presentation. +% Copyright(C) 2000 by Yoshiki OTOBE. +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{presen}[2000/02/25 v1.0] +\RequirePackage{ophook} + +\newif\if@cover \@coverfalse +\newif\if@each \@eachfalse +\newcounter{@bkmode}\setcounter{@bkmode}{0} +\newcounter{@scmode}\setcounter{@scmode}{0} +\newcounter{@coverpos}\setcounter{@coverpos}{0} +\newif\if@autoprocess \@autoprocessfalse +\newcounter{@pausenum}\setcounter{@pausenum}{0} +\newcounter{@pausesec}\setcounter{@pausesec}{0} +\newcounter{@viewmode}\setcounter{@viewmode}{0} +\newif\if@keepmargin \@keepmarginfalse +\DeclareOption{cover}{\@covertrue} +\DeclareOption{uncover}{\@coverfalse} +\DeclareOption{whiteback}{\setcounter{@bkmode}{1}} +\DeclareOption{blackback}{\setcounter{@bkmode}{2}} +\DeclareOption{white}{\setcounter{@scmode}{1}} +\DeclareOption{black}{\setcounter{@scmode}{2}} +\DeclareOption{bottom}{\setcounter{@coverpos}{1}} +\DeclareOption{left}{\setcounter{@coverpos}{2}} +\DeclareOption{right}{\setcounter{@coverpos}{3}} +\DeclareOption{bottomleft}{\setcounter{@coverpos}{4}} +\DeclareOption{bottomright}{\setcounter{@coverpos}{5}} +\DeclareOption{each}{\@eachtrue} %% DONT USE THIS OPTION. FOR FUTURE. +\DeclareOption{auto}{\@autoprocesstrue} +\DeclareOption{noauto}{\@autoprocessfalse} +\DeclareOption{fit}{\setcounter{@viewmode}{1}} +\DeclareOption{full}{\setcounter{@viewmode}{2}} +\DeclareOption{keepmargin}{\@keepmargintrue} +\DeclareOption{adjustmargin}{\@keepmarginfalse} +\ExecuteOptions{uncover,black,bottom,adjustmargin} +\ProcessOptions\relax + +\if@keepmargin\else + \message{Package presen : Paper size will be ignored.^^J% + use `keepmargin' option if you want to keep the layout.^^J}% + \topmargin-.5in + \headheight0pt + \headsep0pt + \advance\textwidth2\oddsidemargin + \advance\textwidth1in + \oddsidemargin-.5in + \evensidemargin\oddsidemargin + \textheight\linewidth + \paperheight\textheight + \advance\textheight-.5in +\fi + + +% If you fing "each" option is implimented, please forget it. +% "each" option requires more complicated implimentation. +\if@autoprocess + \special{dviout !A} +\fi + +\if@each + \let\put@presentation\AtOutput +\else + \let\put@presentation\AtBeginDocument +\fi + +\if@cover\UseCoverSheet\fi + +\ifcase\c@@bkmode + \special{dviout N0}% + \or + \special{dviout N3}% + \or + \special{dviout N4}% +\fi + +\ifcase\c@@scmode + \special{dviout N0}% + \or + \special{dviout N1}% + \or + \special{dviout N2}% +\fi + +\ifcase\c@@coverpos + \or + \special{dviout N5}% + \or + \special{dviout N7}% + \or + \special{dviout N6}% + \or + \special{dviout N9}% + \or + \special{dviout N8}% +\fi + +\ifnum\c@@coverpos>0 + \if@cover\else + \special{dviout NP}%% ?? + \@covertrue + \fi +\fi + +\if@autoprocess + \ifcase\c@@viewmode + \special{dviout !p;!b}% go to presentation mode + \or + \special{dviout !p;!bdf}% + \or + \special{dviout !p;!bdl}% + \fi +\fi + +% cover sheet will be used. +% If you enter "presentation mode" without \Pause, +% hitting [space] bar will... +% 1. show the page with covering. +% 2. show the page with all contents are shown. +% 3. go to next page... +\def\UseCoverSheet{% + \if@cover\else\special{dviout NO}\fi + \@covertrue +} + +\def\UnuseCoverSheet{% + \if@cover\special{dviout NF}\fi + \@coverfalse +} + +% cover sheet will be used. +% but the page will be shown as default if there's no \Pause. +\def\PrepareCoverSheet{% + \if@cover\else\special{dviout NP}\fi + \@covertrue +} + +% we set cover sheet not to be used temporary. +\def\SuspendCoverSheet{% + \special{dviout !S}% +} + +% If cover sheet is not currently used (e.g., after jumping another file +% or another page), come back to memoried page (e.g., the page the cover +% sheet was suspended) and change the mode to use cover sheet. +\def\ReturnToCoverSheet{% + \special{dviout !C}% +} + +\def\SetTimer#1{\setcounter{@pausesec}{#1}} +\def\Pause{% + \ifnum\count0=1% + \@latex@warning{The first page may contain a pause special}% + \fi + \if@cover\UseCoverSheet\fi + \special{pause}% + \addtocounter{@pausenum}{1}% +} +\def\AutoProcess{% + \if@autoprocess\else\special{dviout !p}\fi + \@autoprocesstrue +} +\def\NoAutoProcess{\@autoprocessfalse} +\g@addto@macro\@outputpageh@@kE{\@embedpause} +\AtEndDocument{% + \g@addto@macro\@outputpageh@@kE{\@embedreturntop}% +} + +\def\@embedtimer{% + \ifnum\c@@pausesec>0% + \special{dviout `timer \the\c@@pausesec\space je}% + \fi +} + +\def\GoTop{% + \special{dviout `timer 0}% + \special{dviout jt}% +} + +\def\GoNext{% + \special{dviout `timer 0}% + \special{dviout je}% +} + +\def\Wait#1{% + \special{dviout `timer #1}% +} + +\def\StartPresentation{% + \ifcase\c@@viewmode + \special{dviout !p}% go to presentation mode + \or + \special{dviout !p;df}% + \or + \special{dviout !p;dl}% + \fi +} + +\def\FinishPresentation{% + \special{dviout !n}% +} + +\let\@embedpause\relax +\h@@koutput + +\def\define@embed@macro{ + \gdef\@embedreturntop{% + \if@autoprocess + \special{dviout `timer 0}% + \special{dviout jt}% + \fi + }% + \gdef\@embedpause{% + \ifnum\c@@pausenum=0% + \if@autoprocess + \special{pause}% + \special{dviout `timer 0 je}% + \fi + \fi + \loop\ifnum\c@@pausenum>0% + \@embedtimer + \global\advance\c@@pausenum by -1% + \repeat + \if@autoprocess + \special{dviout `timer \the\c@@pausesec\space je}% + \fi + }% +} + +\define@embed@macro +\endinput + diff --git a/Master/tlpkg/dviout/SPECIAL/presen.txt b/Master/tlpkg/dviout/SPECIAL/presen.txt new file mode 100644 index 00000000000..1d9c65519cf --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/presen.txt @@ -0,0 +1,77 @@ +1. usage + \usepackage[options]{presen} + (ophook.sty is required) + +2. options + cover: use cover sheet + uncover: not use coversheet (default) + whiteback: same as menu + black back: same as menu + white: same as menu + black: same as menu (default) + bottom: same as menu (default) + left: same as menu + right: same as menu + bottomleft: same as menu + bottomright: same as menu + auto: auto processing mode + fit: use "fit" mode when \StartPresentation + full: use "full" mode when \StartPresentation + keepmargin: keep layout set by class file + adjustmargin: modify layout for presentation (default) + + autoprocess mode will show all pages (with "paus"-ing) + and re-show from the top after reaching the bottom page. + +3. Commands + maybe you have only to master \SetTimer, \Pause and \Wait. + + \SetTimer + set the timer with unit is milli-seconds. + e.g., \SetTimer{2000} means internal timer is set to 2sec. + Only if you use \Pause with strictly positive timer interval, + \special{dviout `timer ...} will be embedded in every page. + The default value is 0. + \Pause + Embed \special{pause}. + More, \special{dviout `timer ...}, \special{dviout je} + and \special{dviout jt} will also be embedded if you + specify positive timer interval by \SetTimer, or used + `auto' option. + Most appropriate specials will be automatically embedded + by this macro package. + \Wait + wait milli-seconds specified as the argument. + e.g., \Wait{10000} will wait 10sec. + \GoNext + go to next page immediately. + \GoTop + go to the top page immediately. + \StartPresentation + move to presentation mode. + \FinishPresentation + return to standard mode. + + \UseCoverSheet + = \special{dviout NO} + \UnuseCoverSheet + = \special{dviout NF} + \PrepareCoverSheet + = \special{dviout NP} + \SuspendCoverSheet + = \special{dviout !S} + \ReturnCoverSheet + = \special{dviout !C} + +4. TRY +Try to show demo.dvi. After that, +1. Comment out + \usepackage[auto,full]{presen} (l.2) + \SetTimer{2000} (l.8) +2. Comment in + \usepaclage[full]{presen} (l.3) + \StartPresentation (l.9) +3. Compile it + +by Yoshiki OTOBE, The University of Tokyo, +otobe@ms.u-tokyo.ac.jp diff --git a/Master/tlpkg/dviout/SPECIAL/src.mac b/Master/tlpkg/dviout/SPECIAL/src.mac new file mode 100644 index 00000000000..854a4b718c6 --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/src.mac @@ -0,0 +1,3 @@ +ddeinitiate "dviout", "dviout";
+ddeexecute "[PageOpen(# "+str(lineno)+" *)]";
+ddeexecute "[FileOpen("+leftstr(filename,strlen(filename)-3)+"dvi)]";
diff --git a/Master/tlpkg/dviout/SPECIAL/srcspecial.mac b/Master/tlpkg/dviout/SPECIAL/srcspecial.mac new file mode 100644 index 00000000000..a4ab37cecca --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/srcspecial.mac @@ -0,0 +1,15 @@ +ddeinitiate "dviout", "dviout";
+if(!result) {
+ run "dviout ";
+ ddeinitiate "dviout", "dviout";
+}else
+ $basefile = dderequest("dvifile");
+if(strlen($basefile) < 1)
+ $basefile = leftstr(filename,strlen(filename)-3)+"dvi";
+if(selecting){$SrcWord = "/" + gettext(seltopx,seltopy,selendx,selendy);}
+else $SrcWord="";
+ddeexecute "[PageOpen(# "+str(lineno)+$SrcWord+" '"+filename+"')]";
+ddeexecute "[WinNormal]";
+ddeexecute "[FileOpen("+$basefile+")]";
+ddeterminate;
+endmacro;
diff --git a/Master/tlpkg/dviout/SPECIAL/srctex.cfg b/Master/tlpkg/dviout/SPECIAL/srctex.cfg new file mode 100644 index 00000000000..2bebd3e0308 --- /dev/null +++ b/Master/tlpkg/dviout/SPECIAL/srctex.cfg @@ -0,0 +1,110 @@ +% default configulation file of srctex +% +%<location> <type> <key> +% +% <location> +% H: <key> is searched at the head of a line +% E: same as H: but the following character should be non-alphabet +% T: <key> is searched at the tail of a line +% +% <type> +% ignore: ignore the line +% begin: begin inserting source specials +% end: end inserting source specials +% skip: skip inserting source specials +% _skip: terminate to skip inserting source specials +% (should be a pair with the preceeding skip:) +% set: insert a source special in the top of +% the current (resp. next) line in case of H: (resp. T:) + +H skip %skip{src} +H _skip %resume{src} +H set %put{src} + +H ignore % +E begin \document +ET end \enddocument + +E skip \verbatim +ET _skip \endverbatim +E skip \comment +ET _skip \endcomment + +H begin \begin{document} +H end \end{document} +H skip \begin{verbatim} +HT _skip \end{verbatim} +H skip \begin{verbatim*} +HT _skip \end{verbatim*} +H skip \begin{comment} +HT _skip \end{comment} + +HT set $$ +H set \[ +T set \] + +H set \begin{equation} +T set \end{equation} +H set \begin{equation*} +T set \end{equation*} +H set \begin{align} +T set \end{align} +H set \begin{align*} +T set \end{align* +H set \begin{multline} +T set \end{multline} +H set \begin{multline*} +T set \end{multline*} +H set \begin{gather} +T set \end{gather} +H set \begin{gather*} +T set \end{gather*} +H set \begin{aligned} +T set \end{aligned} +H set \begin{alignat} +T set \end{alignat} +H set \begin{alignat*} +T set \end{alignat*} +H set \begin{xalignat} +T set \end{xalignat} +H set \begin{xxalignat} +T set \end{xxalignat} +H set \begin{verse} +T set \end{verse} +H set \begin{cases} +T set \end{cases} +H set \begin{pf} +T set \end{pf} + +H set \align +T set \endalign +%H set \alignat +T set \endalignat +H set \xalignat +T set \endxalignat +H set \xxalignat +T set \endxxalignat +H set \gather +T set \endgather +H set \multline +T set \endmultline +%H set \aligned +T set \endaligned +H set \topaligned +T set \endtopaligned +H set \botaligned +T set \endbotaligned +H set \cases +T set \endcases + +E set \demo +E set \item +E set \ref +E set \bibitem + +T set \break +T set \\ +T set \par +T set \newpage +T set \clearpage +T set \cleardoublepage |