From 3e5bc6360786eddeda74db5c6fa1f67488ddd127 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 13 Sep 2009 00:11:13 +0000 Subject: selectp license update (12sep09) git-svn-id: svn://tug.org/texlive/trunk@15250 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/ltxmisc/selectp.sty | 232 ----------------------- Master/texmf-dist/tex/latex/selectp/selectp.sty | 235 ++++++++++++++++++++++++ 2 files changed, 235 insertions(+), 232 deletions(-) delete mode 100644 Master/texmf-dist/tex/latex/ltxmisc/selectp.sty create mode 100644 Master/texmf-dist/tex/latex/selectp/selectp.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/tex/latex/ltxmisc/selectp.sty b/Master/texmf-dist/tex/latex/ltxmisc/selectp.sty deleted file mode 100644 index 1c4e609ff2c..00000000000 --- a/Master/texmf-dist/tex/latex/ltxmisc/selectp.sty +++ /dev/null @@ -1,232 +0,0 @@ -% -% S E L E C T P . S T Y - Select pages for output -% -% Version 0.9 (test), Sept 25, 1992 (So much for keeping versions current!) -% -% By Donald Arseneau, asnd@reg.triumf.ca, based on macros in -% TUGBoat, 8:2 (1987), p. 217 written by Don Knuth, and with -% suggestions from Hossein Saiedian. -% -% This style allows selection of individual pages to be output by LaTeX -% or plain TeX by specifying, for example, -% -% \outputonly{1,3, 7-12 16 17} -% -% The list of numbers should be in the order that TeX generates the pages. -% The numbers should be separated by commas or spaces, and may include -% ranges (7-12). -% -% More complete instructions follow \endinput - - -% First, set catcode of @ in case it isn't a "letter" already -\expandafter\edef\csname SP@catcode\endcsname - {\catcode`\noexpand\@=\the\catcode`\@ - \let \csname SP@catcode\endcsname \noexpand\UnDefinedButNoAt} -\catcode`\@=11 - -% Allow plain TeX to use this style: - -\ifx\c@page\Und@Fynd - \let\c@page \pageno - \def\@empty{}% note: \ifx ignores the \global nature of macros for comparison - \let\nofiles\relax - \let\typeout\message -\fi - -% Read list of selected pages - -\def\outputonly{\begingroup \catcode`\,13 \SP@outonly} - -\begingroup \catcode`\,13 -\gdef\SP@outonly#1{\edef,{\string,}\typeout{Only pages #1 will be output.}% - \def,{ }\xdef\SP@geS{\SP@geS\space #1}% make commas be spaces - \endgroup - \nofiles % prevent writing partial .aux files - \let\shipout\SP@shipout% replace shipout command - \ifnum\SP@nextpage=-\maxdimen % if first \outputonly command... - \SP@getnextpage \fi % get first page number from list -}\endgroup - -\gdef\SP@geS{} - -% replace \shipout command with filter to select pages for output - -\let\plain@shipout=\shipout - -\newcount\SP@nextpage \global\SP@nextpage=-\maxdimen % flag as undefined -\newcount\SP@expectpage \global\SP@expectpage=-\maxdimen - -\def\SP@getnextpage{\ifx\SP@geS\@empty \global\SP@nextpage\maxdimen - \else % If more page numbers on list - \afterassignment\SP@updPS \global\SP@nextpage\SP@geS\relax - \fi} - -\def\SP@updPS#1\relax{\gdef\SP@geS{#1}} - -\def\SP@shipout{\relax %\showthe\c@page% - \ifnum\SP@expectpage=-\maxdimen \global\SP@expectpage\c@page - \else \global\advance\SP@expectpage\@ne - \fi - \ifnum\SP@expectpage=\c@page\else % page number has jumped, - \ifnum\SP@nextpage<\z@ % if in middle of a range -- - \ifnum \AbsVal\c@page >\AbsVal\SP@expectpage\else % and jumping backward -- - \SP@getnextpage % read next number for sure - \fi\fi - \SP@catchup % Resynchronize - \fi \global\SP@expectpage\c@page - \ifnum\SP@nextpage<\z@ % either a `negative' page, or end of range - \ifnum\c@page<\z@ % preamble pages in plain only match singly - \ifnum\c@page=\SP@nextpage\SP@getnextpage \let\SP@dopage\plain@shipout\fi - \else % look for range match - \ifnum\c@page>-\SP@nextpage \else \let\SP@dopage\plain@shipout \fi - \ifnum\c@page<-\SP@nextpage \else \SP@getnextpage \fi - \fi - \else % look for single match - \ifnum\c@page=\SP@nextpage \SP@getnextpage \let\SP@dopage\plain@shipout \fi - \fi \SP@dopage} - -\newbox\SP@garbage -\def\SP@dopage{\deadcycles\z@ \setbox\SP@garbage=} - -% read list of desired pages to get resynchronized with actual page numbers. -% \SP@catchup is called whenever the page number has a discontinuity. -% -\def\SP@catchup{% - \ifnum \AbsVal\c@page >\AbsVal\SP@nextpage - \ifx\SP@geS\@empty \def\SP@catchup{\global\SP@nextpage\maxdimen}\fi - \SP@getnextpage - \expandafter \SP@catchup - \fi} - -% take absolute value of TeX number or dimension -\def\AbsVal#1{\ifnum#1<\z@-\fi#1} - -\SP@catcode % restore @ catcode - -\endinput -% -% SELECTP.STY -- Select pages for output -% -% INSTRUCTIONS -% -% This style file defines the command \outputonly which selects specific -% pages for output, much as \includeonly selects certain files for input. -% To use selectp.sty in LaTeX, specify "selectp" as one of the document -% style options and give the command \outputonly{_list_of_page_numbers_} -% before \begin{document}. Only pages given in the list will be output -% to the DVI file. For example -% -% \documentstyle[12pt,selectp,subeqn]{article} -% \outputonly{1,3, 7-12 16 17} -% -% which will allow only pages 1,3,7,8,9,10,11,12,16,17 to be output. -% For plain TeX, use \input{selectp.sty}. -% -% The number list should consist of numbers and number ranges (7-12, e.g.) -% separated by commas or spaces. The order is not random but MUST BE THE -% ORDER THAT THE PAGES ARE PRODUCED; normally this means the numbers must -% always increase. If an invalid page number appears on the list, no pages -% will be output until the list is re-synchronized or the document ends. -% -% Any time the document's page number does not increment normally, -% selectp.sty tries to re-synchronize the page number with the \outputonly -% list of numbers. This is necessary when \includeonly is used. -% -% Pages that are labeled with roman numerals or letters should still be -% listed with a normal arabic number; page xi should be referred to as 6. -% -% In LaTeX, unfortunately, pages i and 1 are both number 1, so it is -% tricky to skip over all the roman-numbered pages and then print -% page 1. If there are 3 roman-numbered pages, -% 1-3 will print pages i,ii,iii; not pages 1,2,3 -% 1-3,1-5 will print pages i,ii,iii,1,2,3,4,5 -% 1-3,8-12 will print pages i,ii,iii,8,9,10,11,19 -% 1,1-5 will print i,1,2,3,4,5 -% 1-6 prints pages i,ii,iii only, not pages 4,5,6 !!! -% 0,2-6 prints pages 2,3,4,5,6, since there is no page 0 and the -% outputonly page list is resynchronized when the actual page -% number goes back to 1) -% -% The last example is illuminating. LaTeX looks for page 0, but can't find -% it. It skips pages until the page number goes from 3(iii) to 1, at which -% point it resynchronizes by reading "2" from the list, waiting for page 2 -% to be produced, and then writing page 2. Selectp then reads "-6", and -% CONTINUES outputting pages until it has done page 6. As long as the -% numbers of the intervening pages are less than 6 (the end of the range), -% those pages will be printed. -% -% If there are no roman numeral pages, the number list is simple, because -% the numbers must increase monotonically. -% -% LaTeX will not write auxilliary files while selecting output pages, so -% the cross references and citations must be correct on the run BEFORE -% using \outputonly. Unfortunately, this means you must produce the -% full-size DVI file at least once. -% -% If multuple \outputonly commands are given, the lists are concatenated. -% -% In plain TeX, specify roman numeral pages as negative numbers, but do not -% use ranges until getting to the ordinary (arabic) page numbers (e.g., -% \outputonly{-1,-2,-3,-4, 1-8}). In plain TeX specifying page 1 will NOT -% print page i. -% -% If a page number in the list is not found, generally no more pages will be -% printed. For example, suppose a document has 50 pages, the list 3 5 910 13 -% (which perhaps should read "9 10") causes LaTeX to process silently -% through the whole document looking for page 910. Only pages 3 and 5 will -% be printed. -% -% EXCEPT if the number terminating a RANGE is not found {3 5-910 13}, -% LaTeX continues outputting pages until the end. -% -% EXCEPT if the actual page number changes discontinuously, then the number -% list MAY be scanned for the next number greater than the new page number. -% (Jumps are usually due to the numbering being changed from roman to arabic -% with the page reset to 1, or because an included file was skipped due to -% an \includeonly command.) The list is scanned if the page number jumps -% backward, or if it jumps forward PAST the current target page. ("Target -% page" = the end of the current range or the next number to be printed out, -% as appropriate.) -% -% Numbers must be integers: 4.3 is illegal, even if some other style file -% is generating page numbers in that format. -% -% Of course non-numbers are illegal. Some plausible mistakes: -% page, xvii, IV, 12--16, 49ff, 49-, 5_7. -% 5_7 could be a typo for the range 5-7. -% To specify page 49 and all following ("49ff" or "49-"), use a range -% ending with a non-existent page: 49-99999. -% The typo 12--16 prints pages 12 and 16, not the range 12 through 16 as -% intended. -% -% EXAMPLES OF USE -% -% Suppose a document has pages i,ii,iii,iv,v,vi,1,2,3,...,33, but pages -% 22...28 are absent due to \includeonly; here are some examples of valid -% uses of \outputonly. -% -% \outputonly{15-20} -- prints only the 6 pages 15...20 -% \outputonly{1-3} -- prints pages i,ii,iii (in LaTeX) -% -- plain TeX prints pages 1,2,3 -% \outputonly{1,1,2} -- prints pages i,1,2 -% \outputonly{0,1,2} -- prints pages 1,2 -% \outputonly{1,3-6} -- prints pages i,iii,iv,v,vi -% \outputonly{4,3-6} -- prints pages iv,3,4,5,6 -% \outputonly{5,2} -- prints pages v,2 -% \outputonly{5-2} -- prints only page v only! -% \outputonly{5-7} -- prints pages v,vi only! -% \outputonly{1-33} -- prints pages i,ii,iii,iv,v,vi only! -% \outputonly{29-99} -- prints pages 29,30,31,32,33 -% \outputonly{19-99} -- prints pages 19,20,21,29,30,31,32,33 -% \outputonly{24-32} -- prints pages 29,30,31,32 -% \outputonly{15-25,32} -- prints pages 15,16,17,18,19,20,21,32 -% \outputonly{0,4,23-27,31-99} -- prints pages 4,31,32,33 -% -% Version 0.9 (test), Sept 25, 1992: -% -% Send problem reports to asnd@triumfcl.bitnet or asnd@Reg.triumf.ca -% -% test integrity: -% brackets: round, square, curly, angle: () [] {} <> -% backslash, slash, vertical, hat, tilde: \ / | ^ ~ diff --git a/Master/texmf-dist/tex/latex/selectp/selectp.sty b/Master/texmf-dist/tex/latex/selectp/selectp.sty new file mode 100644 index 00000000000..7ded64bcb18 --- /dev/null +++ b/Master/texmf-dist/tex/latex/selectp/selectp.sty @@ -0,0 +1,235 @@ +% +% S E L E C T P . S T Y - Select pages for output +% +% Version 1.0 Sept 25, 1992 +% +% By Donald Arseneau, asnd@triumf.ca, based on macros in +% TUGBoat, 8:2 (1987), p. 217 written by Don Knuth, and with +% suggestions from Hossein Saiedian. +% +% Copyright 1992, Donald Arseneau +% This software is contributed freely to the public domain. +% +% This style allows selection of individual pages to be output by LaTeX +% or plain TeX by specifying, for example, +% +% \outputonly{1,3, 7-12 16 17} +% +% The list of numbers should be in the order that TeX generates the pages. +% The numbers should be separated by commas or spaces, and may include +% ranges (7-12). +% +% More complete instructions follow \endinput + + +% First, set catcode of @ in case it isn't a "letter" already +\expandafter\edef\csname SP@catcode\endcsname + {\catcode`\noexpand\@=\the\catcode`\@ + \let \csname SP@catcode\endcsname \noexpand\UnDefinedButNoAt} +\catcode`\@=11 + +% Allow plain TeX to use this style: + +\ifx\c@page\Und@Fynd + \let\c@page \pageno + \def\@empty{}% note: \ifx ignores the \global nature of macros for comparison + \let\nofiles\relax + \let\typeout\message +\fi + +% Read list of selected pages + +\def\outputonly{\begingroup \catcode`\,13 \SP@outonly} + +\begingroup \catcode`\,13 +\gdef\SP@outonly#1{\edef,{\string,}\typeout{Only pages #1 will be output.}% + \def,{ }\xdef\SP@geS{\SP@geS\space #1}% make commas be spaces + \endgroup + \nofiles % prevent writing partial .aux files + \let\shipout\SP@shipout% replace shipout command + \ifnum\SP@nextpage=-\maxdimen % if first \outputonly command... + \SP@getnextpage \fi % get first page number from list +}\endgroup + +\gdef\SP@geS{} + +% replace \shipout command with filter to select pages for output + +\let\plain@shipout=\shipout + +\newcount\SP@nextpage \global\SP@nextpage=-\maxdimen % flag as undefined +\newcount\SP@expectpage \global\SP@expectpage=-\maxdimen + +\def\SP@getnextpage{\ifx\SP@geS\@empty \global\SP@nextpage\maxdimen + \else % If more page numbers on list + \afterassignment\SP@updPS \global\SP@nextpage\SP@geS\relax + \fi} + +\def\SP@updPS#1\relax{\gdef\SP@geS{#1}} + +\def\SP@shipout{\relax %\showthe\c@page% + \ifnum\SP@expectpage=-\maxdimen \global\SP@expectpage\c@page + \else \global\advance\SP@expectpage\@ne + \fi + \ifnum\SP@expectpage=\c@page\else % page number has jumped, + \ifnum\SP@nextpage<\z@ % if in middle of a range -- + \ifnum \AbsVal\c@page >\AbsVal\SP@expectpage\else % and jumping backward -- + \SP@getnextpage % read next number for sure + \fi\fi + \SP@catchup % Resynchronize + \fi \global\SP@expectpage\c@page + \ifnum\SP@nextpage<\z@ % either a `negative' page, or end of range + \ifnum\c@page<\z@ % preamble pages in plain only match singly + \ifnum\c@page=\SP@nextpage\SP@getnextpage \let\SP@dopage\plain@shipout\fi + \else % look for range match + \ifnum\c@page>-\SP@nextpage \else \let\SP@dopage\plain@shipout \fi + \ifnum\c@page<-\SP@nextpage \else \SP@getnextpage \fi + \fi + \else % look for single match + \ifnum\c@page=\SP@nextpage \SP@getnextpage \let\SP@dopage\plain@shipout \fi + \fi \SP@dopage} + +\newbox\SP@garbage +\def\SP@dopage{\deadcycles\z@ \setbox\SP@garbage=} + +% read list of desired pages to get resynchronized with actual page numbers. +% \SP@catchup is called whenever the page number has a discontinuity. +% +\def\SP@catchup{% + \ifnum \AbsVal\c@page >\AbsVal\SP@nextpage + \ifx\SP@geS\@empty \def\SP@catchup{\global\SP@nextpage\maxdimen}\fi + \SP@getnextpage + \expandafter \SP@catchup + \fi} + +% take absolute value of TeX number or dimension +\def\AbsVal#1{\ifnum#1<\z@-\fi#1} + +\SP@catcode % restore @ catcode + +\endinput +% +% SELECTP.STY -- Select pages for output +% +% INSTRUCTIONS +% +% This style file defines the command \outputonly which selects specific +% pages for output, much as \includeonly selects certain files for input. +% To use selectp.sty in LaTeX, specify "selectp" as one of the document +% style options and give the command \outputonly{_list_of_page_numbers_} +% before \begin{document}. Only pages given in the list will be output +% to the DVI file. For example +% +% \documentstyle[12pt,selectp,subeqn]{article} +% \outputonly{1,3, 7-12 16 17} +% +% which will allow only pages 1,3,7,8,9,10,11,12,16,17 to be output. +% For plain TeX, use \input{selectp.sty}. +% +% The number list should consist of numbers and number ranges (7-12, e.g.) +% separated by commas or spaces. The order is not random but MUST BE THE +% ORDER THAT THE PAGES ARE PRODUCED; normally this means the numbers must +% always increase. If an invalid page number appears on the list, no pages +% will be output until the list is re-synchronized or the document ends. +% +% Any time the document's page number does not increment normally, +% selectp.sty tries to re-synchronize the page number with the \outputonly +% list of numbers. This is necessary when \includeonly is used. +% +% Pages that are labeled with roman numerals or letters should still be +% listed with a normal arabic number; page xi should be referred to as 6. +% +% In LaTeX, unfortunately, pages i and 1 are both number 1, so it is +% tricky to skip over all the roman-numbered pages and then print +% page 1. If there are 3 roman-numbered pages, +% 1-3 will print pages i,ii,iii; not pages 1,2,3 +% 1-3,1-5 will print pages i,ii,iii,1,2,3,4,5 +% 1-3,8-12 will print pages i,ii,iii,8,9,10,11,19 +% 1,1-5 will print i,1,2,3,4,5 +% 1-6 prints pages i,ii,iii only, not pages 4,5,6 !!! +% 0,2-6 prints pages 2,3,4,5,6, since there is no page 0 and the +% outputonly page list is resynchronized when the actual page +% number goes back to 1) +% +% The last example is illuminating. LaTeX looks for page 0, but can't find +% it. It skips pages until the page number goes from 3(iii) to 1, at which +% point it resynchronizes by reading "2" from the list, waiting for page 2 +% to be produced, and then writing page 2. Selectp then reads "-6", and +% CONTINUES outputting pages until it has done page 6. As long as the +% numbers of the intervening pages are less than 6 (the end of the range), +% those pages will be printed. +% +% If there are no roman numeral pages, the number list is simple, because +% the numbers must increase monotonically. +% +% LaTeX will not write auxilliary files while selecting output pages, so +% the cross references and citations must be correct on the run BEFORE +% using \outputonly. Unfortunately, this means you must produce the +% full-size DVI file at least once. +% +% If multuple \outputonly commands are given, the lists are concatenated. +% +% In plain TeX, specify roman numeral pages as negative numbers, but do not +% use ranges until getting to the ordinary (arabic) page numbers (e.g., +% \outputonly{-1,-2,-3,-4, 1-8}). In plain TeX specifying page 1 will NOT +% print page i. +% +% If a page number in the list is not found, generally no more pages will be +% printed. For example, suppose a document has 50 pages, the list 3 5 910 13 +% (which perhaps should read "9 10") causes LaTeX to process silently +% through the whole document looking for page 910. Only pages 3 and 5 will +% be printed. +% +% EXCEPT if the number terminating a RANGE is not found {3 5-910 13}, +% LaTeX continues outputting pages until the end. +% +% EXCEPT if the actual page number changes discontinuously, then the number +% list MAY be scanned for the next number greater than the new page number. +% (Jumps are usually due to the numbering being changed from roman to arabic +% with the page reset to 1, or because an included file was skipped due to +% an \includeonly command.) The list is scanned if the page number jumps +% backward, or if it jumps forward PAST the current target page. ("Target +% page" = the end of the current range or the next number to be printed out, +% as appropriate.) +% +% Numbers must be integers: 4.3 is illegal, even if some other style file +% is generating page numbers in that format. +% +% Of course non-numbers are illegal. Some plausible mistakes: +% page, xvii, IV, 12--16, 49ff, 49-, 5_7. +% 5_7 could be a typo for the range 5-7. +% To specify page 49 and all following ("49ff" or "49-"), use a range +% ending with a non-existent page: 49-99999. +% The typo 12--16 prints pages 12 and 16, not the range 12 through 16 as +% intended. +% +% EXAMPLES OF USE +% +% Suppose a document has pages i,ii,iii,iv,v,vi,1,2,3,...,33, but pages +% 22...28 are absent due to \includeonly; here are some examples of valid +% uses of \outputonly. +% +% \outputonly{15-20} -- prints only the 6 pages 15...20 +% \outputonly{1-3} -- prints pages i,ii,iii (in LaTeX) +% -- plain TeX prints pages 1,2,3 +% \outputonly{1,1,2} -- prints pages i,1,2 +% \outputonly{0,1,2} -- prints pages 1,2 +% \outputonly{1,3-6} -- prints pages i,iii,iv,v,vi +% \outputonly{4,3-6} -- prints pages iv,3,4,5,6 +% \outputonly{5,2} -- prints pages v,2 +% \outputonly{5-2} -- prints only page v only! +% \outputonly{5-7} -- prints pages v,vi only! +% \outputonly{1-33} -- prints pages i,ii,iii,iv,v,vi only! +% \outputonly{29-99} -- prints pages 29,30,31,32,33 +% \outputonly{19-99} -- prints pages 19,20,21,29,30,31,32,33 +% \outputonly{24-32} -- prints pages 29,30,31,32 +% \outputonly{15-25,32} -- prints pages 15,16,17,18,19,20,21,32 +% \outputonly{0,4,23-27,31-99} -- prints pages 4,31,32,33 +% +% Version 0.9 (test), Sept 25, 1992: +% +% Send problem reports to asnd@triumf.ca +% +% test integrity: +% brackets: round, square, curly, angle: () [] {} <> +% backslash, slash, vertical, hat, tilde: \ / | ^ ~ -- cgit v1.2.3