summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/expl3/l3vers.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3vers.dtx')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3vers.dtx142
1 files changed, 142 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3vers.dtx b/Master/texmf-dist/tex/latex/expl3/l3vers.dtx
new file mode 100644
index 00000000000..c61d07ce94c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/expl3/l3vers.dtx
@@ -0,0 +1,142 @@
+% \iffalse
+%% File: l3vers.dtx Copyright (C) 1990-2009 LaTeX3 project
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
+%% and all files in that bundle must be distributed together.
+%%
+%% The released version of this bundle is available from CTAN.
+%%
+%% -----------------------------------------------------------------------
+%%
+%% The development version of the bundle can be found at
+%%
+%% http://www.latex-project.org/svnroot/experimental/trunk/
+%%
+%% for those people who are interested.
+%%
+%%%%%%%%%%%
+%% NOTE: %%
+%%%%%%%%%%%
+%%
+%% Snapshots taken from the repository represent work in progress and may
+%% not work or may contain conflicting material! We therefore ask
+%% people _not_ to put them into distributions, archives, etc. without
+%% prior consultation with the LaTeX Project Team.
+%%
+%% -----------------------------------------------------------------------
+%<*driver|package>
+\RequirePackage{l3names}
+%</driver|package>
+%\fi
+\GetIdInfo$Id: l3vers.dtx 1378 2009-06-01 19:15:56Z joseph $
+ {L3 Experimental LaTeX format version}
+%\iffalse
+%<*driver>
+%\fi
+\ProvidesFile{\filename.\filenameext}
+ [\filedate\space v\fileversion\space\filedescription]
+%\iffalse
+\documentclass[full]{l3doc}
+\begin{document}
+\DocInput{\filename.\filenameext}
+\end{document}
+%</driver>
+% \fi
+%
+% \begin{documentation}
+%
+% \section{Version Identification}
+% Here we identify the date and version number of this release of
+% \LaTeX3, and set |\tex_everyjob:D| so that it is printed at the start of
+% every \LaTeX3 run.
+%
+% \begin{variable}{\c_format_name|\c_format_date}
+% Name and date.
+% \end{variable}
+%
+% \begin{variable}{\c_fmt_too_old}
+% Age in months past "\c_format_date" after which an error is called
+% during format generation.
+% \end{variable}
+%
+% \begin{function}{\chk_format_age:w}
+% Function that calculates the age of the format and calls an error if it
+% is too old.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \begin{macro}{\c_format_name}
+% \begin{macro}{\c_format_date}
+% \begin{macrocode}
+%<*initex>
+\cs_set_nopar:Npn\c_format_name{Experimental~ LaTeX3}
+\cs_set_nopar:Npn\c_format_date{2009/06/01}
+%^^A\cs_set_nopar:Npx\c_format_version{--release--date--goes--here--}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\c_fmt_too_old}
+% \begin{macro}{\chk_format_age:w}
+% Check that the format being made is not too old. While in development
+% it should be a rather small number.
+% \begin{macrocode}
+\int_const:Nn \c_fmt_too_old{12}
+\cs_set_nopar:Npn\chk_format_age:w #1/#2/#3\q_stop{
+% \end{macrocode}
+% We just calculate the age of this file in months and give a warning
+% if deemed too old.
+% \begin{macrocode}
+ \intexpr_compare:nNnT{(\tex_year:D-#1)*12+\tex_month:D-#2}>\c_fmt_too_old
+ {\iow_term:x{^^J
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J
+ !~~You~are~attempting~to~make~an~experimental~LaTeX3~format~from^^J
+ !~~source~files~that~are~more~than~
+ \intexpr_eval:n{\c_fmt_too_old}~months~old.^^J
+ !^^J
+ !~~If~you~enter~<return>~to~scroll~past~this~message~then~the~format^^J
+ !~~will~be~built,~but~please~consider~obtaining~newer~source~files^^J
+ !~~before~continuing~to~build~an~experimental~LaTeX3~format.^^J
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J
+ }
+ \tex_errhelp:D{
+ To~avoid~this~error~message,~obtain~new~Experimental~LaTeX3~sources.}
+ \tex_errmessage:D{
+ Experimental~LaTeX3~source~files~are~more~than~
+ \intexpr_eval:n{\c_fmt_too_old}~months~old!}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% Then we execute it.
+% \begin{macrocode}
+\exp_after:wN\chk_format_age:w\c_format_date\q_stop
+% \end{macrocode}
+% And since it's no longer needed we remove it again.
+% \begin{macrocode}
+\cs_gundefine:N \chk_format_age:w
+% \end{macrocode}
+%
+% This startup banner may be further modified by the code in
+% |ltfinal.dtx| if a patch file is present.
+% \begin{macrocode}
+\tex_everyjob:D{\iow_term:x{\c_format_name,~<\c_format_date>}}
+\iow_term:x{\c_format_name,~<\c_format_date>}
+%</initex>
+% \end{macrocode}
+%
+% \end{implementation}
+% \PrintIndex
+%
+% \endinput