diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-28 00:22:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-28 00:22:45 +0000 |
commit | 0261fc078b85578551c16a76f23ebfdb8c913cd7 (patch) | |
tree | e675041f722ba5a08d3a984a1d04880f6c72294c /Master/texmf-dist | |
parent | 1253550b4126fb28972becd97fb0296324250c1f (diff) |
new latex package pagecont (26may09)
git-svn-id: svn://tug.org/texlive/trunk@13500 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/pagecont/README | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pagecont/pagecont.pdf | bin | 0 -> 82436 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/pagecont/pagecont.dtx | 207 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pagecont/pagecont.ins | 26 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pagecont/pagecont.sty | 59 |
5 files changed, 295 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pagecont/README b/Master/texmf-dist/doc/latex/pagecont/README new file mode 100644 index 00000000000..153dd6c5b01 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pagecont/README @@ -0,0 +1,3 @@ +The package `pagecont' implements the functionality that +several documents can be typeset independly with page +numbers in sequence, like if they were a single document. diff --git a/Master/texmf-dist/doc/latex/pagecont/pagecont.pdf b/Master/texmf-dist/doc/latex/pagecont/pagecont.pdf Binary files differnew file mode 100644 index 00000000000..1a76f818312 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pagecont/pagecont.pdf diff --git a/Master/texmf-dist/source/latex/pagecont/pagecont.dtx b/Master/texmf-dist/source/latex/pagecont/pagecont.dtx new file mode 100644 index 00000000000..e6035975df5 --- /dev/null +++ b/Master/texmf-dist/source/latex/pagecont/pagecont.dtx @@ -0,0 +1,207 @@ +% \iffalse +% File: ordinalpt.dtx +% Copyright (C) 2007 Miguel V. S. Frasson (mvsfrasson@gmail.com) +% +% This package may be distributed under the terms of the LaTeX +% Project Public License, as described in lppl.txt in the base +% LaTeX distribution, either version 1.2 or (at your option) +% any later version. +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{doc} +\usepackage{ae} +\usepackage{url} + +\begin{document} + \DocInput{pagecont.dtx} +\end{document} +%</driver> +% \fi +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \StopEventually +% +% \changes{1.0}{2009/05/26}{initial version} +% +% \MakeShortVerb+ +% +% \title{\textsf{pagecont}: Page numbering continuation between documents} +% \author{Miguel V.\ S.\ Frasson} +% \date{2009--05--26 version 1.0} +% +% \maketitle +% +% \tableofcontents +% +% \section{Introduction} +% +% The package \textsf{pagecont} implements the functionality that +% several documents can be typeset independently with page numbers in +% sequence, like if they were a single document. +% +% \section{Usage} +% +% \begin{itemize} +% +% \item Ensure that all files run without errors. +% +% \item In the first document call the package with option `+first+'. +% \begin{quote} +% +\usepackage[first]{pagecont}+ +% \end{quote} +% \item In other documents, just call the package. +% \begin{quote} +% +\usepackage{pagecont}+ +% \end{quote} +% \item Run as many times as needed every document, but in the +% sequence of documents; that is, run (as many times needed) the first +% document, then run (as many times needed) the second, and so on. +% +% \end{itemize} +% +% At every run, the output files are produced normally, but the first +% page of the second document is 1 plus the last page of the previous +% one, and so on. +% +% \section{Idea of implementation} +% +% At the end of documents, a file (default is `+pagecont.pco+') is +% saved with the current file information plus last file last page. +% If the filename saved is the same, uses the last file last page. If +% it is not the same, then you are compiling another file, so the last +% page saved plus 1 is to be used as new first page. +% +% If the file saved does not exist, then no page is set, like if this +% document is the first one. +% +% \section{User options} +% +% \DescribeEnv{first} +% The document that uses the option +first+ does not set pages. It is +% safer to use this option, because afterwards one starts again to +% process the documents from the beginning, and if the file where the +% info is saved exists, the page numbering will continue from the +% number saved in the last run. +% +% \DescribeEnv{savefile=\textit{filename}} +% With option `\texttt{savefile=\textit{filename}}' you can override +% the default save file, which is +pagecont.pco+. +% +% \section{Code} +% +% Identidication of the package. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pagecont}% + [2009/05/26 v1 Page numbering continuation between documents] +% \end{macrocode} +% +% Using package \textsf{keyval}. +% \begin{macrocode} + \RequirePackage{keyval} +% \end{macrocode} +% +% \DescribeEnv{first} +% Declaring option \texttt{first}, which sets a switch when executed. +% \begin{macrocode} +\newif\ifPGC@first +\PGC@firstfalse +\DeclareOption{first}{\PGC@firsttrue} +% \end{macrocode} +% +% \DescribeEnv{savefile=\textit{filename}} +% Declaring option \texttt{savefile=\textit{filename}}, using the +% \textsf{keyval} package. +% \begin{macrocode} +\newcommand{\PGC@savefile}{pagecont.pco} +\define@key{PGC@}{savefile}{\renewcommand{\PGC@savefile}{#1}} +\newcommand{\PGC@kvsetkeys}[1]{\setkeys{PGC@}{#1}} +\DeclareOption*{\expandafter\PGC@kvsetkeys\expandafter{\CurrentOption}} +% \end{macrocode} +% +% Processing options. +% \begin{macrocode} +\ProcessOptions +% \end{macrocode} +% +% \DescribeMacro{\PGC@info} +% The macro +\PGC@info+, which is the content of the file +% +\PGC@savefile+, has 3 args. The first is the jobname of the file +% that saved the file. When called (at package call), it compares the +% saved jobname and the actual +\jobname+. If they are the same, then +% we should use the last page of last document (with different +% jobname). This last page is the second arg of +\PGC@info+. If the +% jobnames are different, the last page of last run, the third arg of +% +\PGC@info+, is used as new start for counter \texttt{page}. +% +% \DescribeMacro{\PGC@lastfilelastpage} +% The second argument of +\PGC@info+ is saved in the macro +% +\PGC@lastfilelastpage+, which is originally set to be 0. This +% macro will be used when saving the file, at +\end{document}+ time. +% +% \begin{macrocode} +\newcommand{\PGC@lastfilelastpage}{0} +\newcommand{\PGC@info}[3]{% +% \end{macrocode} +% The primitive +\jobname+ outputs chars with +% catcode 12 (other), so it is needed a hack using +\meaning+ to +% compare the two strings. See +% \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=compjobnam}. +% \begin{macrocode} + \edef\PGC@jobname{\jobname}% + \def\PGC@jobnamesaved{#1}% + \edef\PGC@jobnamesaved{\expandafter\strip@prefix\meaning\PGC@jobnamesaved}% + \ifx\PGC@jobname\PGC@jobnamesaved + \renewcommand{\PGC@lastfilelastpage}{#2}% + \setcounter{page}{#2}% + \else + \renewcommand{\PGC@lastfilelastpage}{#3}% + \setcounter{page}{#3}% + \fi +% \end{macrocode} +% Increments counter page to be the number after the last page of last +% document. +% \begin{macrocode} +\addtocounter{page}{1}} +% \end{macrocode} +% +% \DescribeMacro{\PGC@savefile} +% \DescribeMacro{\PGC@saveinfo} +% Now the macro for saving information into file +\PGC@savefile+. +% The macro +\PGC@saveinfo+ writes to file with filename +% +\PGC@savefile+ the line +% \begin{quote}\ttfamily +% \string\PGC@info+{+\textit{jobname}+}{+\textit{lastfile-lastpage}+}{+\textit{lastpage}+}+ +% \end{quote} +% where \texttt{\textit{jobname}}, \texttt{\textit{lastfile-lastpage}} +% and \texttt{\textit{lastpage}} are the full expansions of +% +\jobname+, +\PGC@lastfilelastpage+ and +\arabic{page}+, +% respectively. +% \begin{macrocode} +\newcommand{\PGC@saveinfo}{% + \newwrite\PGC@file + \expandafter\openout\expandafter\PGC@file\PGC@savefile\relax + \write\PGC@file + {\string\PGC@info{\jobname}{\PGC@lastfilelastpage}{\arabic{page}}}} +% \end{macrocode} +% +% At +\end{document}+, save all to file, by the +\PGC@saveinfo+ macro. +% \begin{macrocode} +\AtEndDocument{\PGC@saveinfo} +% \end{macrocode} +% +% Finally, starts action by including file `+\PGC@savefile+', when file +% is not marked as first of the series. +% \begin{macrocode} +\ifPGC@first +\else + \IfFileExists{\PGC@savefile}{\input{\PGC@savefile}}{} +\fi +% \end{macrocode} +% End of file. +% \begin{macrocode} +\endinput +% \end{macrocode} + diff --git a/Master/texmf-dist/source/latex/pagecont/pagecont.ins b/Master/texmf-dist/source/latex/pagecont/pagecont.ins new file mode 100644 index 00000000000..2fdf72ef5b1 --- /dev/null +++ b/Master/texmf-dist/source/latex/pagecont/pagecont.ins @@ -0,0 +1,26 @@ +\input docstrip + +\preamble + +Copyright (C) 2007 Miguel V. S. Frasson (mvsfrasson@gmail.com) + +This file is part of the `pagecont' package. + +This package may be distributed under the terms of the LaTeX +Project Public License, as described in lppl.txt in the base +LaTeX distribution, either version 1.2 or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +\endpreamble + +\askforoverwritefalse +\askonceonly +\showprogress + +\generate{\file{pagecont.sty}{\from{pagecont.dtx}{}}} + +\endbatchfile
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/pagecont/pagecont.sty b/Master/texmf-dist/tex/latex/pagecont/pagecont.sty new file mode 100644 index 00000000000..d2b85739c76 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pagecont/pagecont.sty @@ -0,0 +1,59 @@ +%% +%% This is file `pagecont.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pagecont.dtx +%% +%% Copyright (C) 2007 Miguel V. S. Frasson (mvsfrasson@gmail.com) +%% +%% This file is part of the `pagecont' package. +%% +%% This package may be distributed under the terms of the LaTeX +%% Project Public License, as described in lppl.txt in the base +%% LaTeX distribution, either version 1.2 or (at your option) +%% any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{pagecont}% + [2009/05/26 v1 Page numbering continuation between documents] + \RequirePackage{keyval} +\newif\ifPGC@first +\PGC@firstfalse +\DeclareOption{first}{\PGC@firsttrue} +\newcommand{\PGC@savefile}{pagecont.pco} +\define@key{PGC@}{savefile}{\renewcommand{\PGC@savefile}{#1}} +\newcommand{\PGC@kvsetkeys}[1]{\setkeys{PGC@}{#1}} +\DeclareOption*{\expandafter\PGC@kvsetkeys\expandafter{\CurrentOption}} +\ProcessOptions +\newcommand{\PGC@lastfilelastpage}{0} +\newcommand{\PGC@info}[3]{% + \edef\PGC@jobname{\jobname}% + \def\PGC@jobnamesaved{#1}% + \edef\PGC@jobnamesaved{\expandafter\strip@prefix\meaning\PGC@jobnamesaved}% + \ifx\PGC@jobname\PGC@jobnamesaved + \renewcommand{\PGC@lastfilelastpage}{#2}% + \setcounter{page}{#2}% + \else + \renewcommand{\PGC@lastfilelastpage}{#3}% + \setcounter{page}{#3}% + \fi +\addtocounter{page}{1}} +\newcommand{\PGC@saveinfo}{% + \newwrite\PGC@file + \expandafter\openout\expandafter\PGC@file\PGC@savefile\relax + \write\PGC@file + {\string\PGC@info{\jobname}{\PGC@lastfilelastpage}{\arabic{page}}}} +\AtEndDocument{\PGC@saveinfo} +\ifPGC@first +\else + \IfFileExists{\PGC@savefile}{\input{\PGC@savefile}}{} +\fi +\endinput +%% +%% End of file `pagecont.sty'. |