diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2009-08-23 11:11:32 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2009-08-23 11:11:32 +0000 |
commit | 8fc3039c82d48605b5ca8b2eda3f4fdd755681e1 (patch) | |
tree | 3cd9bbdd599bc4d1ac0409e167fee2136e4c0ec9 /Master/texmf-dist/tex/context/base/spec-def.tex | |
parent | 850fc99b7cd3ae7a20065531fe866ff7bae642ec (diff) |
this is context 2009.08.19 17:10
git-svn-id: svn://tug.org/texlive/trunk@14827 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/spec-def.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/base/spec-def.tex | 1011 |
1 files changed, 0 insertions, 1011 deletions
diff --git a/Master/texmf-dist/tex/context/base/spec-def.tex b/Master/texmf-dist/tex/context/base/spec-def.tex deleted file mode 100644 index fcffbefde8d..00000000000 --- a/Master/texmf-dist/tex/context/base/spec-def.tex +++ /dev/null @@ -1,1011 +0,0 @@ -%D \module -%D [ file=spec-def, -%D version=1996.01.25, -%D title=\CONTEXT\ Special Macros, -%D subtitle=Definitions, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -%D This module used to be integrated in \type {spec-ini}, -%D but testing optimization is more convenient this way. - -\writestatus{loading}{Context Special Macros / Definitions} - -\unprotect - -%D The following libraries are defined. Two postscript -%D drivers are supported, as well as two mechanisms for -%D interactive texts. -%D -%D \startlinecorrection -%D \starttable[|l|l|l|l|l|] -%D \HL -%D \NC \bf file \NC -%D \bf name \NC -%D \bf calls \NC -%D \bf support \NC -%D \bf program / driver \NC\SR -%D \HL -%D \NC \tttf spec-tex \NC -%D \tttf tex \NC -%D \NC -%D Generic \TEX\ (\DVI) \NC -%D (default) \NC\FR -%D \NC \tttf spec-tpd \NC -%D \tttf \PDF \NC -%D \NC -%D Han The Thanh \NC -%D (pdftex) \NC\MR -%D \NC \tttf spec-ps \NC -%D \tttf postscript \NC -%D \NC -%D Adobe PostScript \NC -%D (default) \NC\MR -%D \NC \tttf spec-tr \NC -%D \tttf rokicki \NC -%D \tttf postscript \NC -%D Thomas Rokicki \NC -%D (dvips) \NC\MR -%D \NC \tttf spec-yy \NC -%D \tttf yandy \NC -%D \tttf postscript \NC -%D YandY \NC -%D (dvipsone, dviwindo) \NC\MR -%D \NC \tttf spec-pdf \NC -%D \tttf pdf \NC -%D \NC -%D Adobe PDF \NC -%D (Acrobat) \NC\MR -%D \NC \tttf spec-win \NC -%D \tttf dviwindo \NC -%D YandY \NC -%D (dviwindo) \NC\MR -%D \NC \tttf spec-htm \NC -%D \tttf html \NC -%D \NC -%D HTML V 2.0 \NC -%D (dvips) \NC\LR -%D \HL -%D \stoptable -%D \stoplinecorrection - -%D \macros -%D {dostartgraymode,dostopgraymode, -%D dostartrgbcolormode,dostartcmykcolormode,dostartgraycolormode,dostopcolormode} -%D -%D Switching to and from color can be done in two ways: -%D -%D \startitemize[packed,n] -%D \item insert driver specific commands -%D \item pass instructions to the output device -%D \stopitemize -%D -%D The first approach is more general and lays the -%D responsibility at the driver side. Probably due to the fact -%D that \TEX\ does not directly support color, we have been -%D confronted for the last few years with changing special -%D definitions. The need for support depends on how a macro -%D package handles colored text that crosses the page boundary. -%D Again, there are two approaches. -%D -%D \startitemize[packed,n] -%D \item let \TEX\ do the job -%D \item let the driver handle things -%D \stopitemize -%D -%D The first approach is as driver independant as possible and -%D can easily be accomplished by using \TEX's mark mechanism. -%D In \CONTEXT\ we follow this approach. More and more, drivers -%D are starting to support color, including stacking them. -%D -%D Colors as well as grayscales can be represented in scales -%D from~0 to~1. When drivers use values in the range 0..255, -%D this value has to be adapted in the translation process. -%D Technically it's possible to get a grayscale from combining -%D colors. In the \cap{RGB} color system, a color with Red, -%D Green and Blue components of 0.80 show the same gray as a -%D Gray Scale specified 0.80. The \cap{CMYK} color system -%D supports a Black component apart from Cyan, Magenta and -%D Yellow. -%D -%D Depending on the target format, color support differs from -%D gray support. PostScript for example offers different -%D operators for setting gray and color. This is because -%D printing something using three colors is someting else than -%D printing with just black. -%D -%D In \CONTEXT\ we have implemented a color subsystem that -%D supports the use of well defined colors that, when printed -%D in black and white, still can be distinguished. This -%D approach enables us to serve both printed and electronic -%D versions, using colored text and illustrations. More on the -%D fundamentals of this topic can be found in the \cap{MAPS} of -%D the Dutch User Group, 14 (95.1). -%D -%D To satisfy all those needs, we define four specials which -%D supply enough information for drivers to act upon. We -%D could have used more general commands with the keywords -%D 'rgb' and 'gray', but because these specials are used often, -%D we prefer the more direct and shorter alternative. -%D -%D We start with the installation of color and grayscale -%D specials. The values are in the range 0..1 (e.g. 0.25). -%D -%D \starttyping -%D \dostartgraymode {gray} ... \dostopgraymode -%D \dostartrgbcolormode {red} {green} {blue} ... \dostopcolormode -%D \dostartcmykcolormode {cyan} {magenta} {yellow} {black} ... \dostopcolormode -%D \dostartgraycolormode {gray} ... \dostopcolormode -%D \stoptyping -%D -%D Because we can expect conflicts between drivers, we -%D implement them as category \type{or}. In previous versions -%D of \DVIPSONE\ the use of their color||specials did not -%D interfere with the PostScript ones, but recent versions do. - -\installspecial [\dostartgraymode] [or] [1] -\installspecial [\dostopgraymode] [or] [0] - -\installspecial [\dostartrgbcolormode] [or] [3] -\installspecial [\dostartcmykcolormode] [or] [4] -\installspecial [\dostartgraycolormode] [or] [1] -\installspecial [\dostopcolormode] [or] [0] - -%D New and experimental: - -\installspecial [\dostartspotcolormode] [or] [2] - -\installspecial [\doregisterrgbspotcolor] [or] [7] -\installspecial [\doregistercmykspotcolor] [or] [8] -\installspecial [\doregistergrayspotcolor] [or] [5] - -\installspecial [\doregisterrgbindexcolor] [or] [7] -\installspecial [\doregistercmykindexcolor] [or] [8] -\installspecial [\doregistergrayindexcolor] [or] [5] - -\installspecial [\doregisterspotcolorname] [or] [2] - -\installspecial [\dostartnonecolormode] [or] [0] -\installspecial [\doregisternonecolor] [or] [0] - -%D For some drivers, the stop special is of no use and can -%D simply call the start one with zero arguments. - -%D \macros -%D {dogetfiguresize,doinsertfile,doinsertMPfile} -%D -%D Probably the most problematic special is the following -%D one. Because we want to be able to support different -%D schemes, we pass a lot of data to it. -%D -%D The support of inserting files (like illustrations) comes in -%D many flavors. Some drivers use scales, some take dimensions. -%D Some need offsets and others act on stored characteristics. -%D They need one thing in common: a filename. Although separate -%D specials for different formats sometimes are more clear, we -%D decided to combine them all in one: -%D -%D \starttyping -%D \doinsertfile {type,method} {file,label} -%D {xscale} {yscale} {x} {y} {w} {h} -%D {options} -%D \stoptyping -%D -%D The scale is given percents, the other values are base -%D points. -%D -%D Per 2006 we have simplified this model. The amount of drivers -%D is not growing and all support scaling. We pass variables via -%D Driver specific macros. -%D -%D \starttyping -%D \doinsertfile -%D \stoptyping -%D -%D The special is implemented as \type{or}. Because \DVIPSONE\ -%D understands them all, a chain of alternatives would generate -%D multiple occurrences of the same illustration. -%D -%D When option 1 is passed, the viewers is asked to present a -%D preview, like the first frame of a movie. - -\installspecial [\dogetfiguresize][or] [0] % now a special -\installspecial [\doinsertfile] [or] [0] % [9] -\installspecial [\doinsertMPfile] [or] [1] % speed up - -%D No start||stop construction is needed here, because there in -%D no further interference of \TEX. All dimensions are output -%D in points and scales as a number, where 100 equal 100\%. (We -%D used to pass scaled points). - -%D \macros -%D {doinsertsoundtrack} -%D -%D Sounds are (for the moment) just files with -%D associated options. -%D -%D \starttyping -%D \doinsertsoundtrack {file} {label} {options} -%D \stoptyping - -\installspecial [\doinsertsoundtrack] [or] [3] - -%D \macros -%D {dogetnofinsertpages} -%D -%D Some file formats support more than one page, like \PDF, -%D and for special applications, one may want to have access -%D to the total number of pages. -%D -%D \starttyping -%D \dogetnofinsertpages{filename} -%D \stoptyping -%D -%D The number is also available after the insert is placed, -%D since inclusion may take place immediate when an insert is -%D called upon. - -\def\nofinsertpages{1} % one of the few 'talk backs' - -\installspecial [\dogetnofinsertpages] [or] [1] - -%D \macros -%D {dostartrotation, -%D dostoprotation} -%D -%D We support rotation with the special: -%D -%D \starttyping -%D \dostartrotation {angle} ... \dostoprotation -%D \stoptyping -%D -%D For the moment these specials are installed as -%D category \type{or}. - -\installspecial [\dostartrotation] [or] [1] -\installspecial [\dostoprotation] [or] [0] - -%D \macros -%D {dostartscaling, -%D dostopscaling} -%D -%D Scaling is also supported: -%D -%D \starttyping -%D \dostartscaling {x} {y} ... \dostopscaling -%D \stoptyping -%D -%D Like the previous one, these specials are of category -%D \type{or}. - -\installspecial [\dostartscaling] [or] [2] -\installspecial [\dostopscaling] [or] [0] - -%D \macros -%D {dostartmirroring, -%D dostopmirroring} -%D -%D And indeed, mirroring is there too: -%D -%D \starttyping -%D \dostartmirroring {x} {y} ... \dostopmirroring -%D \stoptyping -%D -%D Again these specials are installed as category \type{or}. - -\installspecial [\dostartmirroring] [or] [0] -\installspecial [\dostopmirroring] [or] [0] - -%D \macros -%D {dostartnegative, -%D dostopnegative} -%D -%D When producing output for an image setter, negating the -%D page comes into view. Here are the tools: - -\installspecial [\dostartnegative] [or] [0] -\installspecial [\dostopnegative] [or] [0] - -%D \macros -%D {dostartoverprint, -%D dostopoverprint} -%D -%D Rudimentary overprint (knockout) control is implemented -%D using: - -\installspecial [\dostartoverprint] [or] [0] -\installspecial [\dostopoverprint] [or] [0] - -%D The following two specials are used in for instance \type -%D {\vadjust}'d margin material inside colored paragraphs. - -\installspecial [\dostartgraphicgroup] [or] [0] -\installspecial [\dostopgraphicgroup ] [or] [0] - -%D \macros -%D {doselectfirstpaperbin, -%D doselectsecondpaperbin} -%D -%D Here are some very printer||specific ones. No further -%D comment. - -\installspecial [\doselectfirstpaperbin] [or] [0] -\installspecial [\doselectsecondpaperbin] [or] [0] - -%D \macros -%D {doovalbox} -%D -%D When we look at the implementation, this is a complicated -%D one. There are seven arguments. -%D -%D \starttyping -%D \doovalbox {w} {h} {d} {linewidth} {radius} {stroke} {fill} {variant} -%D \stoptyping -%D -%D This command has to return a \type{\vbox} which can be used -%D to lay over another one (with text). The radius is in -%D degrees, the stroke and fill are~\type{1} (true) of~\type{0} -%D (false). - -\installspecial [\doovalbox] [or] [8] - -%D \macros -%D {dostartclipping,dostopclipping} -%D -%D Clipping is implemented in such a way that an arbitrary -%D can be fed. -%D -%D \starttyping -%D \dostartclipping {pathname}{width} {height} -%D \dostopclipping -%D \stoptyping -%D -%D - -\installspecial [\dostartclipping] [or] [3] -\installspecial [\dostopclipping] [or] [0] - -%D \macros -%D {dosetupidentity} -%D -%D We can declare some characteristics of the document with -%D -%D \starttyping -%D \dosetupidentity {title} {subject} {author} {creator} {date} {keys} -%D \stoptyping -%D -%D All data is in string format. - -\installspecial [\dosetupidentity] [and] [6] - -%D \macros -%D {dosetuppaper} -%D -%D This special can be used to tell the driver what page size -%D to use. The special takes three arguments. -%D -%D \starttyping -%D \dosetuppaper {type} {width} {height} -%D \stoptyping -%D -%D The type is one of the common identifiers, like A4, A5 or -%D B2. - -\installspecial [\dosetuppaper] [and] [3] - -%D \macros -%D {dosetupprinter} -%D -%D Some drivers enable the user to specify the paper type -%D used and/or page dimensions to be taken into account. -%D -%D \starttyping -%D \dosetupprinter {type} {hoffset} {voffset} {width} {height} -%D \stoptyping -%D -%D The first argument is one of \type{letter}, \type{legal}, -%D \type{A4}, \type{A5} etc. The dimensions are in -%D basepoints. - -\installspecial [\dosetupprinter] [and] [5] - -%D \macros -%D {dosetupopenaction, dosetupclosaction, -%D dosetupopenpageaction, dosetupclospageaction, -%D dosetupinteraction, -%D dosetupscreen, -%D dosetupviewmode} -%D -%D Here come some obscure interactive commands. Probably the -%D specs will change with the development of the macros that -%D use them. -%D -%D The first ones can be used to set up the interaction. -%D -%D \starttyping -%D \dosetupinteraction -%D \stoptyping -%D -%D Normally this command does nothing but giving a message -%D that some scheme is supported. -%D -%D \starttyping -%D \dosetupstartaction -%D \dosetupstopaction -%D \stoptyping -%D -%D These two setup the actions to be executed when the document -%D is opened and closed. -%D -%D The next commands sets up the page and screen. They are -%D kind of related. -%D -%D \starttyping -%D \dosetuppage {hoffset} {voffset} {width} {height} {options} -%D \dosetupscreen {hoffset} {voffset} {width} {height} {options} -%D \stoptyping -%D -%D The first four arguments are in points. Option~1 results in a -%D full screen launch. -%D -%D \starttyping -%D \dosetuppageview {keyword} -%D \stoptyping -%D -%D For the moment we only support \type{fit}. - -\installspecial [\dosetupinteraction] [and] [0] - -\installspecial [\dosetupopenaction] [and] [0] -\installspecial [\dosetupscreen] [and] [5] -\installspecial [\dosetuppageview] [and] [1] - -\installspecial [\dosetupcloseaction] [and] [0] -\installspecial [\dosetupopenpageaction] [and] [0] -\installspecial [\dosetupclosepageaction] [and] [0] -\installspecial [\dosetuprenderingopenpageaction] [and] [0] -\installspecial [\dosetuprenderingclosepageaction] [and] [0] - -% new, yet undocumented, replaces \dosetupscreen - -\installspecial [\dosetupcropbox] [and] [4] -\installspecial [\dosetuptrimbox] [and] [4] -\installspecial [\dosetupartbox] [and] [4] -\installspecial [\dosetupbleedbox] [and] [4] - -%D \macros -%D {dostarthide, -%D dostophide} -%D -%D Not every part of the screen is suitable for paper. Menus -%D for instance have no meaning on an non||interactive medium. -%D These elements are hidden by means of: -%D -%D \starttyping -%D \dostarthide -%D \dostophide -%D \stoptyping - -\installspecial [\dostarthide] [or] [0] -\installspecial [\dostophide] [or] [0] - -%D \macros -%D {dostartgotolocation, dostopgotolocation, -%D dostartgotorealpage, dostopgotorealpage} -%D -%D When we want to support hypertext buttons, again we have -%D to deal with two concepts. -%D -%D \startitemize[packed,n] -%D \item let \TEX\ highlight the text -%D \item let the driver show us where to click -%D \stopitemize -%D -%D The first approach is the most secure one. It gives us -%D complete control over the visual appearance of hyper -%D buttons. The second alternative lets the driver guess what -%D part of the text needs highlighting. As long as we deal with -%D not too complicated textual buttons, this is no problem. -%D It's even a bit more efficient when we take long mid -%D paragraph active regions into account. When we let \TEX\ -%D handle active sentences {\em for instance marked like this -%D one}, we have to take care of line- and pagebreaks ourselve. -%D However, it's no trivial matter to let a driver find out -%D where things begin and end. Because most hyperlinks can be -%D found in tables of contents and registers, the saving in -%D terms of bytes can be neglected and the first approach is a -%D clear winner. -%D -%D The most convenient way of cross||referencing is using named -%D destinations. A more simple scheme is using page numbers as -%D destinations. Because the latter alternative can often be -%D implemented more efficient, and because we cannot be sure -%D what scheme a driver supports, we always have to supply a -%D pagenumber, even when we use named destinations. -%D -%D To enable a driver to find out what to make active, we have -%D to provide begin and endpoints, so like with color, we use -%D pairs of specials. The first scheme can be satisfied with -%D proper dimensions of the areas to be made active. -%D -%D The interactive real work is done by the following four -%D specials. The reason for providing the first one with both -%D a label and a number, is a result of the quite poor -%D implementation of \type{pdfmarks} in version 1.0 of -%D Acrobat. Because only pagenumbers were supported as -%D destination, we had to provide both labels (\DVIWINDO) and -%D pagenumbers (\PDF). Some drivers use start stop pairs. -%D -%D \starttyping -%D \dostartgotolocation {w} {h} {url} {file} {label} {page} -%D \dostartgotorealpage {w} {h} {url} {file} {page} -%D \stoptyping -%D -%D Their counterparts are: -%D -%D \starttyping -%D \dostopgotolocation -%D \dostopgotorealpage -%D \stoptyping -%D -%D The internal alternative is used for system||generated -%D links, the external one for user||generated links. The -%D Uniform Resource Locator can be used to let the reader -%D surf the net. - -\installspecial [\dostartgotolocation] [and] [6] -\installspecial [\dostopgotolocation] [and] [0] -\installspecial [\dostartgotorealpage] [and] [5] -\installspecial [\dostopgotorealpage] [and] [0] - -%D One may wonder why jumps to page and location are not -%D combined. By splitting them, we enable macro||packages to -%D force the prefered alternative, while on the other hand -%D drivers can pick up the alternative desired most. - -%D \macros -%D {dostartgotoJS, doflushJSpreamble} -%D -%D Rather special is the option to include and execute -%D JavaScript code. This is a typical \PDF\ option. -%D -%D \starttyping -%D \dostartgotoJS {w} {h} {script} -%D \stoptyping -%D -%D This not so standard \TEX\ feature should be used with -%D care. Preamble scripts are flushed by -%D -%D \doflushJSpreamble {script} - -\installspecial [\dostartgotoJS] [and] [3] -\installspecial [\dostopgotoJS] [and] [0] -\installspecial [\doflushJSpreamble][and] [1] - -%D \macros -%D {dostartthisislocation, dostopthisislocation, -%D dostartthisisrealpage, dostopthisisrealpage} -%D -%D Before we can goto some location or page, we have to tell -%D the system where it can be found. Because some drivers -%D follow the \SGML\ approach of begin||end tags, we have to -%D support pairs. A possible extension to this scheme is -%D supplying coordinates for viewing the text. -%D -%D The opposite commands of \type{\dogotosomething} have only -%D one argument: -%D -%D \starttyping -%D \dostartthisislocation {label} -%D \dostartthisisrealpage {page} -%D \stoptyping -%D -%D These commands are accompanied by: -%D -%D \starttyping -%D \dostopthisislocation -%D \dostopthisisrealpage -%D \stoptyping -%D -%D As with all interactive commands's they are installed as -%D \type{and} category specials. - -\installspecial [\dostartthisislocation] [and] [1] -\installspecial [\dostopthisislocation] [and] [0] -\installspecial [\dostartthisisrealpage] [and] [1] -\installspecial [\dostopthisisrealpage] [and] [0] - -%D In \CONTEXT\ we don't use the \type{\stopsomething} -%D macros because we let \TEX\ take care of typographic -%D issues. - -%D \macros -%D {doresetgotowhereever} -%D -%D These and others need: - -\installspecial [\doresetgotowhereever] [and] [0] - -%D \macros -%D {dostartexecutecommand, dostopexecutecommand} -%D -%D The actual behavior of the next pair of commands depends -%D much on the viewing engine. Therefore one cannot depend -%D too much on their support. -%D -%D \starttyping -%D \dostartexecutecommand {w} {h} {command} {options} -%D \stoptyping -%D -%D At least the next commands are supported (more examples -%D can be found in \type {spec-fdf.tex}: -%D -%D \startlinecorrection\setupalign[middle]\leavevmode -%D \starttable[|l|l|] -%D \HL -%D \NC \bf command \NC \bf action \NC\SR -%D \HL -%D \NC first \NC go to the first page \NC\FR -%D \NC previous \NC go to the previous page \NC\MR -%D \NC next \NC go to the next page \NC\MR -%D \NC last \NC go to the last page \NC\MR -%D \NC backward \NC go back to the link list \NC\MR -%D \NC forward \NC go forward in the link list \NC\MR -%D \NC print \NC enter print mode \NC\MR -%D \NC exit \NC exit viewer \NC\MR -%D \NC close \NC close document \NC\MR -%D \NC enter \NC enter viewer \NC\MR -%D \NC help \NC show help on the viewer \NC\LR -%D \HL -%D \stoptable -%D \stoplinecorrection -%D -%D Options are to be passed as a comma separated list of -%D assignments. - -\installspecial [\dostartexecutecommand] [and] [4] -\installspecial [\dostopexecutecommand] [and] [0] - -%D \macros -%D {dostartobject, -%D dostopobject, -%D doresetobjects, -%D doinsertobject} -%D -%D Reuse of object can reduce the output filesize -%D considerably. Reusable objects are implemented with: -%D -%D \starttyping -%D \dostartobject{class}{name}{width}{height}{depth} -%D some typeset material -%D \dostopobject -%D \stoptyping -%D -%D \starttyping -%D \doinsertobject{class}{name} -%D \stoptyping -%D -%D The savings can be huge in interactive texts. The next macro needs -%D to be called after a graphic is inserted (in order to clean up -%D global references). -%D -%D \starttyping -%D \doresetobjects -%D \stoptyping - -\installspecial [\dostartobject] [or] [5] -\installspecial [\dostopobject] [or] [0] -\installspecial [\doinsertobject] [or] [2] -\installspecial [\doresetobjects] [or] [0] - -%D \macros -%D {doregisterfigure, doregisterfigurecolor} -%D -%D Images can be objects as well and it's up to the driver to -%D handle this. Alternative images are also up to the driver, -%D and the next macro tells the driver that the previous image -%D is somehow followed by another and that both have to be -%D handled together. This is a rather fuzzy model, but for the -%D moment it suits its purpose: low res screen versions combined -%D with high res printable ones. - -\installspecial [\doregisterfigure] [or] [2] -\installspecial [\doregisterfigurecolor][or] [1] - -% %D \macros -% %D {dogetobjectreference} -% %D -% %D For very special purposes, one can ask for the internal -% %D reference to the object. Beware! -% -% \installspecial [\dogetobjectreference] [or] [3] -% -% %D The first argument is the name, the second a macro that -% %D gets the associated value. - -%D \macros -%D {dostartrunprogram, dostoprunprogram, -%D dostartgotoprofile, dostopgotoprofile, -%D dobeginofprofile, -%D doendofprofile} -%D -%D These specials are still experimental. They are not yet -%D supported by the programs the way they should be. -%D -%D {\em --- still undocumented ---} - -\installspecial [\dostartrunprogram] [and] [4] -\installspecial [\dostoprunprogram] [and] [0] -\installspecial [\dostartgotoprofile] [and] [3] -\installspecial [\dostopgotoprofile] [and] [0] -\installspecial [\dobeginofprofile] [and] [4] -\installspecial [\doendofprofile] [and] [0] - -%D \macros -%D {doinsertbookmark} -%D -%D Bookmarks, that is viewer generated tables of contents, are -%D a strange phenomena, mainly because \TEX\ can provide -%D whatever kind of table in much better quality. - -\installspecial [\doinsertbookmark] [and] [5] - -%D This special is called as: -%D -%D \starttyping -%D \doinstallbookmark {level} {nofsubentries} {text} {page} {open} -%D \stoptyping -%D -%D This definition is very \PDF\ oriented, so for more -%D information we kindly refer to the \PDF\ manuals. - -%D \macros -%D {dosetpagetransition} -%D -%D In presentations, fancy page transitions can, at least for a -%D short moment, let the audience focus at the screen. Like the -%D previous one, this special is very \PDF. -%D -%D \starttyping -%D \dosetpagetransition{dissolve}{0} -%D \stoptyping -%D -%D Transitions have symbolic names, like dissolve, box, split, -%D blinds, wipe and glitter. The second argument determines -%D the wait time (unless zero). - -\installspecial [\dosetpagetransition] [or] [2] - -%D \macros -%D {dopresettextfield,dopresetlinefield, -%D dopresetchoicefield,dopresetpopupfield,dopresetcombofield, -%D dopresetbuttonfield,dopresetcheckfield, -%D dopresetradiofield,dopresetradiorecord} -%D -%D The special drivers are programmed independant from their -%D calling macros are thereby use the standard \TEX\ way of -%D passing parameters. Unfortunately fields often have more -%D than nine characteristics, so we pack some arguments in one. -%D -%D \starttyping -%D \dopresettextfield / \dopresetlinefield -%D {name} {width} {height} {default} {length} -%D {style,color} {options} {alignment} {actions} -%D -%D \dopresetchoicefield / \dopresetpopupfield / \dopresetcombofield -%D {name} {width} {height} {default} -%D {style,color} {options} {values} {actions} -%D -%D \dopresetpushfield -%D {name} {width} {height} {default} -%D {options} {values} {actions} -%D -%D \dopresetcheckfield -%D {name} {width} {height} {default} -%D {options} {values} {actions} -%D -%D \dopresetradiofield -%D {name} {width} {height} {default} -%D {options} {parent} {values} {actions} -%D -%D \dopresetradiorecord -%D {name} {top} {options} {kids} {actions} -%D \stoptyping - -\installspecial [\dopresetlinefield] [or] [9] -\installspecial [\dopresettextfield] [or] [9] -\installspecial [\dopresetchoicefield] [or] [8] -\installspecial [\dopresetpopupfield] [or] [8] -\installspecial [\dopresetcombofield] [or] [8] -\installspecial [\dopresetpushfield] [or] [7] -\installspecial [\dopresetcheckfield] [or] [7] -\installspecial [\dopresetradiofield] [or] [8] -\installspecial [\dopresetradiorecord] [or] [5] - -%D \macros -%D {dodefinefieldset,dogetfieldset,doiffieldset} -%D -%D Field sets, used in resetting and submitting, are handled -%D by: - -\installspecial [\dodefinefieldset] [or] [2] -\installspecial [\dogetfieldset] [or] [1] -\installspecial [\doiffieldset] [or] [2] - -%D \macros -%D {dosetfieldstatus} -%D -%D For practical reasons we set some field characteristics -%D using: -%D -%D \starttyping -%D \dosetfieldstatus {mode} {parent} {kids} {root} -%D \stoptyping - -\installspecial [\dosetfieldstatus] [or] [4] - -%D with: - -\def\fieldlonermode {0} % no \chardef here -\def\fieldparentmode{1} % no \chardef here -\def\fieldchildmode {2} % no \chardef here -\def\fieldcopymode {3} % no \chardef here - -%D \macros -%D {doregistercalculationset} -%D -%D We can define a calculation order list with: -%D -%D \starttyping -%D \doregistercalculationset {set identifier} -%D \stoptyping - -\installspecial [\doregistercalculationset] [or] [1] - -%D \macros -%D {doinsertcomment, doflushcomments} -%D -%D Not so much out of need, but to be complete, we also -%D implement text annotations, so called comment: -%D -%D \starttyping -%D \doinsertcomment -%D {title} {width} {height} {color} {open} {symbol} {collect} {data} -%D \stoptyping -%D -%D When enables, comments can be collected and flushed: -%D -%D \starttyping -%D \doflushcomments -%D \stoptyping - -\installspecial[\doinsertcomment] [and] [8] -\installspecial[\doflushcomments] [and] [0] - -%D \macros -%D {dosetposition, dosetpositionwhd, dosetpositionplus, -%D dosetpositionpapersize} -%D -%D Not natural to \TEX, but available in \PDFTEX, and by -%D means of postprocessed \DVI, we can save and call upon -%D positions. -%D -%D \starttyping -%D \dosetposition {identifier} -%D \dosetpositionwhd {identifier} {width} {height} {depth} -%D \dosetpositionplus {identifier} {width} {height} {depth} {list} -%D \dosetpositionpapersize {width} {height} -%D \stoptyping -%D -%D This is one of the few specials where when using \PDFTEX\ -%D the driver directly deals with the utility file. - -%D Support is moved to spec-mis.tex. The whole idea originates -%D and was implemented first in \PDFTEX. Later \DVIPDFMX\ -%D supported the \CONTEXT\ specific specials and nowadays -%D \PDFTEX\ supports this feature in \DVI\ mode and \XETEX\ -%D implements it as well. This means that only \ALEPH\ is -%D still dependent on specials, but that variant of \TEX\ has -%D become obsolete anyway. - -% \installspecial [\dosetposition] [or] [1] -% \installspecial [\dosetpositionwhd] [or] [4] -% \installspecial [\dosetpositionplus] [or] [5] - -% \installspecial [\dosetpositionpapersize] [or] [2] - -%D \macros -%D {dostarttransparency,dostoptransparency} -%D -%D \starttyping -%D \dostarttransparency{fraction}{type} -%D \dostoptransparency -%D \stoptyping -%D -%D Although in \CONTEXT\ transparency is closely integrated -%D in the color drivers, in the end it is an independent -%D feature. - -\installspecial [\dostarttransparency] [or] [2] -\installspecial [\dostoptransparency] [or] [0] - -%D \macros -%D {doattachfile} -%D -%D \starttyping -%D \doattachfile{title}{width}{height}{depth}{color}{symbol}{filename}{source} -%D \stoptyping - -\installspecial [\doattachfile] [or] [8] - -%D Experimental (properties): - -\installspecial[\dostartviewerlayer] [or] [1] -\installspecial[\dostopviewerlayer] [or] [0] -\installspecial[\dodefineviewerlayer] [or] [5] -%installspecial[\doflushviewertextlayers] [or] [0] -%installspecial[\doflushviewerpagelayers] [or] [0] -\installspecial[\domakeviewerlayerlist] [or] [1] - -\installspecial[\doinsertrenderingwindow] [or] [4] -\installspecial[\doinsertrendering] [or] [4] -\installspecial[\doinsertrenderingobject] [or] [4] -\installspecial[\doinsertrenderingobject] [or] [4] - -\installspecial[\dostartfonteffect] [or] [3] -\installspecial[\dostopfonteffect] [or] [0] - -%D From now on, mapfile loading is also a special; we assume the -%D more or less standard dvips syntax. - -\installspecial[\doresetmapfilelist] [and] [0] -\installspecial[\doloadmapfile] [and] [2] % + - = | filename -\installspecial[\doloadmapline] [and] [2] % + - = | fileline - -%D We define a couple of backends: - -\defineoutput [dvipsone] [dvi,ps,yy] -\defineoutput [dviwindo] [dvi,ps,yy,win] -\defineoutput [dvips] [dvi,ps,tr] -\defineoutput [dviview] [dvi,ps,tr,dv] -\defineoutput [pdftex] [tpd] -\defineoutput [pdf] [tpd] -\defineoutput [dvipdfm] [dpm] -\defineoutput [dpm] [dpm] -\defineoutput [dvipdfmx] [dpx] -\defineoutput [dpx] [dpx] -\defineoutput [acrobat] [pdf,ps,tr] - -\defineoutput [xetex] [dpx,xet] -\defineoutput [xtx] [dpx,xet] -\defineoutput [xdv] [dvi,xtx,xet] -\defineoutput [xdv2pdf] [dvi,xtx,xet] - -%D Please let me know if we need more. From now on we default -%D to: - -\setupoutput [dvips] - -%D We don't enable \ACROBAT, because pure \POSTSCRIPT\ is not -%D that strong on objects and \PDFTEX\ does a better job. -%D Some reasonable alternatives are: -%D -%D \starttyping -%D \setupoutput [dvipsone,acrobat] -%D \setupoutput [dviwindo,acrobat] -%D \stoptyping -%D -%D Although, better is: -%D -%D \starttyping -%D \setupoutput [pdftex] -%D \stoptyping - -\loadmarkfile{spec-def} - -\protect \endinput |