diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/expl3/l3num.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/expl3/l3num.dtx | 504 |
1 files changed, 101 insertions, 403 deletions
diff --git a/Master/texmf-dist/source/latex/expl3/l3num.dtx b/Master/texmf-dist/source/latex/expl3/l3num.dtx index 325eef2e131..51281eaf7ac 100644 --- a/Master/texmf-dist/source/latex/expl3/l3num.dtx +++ b/Master/texmf-dist/source/latex/expl3/l3num.dtx @@ -1,5 +1,5 @@ % \iffalse -%% File: l3num.dtx Copyright (C) 2005-2008 Frank Mittelbach, LaTeX3 project +%% File: l3num.dtx Copyright (C) 2005-2009 Frank Mittelbach, 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 @@ -17,7 +17,7 @@ %% %% The development version of the bundle can be found at %% -%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/ +%% http://www.latex-project.org/svnroot/experimental/trunk/ %% %% for those people who are interested. %% @@ -36,7 +36,7 @@ \RequirePackage{l3names} %</driver|package> %\fi -\GetIdInfo$Id: l3num.dtx 741 2008-08-01 13:37:16Z morten $ +\GetIdInfo$Id: l3num.dtx 1362 2009-05-28 20:19:21Z joseph $ {L3 Experimental token numbers} %\iffalse %<*driver> @@ -44,9 +44,9 @@ \ProvidesFile{\filename.\filenameext} [\filedate\space v\fileversion\space\filedescription] %\iffalse -\documentclass{l3doc} +\documentclass[full]{l3doc} \begin{document} -\DocInput{\filename.\filenameext} +\DocInput{l3num.dtx} \end{document} %</driver> % \fi @@ -55,12 +55,12 @@ % \title{The \textsf{l3num} package\thanks{This file % has version number \fileversion, last % revised \filedate.}\\ -% Integer in macros} +% Integers in macros} % \author{\Team} % \date{\filedate} % \maketitle % -% \section{Macro Counters} +% \begin{documentation} % % Instead of using counter registers for manipulation of % integer values it is sometimes useful to keep such values in @@ -75,7 +75,7 @@ % allocation module can do its bookkeeping without the aid of % \meta{int} registers. % -% \subsection{Functions} +% \section{Functions} % % \begin{function}{% % \num_new:N | @@ -135,12 +135,24 @@ % \num_gset:cn | % } % \begin{syntax} -% "\num_set:Nn" <num> "{" <integer> "}" +% "\num_set:Nn" <num> \Arg{integer} % \end{syntax} % These functions will set the <num> register to the <integer> value. % \end{function} % % \begin{function}{% +% \num_set_eq:NN | +% \num_set_eq:cN | +% \num_set_eq:Nc | +% \num_set_eq:cc | +% } +% \begin{syntax} +% "\num_gset_eq:NN" <num1> <num2> +% \end{syntax} +% These functions will set the <num1> register equal to <num2>. +% \end{function} +% +% \begin{function}{% % \num_gset_eq:NN | % \num_gset_eq:cN | % \num_gset_eq:Nc | @@ -149,7 +161,7 @@ % \begin{syntax} % "\num_gset_eq:NN" <num1> <num2> % \end{syntax} -% These functions will set the <num1> register equal to <num2>. +% These functions will globally set the <num1> register equal to <num2>. % \end{function} % % \begin{function}{% @@ -159,7 +171,7 @@ % \num_gadd:cn | % } % \begin{syntax} -% "\num_add:Nn" <num> "{" <integer> "}" +% "\num_add:Nn" <num> \Arg{integer} % \end{syntax} % These functions will add to the <num> register the value <integer>. If % the second argument is a <num> register too, the surrounding braces @@ -184,112 +196,37 @@ % \end{texnote} % \end{function} % -% -% \begin{function}{% -% \num_eval:n | -% } -% \begin{syntax} -% "\num_eval:n" "{" <integer-expr> "}" -% \end{syntax} -% Evaluates the integer expression allowing normal mathematical -% operators like |+-/*|. -% \end{function} -% -% -% \begin{function}{% -% \num_compare:nNnTF | -% \num_compare:cNcTF | -% \num_compare:nNnT | -% \num_compare:nNnF | -% } -% \begin{syntax} -% "\num_compare:nNnTF" "{"<num~expr>"}" <rel> "{"<num~expr>"}" -% "{"<true>"}" "{"<false>"}" -% \end{syntax} -% These functions test two \m{num} expressions against each other. They -% are both evaluated by "\num_eval:n". -% \end{function} -% -% \begin{function}{% -% \num_compare_p:nNn | -% } +% \begin{function}{ \num_show:N | +% \num_show:c } % \begin{syntax} -% "\num_compare_p:nNn" "{"<num~expr>"}" <rel> "{"<num~expr>"}" +% "\num_show:N" <num> % \end{syntax} -% A predicate version of the above functions. +% This function pauses the compilation and displays the integer value kept +% in <num> on the console output. % \end{function} % -% \begin{function}{% -% \num_max_of:nn | -% \num_min_of:nn | -% } -% \begin{syntax} -% "\num_max_of:nn" "{"<num~expr>"}" "{"<num~expr>"}" -% \end{syntax} -% Return the largest or smallest of two \m{num} expressions. -% \end{function} % -% \begin{function}{% -% \num_abs:n | -% } -% \begin{syntax} -% "\num_abs:n" "{"<num~expr>"}" -% \end{syntax} -% Return the numerical value of a \m{num} expression. -% \end{function} % % \begin{function}{% % \num_elt_count:n | +% \num_elt_count_prop:Nn | % } % \begin{syntax} -% "\num_elt_count:n" "{"<balanced text>"}" +% "\num_elt_count:n" \Arg{balanced text} +% "\num_elt_count_prop:Nn" <prop> \Arg{balanced text} % \end{syntax} -% Discards \m{balanced text} and puts a "+1" in the input stream. Used +% Discards their arguments and puts a "+1" in the input stream. Used % to count elements in a token list. % \end{function} % -% \subsection{Formatting a counter value} +% \section{Formatting a counter value} % % See the \textsf{l3int} module for ways of doing this. % -% \subsection{Variable and constants} +% \section{Variable and constants} % -% \begin{function}{% -% \const_new:Nn | -% } -% \begin{syntax} -% "\const_new:Nn" "\c_"<value> "{" <value> "}" -% \end{syntax} -% Defines a constant with <value>. If the constant is negative -% or very large it requires an <int> register. -% \end{function} -% -% \begin{variable}{% -% \c_minus_one | -% \c_zero | -% \c_one | -% \c_two | -% \c_three | -% \c_four | -% \c_six | -% \c_seven | -% \c_nine | -% \c_ten | -% \c_eleven | -% \c_sixteen | -% \c_hundred_one | -% \c_twohundred_fifty_five | -% \c_twohundred_fifty_six | -% \c_thousand | -% \c_ten_thousand | -% \c_twenty_thousand -% } -% \\ -% Set of constants denoting useful values. -% \begin{texnote} -% Most of these constants have been available under \LaTeX2 under names -% like \tn{tw@}, \tn{thr@@} etc. -% \end{texnote} +% \begin{variable}{ \c_max_register_num } +% Maximum number of registers; possibly engine-specific. % \end{variable} % % \begin{variable}{% @@ -299,50 +236,20 @@ % \g_tmpa_num | % \g_tmpb_num | % } -% \\ % Scratch register for immediate use. They are not used by conditionals % or predicate functions. % \end{variable} % -% \subsection{Primitive functions} +% \section{Primitive functions} % % % \begin{function}{% -% \num_value:w | -% } -% \begin{syntax} -% "\num_value:w" <integer> \\ -% "\num_value:w" <tokens> <optional space> -% \end{syntax} -% Expands <tokens> until an <integer> is formed. One space may be -% gobbled in the process. Preferably use with "\num_eval:n". -% \begin{texnote} -% This is the \TeX{} primitive \tn{number}. -% \end{texnote} -% \end{function} -% -% \begin{function}{% -% \num_eval:w | -% } -% \begin{syntax} -% "\num_eval:w" <integer expression> "\num_eval_end:" -% \end{syntax} -% Evaluates <integer expression>. The evaluation stops when an -% unexpandable token of catcode other than 12 is reached or -% "\num_eval_end:" is read. The latter is gobbled by the scanner -% mechanism. -% \begin{texnote} -% This is the \eTeX{} primitive \tn{numexpr}. -% \end{texnote} -% \end{function} -% -% \begin{function}{% % \if_num:w | % } % \begin{syntax} % "\if_num:w" <number1> <rel> <number2> <true> "\else:" <false> "\fi:" % \end{syntax} -% Compare two numbers. It is recommended to use "\num_eval:n" to +% Compare two numbers. It is recommended to use "\intexpr_eval:n" to % correctly evaluate and terminate these numbers. <rel> is one of % "<", "=" or ">" with catcode 12. % \begin{texnote} @@ -351,18 +258,6 @@ % \end{function} % % \begin{function}{% -% \if_num_odd:w | -% } -% \begin{syntax} -% "\if_num_odd:w" <number> <true> "\else:" <false> "\fi:" -% \end{syntax} -% Execute <true> if <number> is odd, <false> otherwise. -% \begin{texnote} -% This is the \TeX{} primitive \tn{ifodd}. -% \end{texnote} -% \end{function} -% -% \begin{function}{% % \if_case:w | % \or: | % } @@ -370,52 +265,40 @@ % "\if_case:w" <number> <case0> "\or:" <case1> "\or:" "..." "\else:" % <default> "\fi:" % \end{syntax} -% Chooses case<number>. If you wish to use negative numbers as well, -% you can offset them with "\num_eval:n". +% Chooses case <number>. If you wish to use negative numbers as well, +% you can offset them with "\intexpr_eval:n". % \begin{texnote} % These are the \TeX{} primitives \tn{ifcase} and \tn{or}. % \end{texnote} % \end{function} % -% \StopEventually{} +% \end{documentation} % -% \subsection{The Implementation} +% \begin{implementation} +% +% \section{\pkg{l3num} implementation} % % % We start by ensuring that the required packages are loaded. % \begin{macrocode} -%<package>\ProvidesExplPackage -%<package> {\filename}{\filedate}{\fileversion}{\filedescription} -%<package&!check>\RequirePackage{l3expan}\par -%<package&check>\RequirePackage{l3chk}\par +%<*package> +\ProvidesExplPackage + {\filename}{\filedate}{\fileversion}{\filedescription} +\package_check_loaded_expl: +%</package> %<*initex|package> % \end{macrocode} % -% \begin{macro}{\num_value:w} -% \begin{macro}{\num_eval:w} -% \begin{macro}{\num_eval_end:} % \begin{macro}{\if_num:w} -% \begin{macro}{\if_num_odd:w} % \begin{macro}{\if_case:w} -% \begin{macro}{\or:} % Here are the remaining primitives for number comparisons and % expressions. % \begin{macrocode} -\let_new:NN \num_value:w \tex_number:D -\let_new:NN \num_eval:w \etex_numexpr:D -\let_new:NN \num_eval_end: \scan_stop: -\let_new:NN \if_num:w \tex_ifnum:D -\let_new:NN \if_num_odd:w \tex_ifodd:D -\let_new:NN \if_case:w \tex_ifcase:D -\let_new:NN \or: \tex_or:D +\cs_new_eq:NN \if_num:w \tex_ifnum:D +\cs_new_eq:NN \if_case:w \tex_ifcase:D % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % Functions that support \LaTeX's user accessible counters should be % added here, too. But first the internal counters. @@ -427,10 +310,10 @@ % Incrementing and decrementing of integer registers is done with % the following functions. % \begin{macrocode} -\def:Npn \num_incr:N #1{\num_add:Nn#1 1} -\def:Npn \num_decr:N #1{\num_add:Nn#1 \c_minus_one} -\def:Npn \num_gincr:N #1{\num_gadd:Nn#1 1} -\def:Npn \num_gdecr:N #1{\num_gadd:Nn#1 \c_minus_one} +\cs_set_nopar:Npn \num_incr:N #1{\num_add:Nn#1 1} +\cs_set_nopar:Npn \num_decr:N #1{\num_add:Nn#1 \c_minus_one} +\cs_set_nopar:Npn \num_gincr:N #1{\num_gadd:Nn#1 1} +\cs_set_nopar:Npn \num_gdecr:N #1{\num_gadd:Nn#1 \c_minus_one} % \end{macrocode} % \end{macro} % \end{macro} @@ -443,10 +326,10 @@ % \begin{macro}{\num_gdecr:c} % We also need \ldots % \begin{macrocode} -\def_new:Npn \num_incr:c {\exp_args:Nc \num_incr:N} -\def_new:Npn \num_decr:c {\exp_args:Nc \num_decr:N} -\def_new:Npn \num_gincr:c {\exp_args:Nc \num_gincr:N} -\def_new:Npn \num_gdecr:c {\exp_args:Nc \num_gdecr:N} +\cs_generate_variant:Nn \num_incr:N {c} +\cs_generate_variant:Nn \num_decr:N {c} +\cs_generate_variant:Nn \num_gincr:N {c} +\cs_generate_variant:Nn \num_gdecr:N {c} % \end{macrocode} % \end{macro} % \end{macro} @@ -459,10 +342,13 @@ % \begin{macro}{\num_gzero:c} % We also need \ldots % \begin{macrocode} -\def_new:Npn \num_zero:N #1 {\num_set:Nn #1 0} -\def_new:Npn \num_gzero:N #1 {\num_gset:Nn #1 0} -\def_new:Npn \num_zero:c {\exp_args:Nc \num_zero:N} -\def_new:Npn \num_gzero:c {\exp_args:Nc \num_gzero:N} +\cs_new_nopar:Npn \num_zero:N #1 {\num_set:Nn #1 0} +\cs_new_nopar:Npn \num_gzero:N #1 {\num_gset:Nn #1 0} +% \end{macrocode} +% +% \begin{macrocode} +\cs_generate_variant:Nn \num_zero:N {c} +\cs_generate_variant:Nn \num_gzero:N {c} % \end{macrocode} % \end{macro} % \end{macro} @@ -475,33 +361,27 @@ % \begin{macro}{\num_new:c} % Allocate a new \m{num} variable and initialize it with zero. % \begin{macrocode} -\def_new:Npn \num_new:N #1{\tlp_new:Nn #1{0}} -\def_new:Npn \num_new:c {\exp_args:Nc \num_new:N} +\cs_new_nopar:Npn \num_new:N #1{\tl_new:Nn #1{0}} +\cs_generate_variant:Nn \num_new:N {c} % \end{macrocode} % \end{macro} % \end{macro} % -% -% \begin{macro}{\num_eval:n} -% This function enables us to do all the operations without the aid of -% an \m{int} register. -% \begin{macrocode} -\def_new:Npn \num_eval:n #1{\num_eval:w #1\num_eval_end:} -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\num_set:Nn} % \begin{macro}{\num_set:cn} % \begin{macro}{\num_gset:Nn} % \begin{macro}{\num_gset:cn} % Assigning values to \m{num} registers. % \begin{macrocode} -\def_new:Npn \num_set:Nn #1#2{ - \tlp_set:No #1{ \tex_number:D \num_eval:n {#2} } +\cs_new_nopar:Npn \num_set:Nn #1#2{ + \tl_set:No #1{ \tex_number:D \intexpr_eval:n {#2} } } -\def_new:Npn \num_gset:Nn {\pref_global:D \num_set:Nn} -\def_new:Npn \num_set:cn {\exp_args:Nc \num_set:Nn } -\def_new:Npn \num_gset:cn {\exp_args:Nc \num_gset:Nn } +\cs_generate_variant:Nn\num_set:Nn {c} +% \end{macrocode} +% +% \begin{macrocode} +\cs_new_nopar:Npn \num_gset:Nn {\pref_global:D \num_set:Nn} +\cs_generate_variant:Nn\num_gset:Nn {c} % \end{macrocode} % \end{macro} % \end{macro} @@ -514,10 +394,8 @@ % \begin{macro}{\num_set_eq:cc} % Setting \m{num} registers equal to each other. % \begin{macrocode} -\let_new:NN \num_set_eq:NN \tlp_set_eq:NN -\def_new:Npn \num_set_eq:cN {\exp_args:Nc \num_set_eq:NN} -\def_new:Npn \num_set_eq:Nc {\exp_args:NNc \num_set_eq:NN} -\def_new:Npn \num_set_eq:cc {\exp_args:Ncc \num_set_eq:NN} +\cs_new_eq:NN \num_set_eq:NN \tl_set_eq:NN +\cs_generate_variant:Nn\num_set_eq:NN {c,Nc,cc} % \end{macrocode} % \end{macro} % \end{macro} @@ -530,10 +408,8 @@ % \begin{macro}{\num_gset_eq:cc} % Setting \m{num} registers equal to each other. % \begin{macrocode} -\let_new:NN \num_gset_eq:NN \tlp_gset_eq:NN -\def_new:Npn \num_gset_eq:cN {\exp_args:Nc \num_gset_eq:NN} -\def_new:Npn \num_gset_eq:Nc {\exp_args:NNc \num_gset_eq:NN} -\def_new:Npn \num_gset_eq:cc {\exp_args:Ncc \num_gset_eq:NN} +\cs_new_eq:NN \num_gset_eq:NN \tl_gset_eq:NN +\cs_generate_variant:Nn\num_gset_eq:NN {c,Nc,cc} % \end{macrocode} % \end{macro} % \end{macro} @@ -545,12 +421,15 @@ % \begin{macro}{\num_gadd:Nn} % \begin{macro}{\num_gadd:cn} % Adding is easily done as the second argument goes through -% |\num_eval:n|. +% |\intexpr_eval:n|. % \begin{macrocode} -\def_new:Npn \num_add:Nn #1#2 {\num_set:Nn #1{#1+#2}} -\def_new:Npn \num_add:cn {\exp_args:Nc\num_add:Nn} -\def_new:Npn \num_gadd:Nn {\pref_global:D \num_add:Nn} -\def_new:Npn \num_gadd:cn {\exp_args:Nc\num_gadd:Nn} +\cs_new_nopar:Npn \num_add:Nn #1#2 {\num_set:Nn #1{#1+#2}} +\cs_generate_variant:Nn\num_add:Nn {c} +% \end{macrocode} +% +% \begin{macrocode} +\cs_new_nopar:Npn \num_gadd:Nn {\pref_global:D \num_add:Nn} +\cs_generate_variant:Nn\num_gadd:Nn {c} % \end{macrocode} % \end{macro} % \end{macro} @@ -562,61 +441,30 @@ % \begin{macro}{\num_use:c} % Here is how num macros are accessed: % \begin{macrocode} -\let_new:NN\num_use:N \use_arg_i:n -\let_new:NN\num_use:c \cs_use:c +\cs_new_eq:NN\num_use:N \use:n +\cs_new_eq:NN\num_use:c \use:c % \end{macrocode} % \end{macro} % \end{macro} % -% -% \begin{macro}{\num_compare:nNnTF} -% \begin{macro}{\num_compare:nNnT} -% \begin{macro}{\num_compare:nNnF} -% Simple comparison tests. +% \begin{macro}{\num_show:N} +% \begin{macro}{\num_show:c} +% Here is how num macros are diagnosed: % \begin{macrocode} -\def_test_function_new:npn {num_compare:nNn}#1#2#3{ - \if_num:w \num_eval:n {#1}#2\num_eval:n {#3} -} -\def_new:Npn \num_compare:cNcTF { \exp_args:NcNc\num_compare:nNnTF } +\cs_new_eq:NN\num_show:N \cs_show:N +\cs_new_eq:NN\num_show:c \cs_show:c % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} % -% \begin{macro}{\num_compare_p:nNn} -% A predicate function. -% \begin{macrocode} -\def_new:Npn \num_compare_p:nNn #1#2#3{ - \if_num:w \num_eval:n {#1}#2\num_eval:n {#3} - \c_true - \else: - \c_false - \fi: -} -% \end{macrocode} -% \end{macro} % -% \begin{macro}{\num_max_of:nn} -% \begin{macro}{\num_min_of:nn} -% \begin{macro}{\num_abs:n} -% Functions for $\min$, $\max$, and absolute value. -% \begin{macrocode} -\def_new:Npn \num_abs:n#1{ - \if_num:w \num_eval:n{#1}<\c_zero \exp_after:NN -\fi: #1 -} -\def_new:Npn \num_max_of:nn#1#2{\num_compare:nNnTF {#1}>{#2}{#1}{#2}} -\def_new:Npn \num_min_of:nn#1#2{\num_compare:nNnTF {#1}<{#2}{#1}{#2}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} % % \begin{macro}{\num_elt_count:n} % \begin{macro}{\num_elt_count_prop:Nn} % Helper function for counting elements in a list. % \begin{macrocode} -\def_long_new:Npn \num_elt_count:n #1 { + 1 } -\def_long_new:Npn \num_elt_count_prop:Nn #1#2 { + 1 } +\cs_new:Npn \num_elt_count:n #1 { + 1 } +\cs_new:Npn \num_elt_count_prop:Nn #1#2 { + 1 } % \end{macrocode} % \end{macro} % \end{macro} @@ -641,167 +489,17 @@ % \end{macro} % \end{macro} % -% \subsubsection{Defining constants} -% As stated, most constants can be defined as |\tex_chardef:D| or -% |\tex_mathchardef:D| but that's engine dependent. Omega/Aleph -% allows |\tex_chardef:D|s up to 65535 which is also the maximum -% number of registers of all types. -% \begin{macro}{\const_new:Nn} % \begin{macro}{\c_max_register_num} -% \begin{macro}{\const_new_aux:Nw} -% \begin{macrocode} % \begin{macrocode} -\engine_if_aleph:TF -{ - \let_new:NN \const_new_aux:Nw \tex_chardef:D - \const_new_aux:Nw \c_max_register_num = 65535 \scan_stop: -} -{ - \let_new:NN \const_new_aux:Nw \tex_mathchardef:D - \const_new_aux:Nw \c_max_register_num = 32767 \scan_stop: -} -\def_new:Npn \const_new:Nn #1#2 { - \num_compare:nNnTF {#2} > \c_minus_one - { - \num_compare:nNnTF {#2} > \c_max_register_num - {\int_new:N #1 \int_set:Nn #1{#2}} - {\chk_new_cs:N #1 \const_new_aux:Nw #1 = #2 \scan_stop: } - } - {\int_new:N #1 \int_set:Nn #1{#2}} -} +\tex_mathchardef:D \c_max_register_num = 32767 \scan_stop: % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\c_minus_one} -% \begin{macro}{\c_zero} -% \begin{macro}{\c_one} -% \begin{macro}{\c_two} -% \begin{macro}{\c_three} -% \begin{macro}{\c_four} -% \begin{macro}{\c_six} -% \begin{macro}{\c_seven} -% \begin{macro}{\c_nine} -% \begin{macro}{\c_ten} -% \begin{macro}{\c_eleven} -% \begin{macro}{\c_sixteen} -% \begin{macro}{\c_thirty_two} -% \begin{macro}{\c_hundred_one} -% \begin{macro}{\c_twohundred_fifty_five} -% \begin{macro}{\c_twohundred_fifty_six} -% \begin{macro}{\c_thousand} -% \begin{macro}{\c_ten_thousand} -% \begin{macro}{\c_ten_thousand_one} -% \begin{macro}{\c_ten_thousand_two} -% \begin{macro}{\c_ten_thousand_three} -% \begin{macro}{\c_ten_thousand_four} -% \begin{macro}{\c_twenty_thousand} -% And the usual constants, others are still missing. Please, make -% every constant a real constant at least for the moment. We can -% easily convert things in the end when we have found what -% constants are used in critical places and what not. -% \begin{macrocode} - %% \tex_countdef:D \c_minus_one = 10 \scan_stop: - %% \c_minus_one = -1 \scan_stop: %% in l3basics - %% \tex_chardef:D \c_sixteen = 16\scan_stop: %% in l3basics -\const_new:Nn \c_zero {0} -\const_new:Nn \c_one {1} -\const_new:Nn \c_two {2} -\const_new:Nn \c_three {3} -\const_new:Nn \c_four {4} -\const_new:Nn \c_six {6} -\const_new:Nn \c_seven {7} -\const_new:Nn \c_nine {9} -\const_new:Nn \c_ten {10} -\const_new:Nn \c_eleven {11} -\const_new:Nn \c_thirty_two {32} -% \end{macrocode} -% The next one may seem a little odd (obviously!) but is useful when -% dealing with logical operators. -% \begin{macrocode} -\const_new:Nn \c_hundred_one {101} -\const_new:Nn \c_twohundred_fifty_five {255} -\const_new:Nn \c_twohundred_fifty_six {256} -\const_new:Nn \c_thousand {1000} -\const_new:Nn \c_ten_thousand {10000} -\const_new:Nn \c_ten_thousand_one {10001} -\const_new:Nn \c_ten_thousand_two {10002} -\const_new:Nn \c_ten_thousand_three {10003} -\const_new:Nn \c_ten_thousand_four {10004} -\const_new:Nn \c_twenty_thousand {20000} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% % % \begin{macrocode} %</initex|package> % \end{macrocode} % -% \endinput -% -% $Log$ -% Revision 1.17 2006/03/20 18:26:37 braams -% Updated the copyright notice (2006) and demoted all implementation -% sections to subsections and so on to clean up the toc for source3.tex -% -% Revision 1.16 2005/12/27 10:03:01 morten -% Changed RCS information retrieval -% -% Revision 1.15 2005/12/06 13:41:02 morten -% Added a few functions to ease processing with \if_case:w -% -% Revision 1.14 2005/12/03 12:57:36 morten -% Minor touch-ups. -% -% Revision 1.13 2005/10/27 22:39:02 morten -% Forgot to add \if_num_odd:w -% -% Revision 1.12 2005/10/27 22:34:26 morten -% Added \if_num:w, \if_case:w and \or: as they really belong here. -% -% Revision 1.11 2005/04/06 22:36:53 braams -% Missed one occurence of \c_max_register_int -% -% Revision 1.10 2005/04/06 21:38:46 morten -% Removed dependency on l3prg and added a missing function. -% -% Revision 1.9 2005/04/05 22:05:38 braams -% Renamed \c_max_regsiter_int to \c_max_register_num, -% Fixed const_new to allow 32767 as a value for \tex_mathchardef:D -% Added \c_ten and \c_eleven as constants -% -% Revision 1.8 2005/03/26 21:06:35 morten -% Update documentation -% -% Revision 1.7 2005/03/22 23:21:32 morten -% Now independent of l3int and can be used as a very primitive module. -% -% Revision 1.6 2005/03/16 22:36:20 braams -% Added the tweaks necessary to be able to load with initex -% -% Revision 1.5 2005/03/11 21:39:47 braams -% Fixed the use of RCS information; added \StopEventually +% \end{implementation} +% \PrintIndex % +% \endinput |