blob: e0f2c208958335acaab376456b435450d6596990 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
%%
%% This is page-per-chapter-package
%% version 2.0
%%
% Copyright 1998 - 99 by Axel Kielhorn
%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt; either
%% version 1 of the License, or any later version.
%%
%% Don't use it with repref!
%% Refrep has these commands already implemented
%%
%% This version forces openright!!
%%
%% Index-commands should work in chapters and appedices,
%% they will not work as expected in the preface when the
%% pagenumbering is not arabic. (MakeIndex can't sort roman-
%% numbers)
%%
%% Bugs:
%% The index is sortet according to the pagenumber
%% without looking at the chapternumber.
%% I don't think MakeIndex could handle that.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pagepc}[1995/05/13]
\@ifundefined{chapter}
{\PackageError{pagepc}{%
You can't number your pages per chapter\MessageBreak when you
have no chapters
}{%
Use ``report'' or ``book'' instead.
}
}%
{}
%% Reset the pagecounter to 1 at the start of a new chapter
%%
\let\ppchapter=\@chapter
\def\@chapter{\if@pageperchapter\setcounter{page}{1}\fi
\ppchapter}
%% Force a pagebreak at the start of the appendix, otherwise
%% the number of the page right befor the appendix comes
%% out wrong
%%
\let\ppappendix=\appendix
\def\appendix{\if@pageperchapter\newpage\fi\ppappendix}
\newif\if@pageperchapter \@pageperchapterfalse
%% This command enables Page-per-Chapter, it is not on by
%% default to allow roman pagenumbers in the preface
%% (see sample-document)
%%
\newcommand{\pageperchapter}
{\@pageperchaptertrue
\@openrighttrue
% Remember old setting for chapter 0 = preface
\let\ppthepage=\thepage
% The new number needs more space
\renewcommand\@pnumwidth{2.55em}
% Here it comes :-)
\renewcommand\thepage{%
\ifnum \c@chapter = \z@
\ppthepage
\else
\thechapter\ -- \arabic{page}
\fi
}
}
%% This is a hack to make MakeIndex happy :-(
%% You can't use the |-form of an indexentry because
%% it is used to store the chapternumber.
%%
\def\@wrindex#1{%
\ifnum \c@chapter = \z@
\protected@write\@indexfile{}%
{\string\indexentry{#1}{\arabic{page}}}%
% The above is wrong if pagenumbering!=arabic,
% but I think this is better than nothing.
\else
\protected@write\@indexfile{}%
{\string\indexentry{#1|ppc{\thechapter}}{\arabic{page}}}%
\fi
\endgroup
\@esphack
}
%% This prints the pagenumber in the index
%%
\def\ppc#1#2{#1 -- #2}
\endinput
|