summaryrefslogtreecommitdiff
path: root/info/examples/tip/weekofyr.tip
blob: 071eb36e35bcc075e79a40c6a7ec9fa795fe93bd (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
% This macro source file is from the four volume series
% "TeX in Practice" by Stephan von Bechtolsheim, published
% 1993 by Springer-Verlag, New York.
% Copyright 1993 Stephan von Bechtolsheim.
% No warranty or liability is assumed.
% This macro may be copied freely if no fees other than
% media cost or shipping charges are charged and as long
% as this copyright and the following source code itself
% is not changed. Please see the series for further information.
%
% Version: 1.1
% Date: Sep 9, 1993
%
%
% This source code is documented in 26.22, p. III-392.
% Original source in file "macros6.TEX", starting line 1641.
\wlog{L: "weekofyr.tip" ["macros6.TEX," l. 1641, p. III-392]}%
% This file DOES belong to format "texip."
\InputD{doloop.tip}
\InputD{dateofw.tip}
\InputD{arbday.tip}
\InputD{prevday.tip}
\InputD{mondofda.tip}
\InputD{norpweek.tip}
\catcode`\@ = 11
\newcount\@WeekOfYearCounter
\newcount\@WeekOfYearYear
\newcount\@WeekOfYearMonth
\newcount\@WeekOfYearDay
\newcount\@WeekOfYearCopy
\def\WeekOfYear #1#2#3#4{%
    \@WeekOfYearCopy = #1\relax
    \ComputeMondayOfDate{#1}{#2}{#3}%
        {\@WeekOfYearYear}{\@WeekOfYearMonth}{\@WeekOfYearDay}%
    \def\@WeekOfYearCounter{#4}%
    \@WeekOfYearCounter = 1
    \@WeekOfYear
}
\newif\if@YearStop
\def\@WeekOfYear{%
    \@YearStopfalse
    \ifnum\@WeekOfYearCopy > \@WeekOfYearYear
        \@YearStoptrue
    \else
        \ifnum\@WeekOfYearMonth = 1
            \ifnum\@WeekOfYearDay = 1
                \@YearStoptrue
            \fi
        \fi
    \fi
    \if@YearStop
        \def\@WeekOfYearNext{\relax}%
    \else
        \def\@WeekOfYearNext{\@WeekOfYear}%
        \expandafter\advance\@WeekOfYearCounter by 1
        \PrevWeekSameDay{\@WeekOfYearYear}{\@WeekOfYearMonth}%
            {\@WeekOfYearDay}%
            {\@WeekOfYearYear}{\@WeekOfYearMonth}%
            {\@WeekOfYearDay}%
    \fi
    \@WeekOfYearNext
}
\catcode`\@ = 12