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
|
<head>
<title>UK TeX FAQ -- question label y2k</title>
</head><body>
<h3>Are TeX and friends Y2K compliant?</h3>
<p><dl>
<dt>Crashing:<dd> None of TeX, Metafont or MetaPost can themselves crash
due to any change whatever in the date of any sort.
<dt>Timestamps:<dd> In the original sources, a 2-digit year was
stored as the creation time for format files and that value is
printed in logfiles. These items should not be of general concern,
since the only use of the date format file is to produce the log
output, and the log file is designed for human readers only.
<p> Knuth announced in 1998 that implementators could
alter this code without fear of being accused of non-compliance.
Nearly all implementations that are being actively maintained had
been modified to generate 4-digit years in the format file and the
log, by the end of 1998. The original sources themselves have now
been modified so that 4-digit year numbers are stored.
<dt>The <code>\</code><code>year</code> primitive:<dd> Certification of a TeX
implementation (see <a href="FAQ-triptrap.html">trip/trap testing</a>)
does not require that <code>\</code><code>year</code> return a meaningful value (which
means that TeX can, in principle, be implemented on platforms
that don’t make the value of the clock available to user programs).
The <em>TeXbook</em> (see
<a href="FAQ-books.html">TeX-related books</a>) defines <code>\</code><code>year</code> as
“the current year of our Lord”, which is the only correct meaning
for <code>\</code><code>year</code> for those implementations which can supply a
meaningful value, which is to say nearly all of them.
<p> In short, TeX implementations should provide a value in <code>\</code><code>year</code>
giving the 4-digit year Anno Domini, or the value 1776 if the
platform does not support a date function.
<p> Note that if the system itself fails to deliver a correct date to
TeX, then <code>\</code><code>year</code> will of course return an incorrect value.
TeX cannot be considered Y2K compliant, in this sense, on a
system that is not itself Y2K compliant.
<dt>Macros:<dd> TeX macros can in principle perform calculations on
the basis of the value of <code>\</code><code>year</code>.
The <a href="FAQ-latex.html">LaTeX suite</a>
performs such calculations in a small number of places; the
calculations performed in the current (supported) version of LaTeX are
known to be Y2K compliant.
<p> Other macros and macro packages should be individually checked.
<dt>External software:<dd> Software such as DVI translators
needs to be individually checked.
</dl>
<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k</a>
</body>
|