• No results found

pagecont: Page numbering continuation between documents

N/A
N/A
Protected

Academic year: 2021

Share "pagecont: Page numbering continuation between documents"

Copied!
3
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

pagecont: Page numbering continuation between

documents

Miguel V. S. Frasson

2009–05–26 version 1.0

Contents

1 Introduction 1 2 Usage 1 3 Idea of implementation 2 4 User options 2 5 Code 2

1

Introduction

The package pagecont implements the functionality that several documents can be typeset independently with page numbers in sequence, like if they were a single document.

2

Usage

• Ensure that all files run without errors.

• In the first document call the package with option ‘first’. \usepackage[first]{pagecont}

• In other documents, just call the package. \usepackage{pagecont}

• Run as many times as needed every document, but in the sequence of docu-ments; that is, run (as many times needed) the first document, then run (as many times needed) the second, and so on.

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.

(2)

3

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.

4

User options

The document that uses the option first does not set pages. It is safer to use

first

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.

With option ‘savefile=filename ’ you can override the default save file, which

savefile=filename

is pagecont.pco.

5

Code

Identidication of the package.

1\NeedsTeXFormat{LaTeX2e}

2\ProvidesPackage{pagecont}%

3 [2009/05/26 v1 Page numbering continuation between documents]

Using package keyval.

4 \RequirePackage{keyval}

Declaring option first, which sets a switch when executed.

first

5\newif\ifPGC@first

6\PGC@firstfalse

7\DeclareOption{first}{\PGC@firsttrue}

Declaring option savefile=filename , using the keyval package.

savefile=filename 8\newcommand{\PGC@savefile}{pagecont.pco} 9\define@key{PGC@}{savefile}{\renewcommand{\PGC@savefile}{#1}} 10\newcommand{\PGC@kvsetkeys}[1]{\setkeys{PGC@}{#1}} 11\DeclareOption*{\expandafter\PGC@kvsetkeys\expandafter{\CurrentOption}} Processing options. 12\ProcessOptions

The macro \PGC@info, which is the content of the file \PGC@savefile, has

\PGC@info

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

(3)

different, the last page of last run, the third arg of \PGC@info, is used as new start for counter page.

The second argument of \PGC@info is saved in the macro \PGC@lastfilelastpage,

\PGC@lastfilelastpage

which is originally set to be 0. This macro will be used when saving the file, at \end{document} time.

13\newcommand{\PGC@lastfilelastpage}{0}

14\newcommand{\PGC@info}[3]{%

The primitive \jobname outputs chars with catcode 12 (other), so it is needed a hack using \meaning to compare the two strings. See http://www.tex.ac.uk/ cgi-bin/texfaq2html?label=compjobnam. 15 \edef\PGC@jobname{\jobname}% 16 \def\PGC@jobnamesaved{#1}% 17 \edef\PGC@jobnamesaved{\expandafter\strip@prefix\meaning\PGC@jobnamesaved}% 18 \ifx\PGC@jobname\PGC@jobnamesaved 19 \renewcommand{\PGC@lastfilelastpage}{#2}% 20 \setcounter{page}{#2}% 21 \else 22 \renewcommand{\PGC@lastfilelastpage}{#3}% 23 \setcounter{page}{#3}% 24 \fi

Increments counter page to be the number after the last page of last document.

25\addtocounter{page}{1}}

Now the macro for saving information into file \PGC@savefile. The macro

\PGC@savefile

\PGC@saveinfo \PGC@saveinfo writes to file with filename \PGC@savefile the line \PGC@info{jobname }{lastfile-lastpage }{lastpage }

where jobname , lastfile-lastpage and lastpage are the full expansions of \jobname, \PGC@lastfilelastpage and \arabic{page}, respectively.

26\newcommand{\PGC@saveinfo}{%

27 \newwrite\PGC@file

28 \expandafter\openout\expandafter\PGC@file\PGC@savefile\relax

29 \write\PGC@file

30 {\string\PGC@info{\jobname}{\PGC@lastfilelastpage}{\arabic{page}}}}

At \end{document}, save all to file, by the \PGC@saveinfo macro.

31\AtEndDocument{\PGC@saveinfo}

Finally, starts action by including file ‘\PGC@savefile’, when file is not marked as first of the series.

Referenties

GERELATEERDE DOCUMENTEN

Sets both the formatted and styled folio number to the page and it also keeps track of the quire and folio counters as well as the recto and verso sides on the document.. It should

With v0.5, for the first time we try to get a “pagewise” numbering such that, if a main text line has a footnote, (i ) its printed number is just the natural succes- sor of the

Contrary to my hypothesis, the results did not indicate that high Machs influence the relationship between co- worker OCB and own OCB, through co-worker reputation, by

The first alternative may be compared with the dating formula in P.Wise. As P.Lond.III 958 may come from Hermopolis, too, and as the lacuna in the 3rd line of the dating formula

Of course there is great variety in India’s red-light districts: from child prostitutes to call girls in modern city bars and women who still use the mujarewali tradition of dancing

All securely datable examples can be assigned to the period after the Arab conquest, but there have been a number of attempts to give prosopographical grounds for dating documents

It is the purpose of this paper to formulate a non-parallel support vector machine classifier for which we can directly apply the kernel trick and thus it enjoys the primal and

Among others, these methods include Support Vector Machines (SVMs) and Least Squares SVMs, Kernel Principal Component Analysis, Kernel Fisher Discriminant Analysis and