%% %% This is file `l3bootstrap.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% l3bootstrap.dtx (with options: `package') %% %% EXPERIMENTAL CODE %% %% Do not distribute this file without also distributing the %% source files specified above. %% %% Do not distribute a modified version of this file. %% %% File: l3bootstrap.dtx Copyright (C) 2011 The 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 "l3kernel 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 LaTeX3 Project. %% %% ----------------------------------------------------------------------- \protected\def\GetIdInfo { \begingroup \catcode 32 = 10 \relax \GetIdInfoAuxI } \protected\def\GetIdInfoAuxI$#1$#2% { \def\tempa{#1}% \def\tempb{Id}% \ifx\tempa\tempb \def\tempa {% \endgroup \def\ExplFileDate{9999/99/99}% \def\ExplFileDescription{#2}% \def\ExplFileName{[unknown name]}% \def\ExplFileExtension{[unknown extension]}% \def\ExplFileVersion{999}% }% \else \def\tempa {% \endgroup \GetIdInfoAuxII$#1${#2}% }% \fi \tempa } \protected\def\GetIdInfoAuxII$#1 #2.#3 #4 #5 #6 #7 #8$#9% {% \def\ExplFileName{#2}% \def\ExplFileExtension{#3}% \def\ExplFileVersion{#4}% \def\ExplFileDescription{#9}% \GetIdInfoAuxIII#5\relax#3\relax#5\relax#6\relax } \protected\def\GetIdInfoAuxIII#1#2#3#4#5#6\relax {% \ifx#5/% \expandafter\GetIdInfoAuxCVS \else \expandafter\GetIdInfoAuxSVN \fi } \protected\def\GetIdInfoAuxCVS#1,v\relax#2\relax#3\relax {\def\ExplFileDate{#2}} \protected\def\GetIdInfoAuxSVN#1\relax#2-#3-#4\relax#5Z\relax {\def\ExplFileDate{#2/#3/#4}} \GetIdInfo$Id: l3bootstrap.dtx 3110 2011-12-29 14:23:48Z joseph $ {L3 experimental bootstrap code} \ProvidesPackage{l3bootstrap} [% \ExplFileDate\space v\ExplFileVersion\space L3 Experimental bootstrap code% ] \def\@tempa% {% \def\@tempa{}% \RequirePackage{luatex}% \RequirePackage{pdftexcmds}% \let\pdfstrcmp\pdf@strcmp } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname directlua\endcsname\relax \else \expandafter\@tempa \fi \protected\edef\ExplSyntaxOff {% \catcode 9 = \the\catcode 9\relax \catcode 32 = \the\catcode 32\relax \catcode 34 = \the\catcode 34\relax \catcode 38 = \the\catcode 38\relax \catcode 58 = \the\catcode 58\relax \catcode 94 = \the\catcode 94\relax \catcode 95 = \the\catcode 95\relax \catcode 124 = \the\catcode 124\relax \catcode 126 = \the\catcode 126\relax \endlinechar = \the\endlinechar\relax \chardef\csname\detokenize{l_expl_status_bool}\endcsname = 0 \relax } \protected\edef\ExplSyntaxOn { \catcode 9 = 9 \relax \catcode 32 = 9 \relax \catcode 34 = 12 \relax \catcode 58 = 11 \relax \catcode 94 = 7 \relax \catcode 95 = 11 \relax \catcode 124 = 12 \relax \catcode 126 = 10 \relax \endlinechar = 32 \relax \chardef\csname\detokenize{l_expl_status_bool}\endcsname = 1 \relax } \expandafter\chardef\csname\detokenize{l_expl_status_bool}\endcsname = 0 \relax \protected\def\GetIdInfo { \begingroup \catcode 32 = 10 \relax \GetIdInfoAuxI } \protected\def\GetIdInfoAuxI$#1$#2% { \def\tempa{#1}% \def\tempb{Id}% \ifx\tempa\tempb \def\tempa {% \endgroup \def\ExplFileDate{9999/99/99}% \def\ExplFileDescription{#2}% \def\ExplFileName{[unknown name]}% \def\ExplFileVersion{999}% }% \else \def\tempa {% \endgroup \GetIdInfoAuxII$#1${#2}% }% \fi \tempa } \protected\def\GetIdInfoAuxII$#1 #2.#3 #4 #5 #6 #7 #8$#9% {% \def\ExplFileName{#2}% \def\ExplFileVersion{#4}% \def\ExplFileDescription{#9}% \GetIdInfoAuxIII#5\relax#3\relax#5\relax#6\relax } \protected\def\GetIdInfoAuxIII#1#2#3#4#5#6\relax {% \ifx#5/% \expandafter\GetIdInfoAuxCVS \else \expandafter\GetIdInfoAuxSVN \fi } \protected\def\GetIdInfoAuxCVS#1,v\relax#2\relax#3\relax {\def\ExplFileDate{#2}} \protected\def\GetIdInfoAuxSVN#1\relax#2-#3-#4\relax#5Z\relax {\def\ExplFileDate{#2/#3/#4}} \protected\def\ProvidesExplPackage#1#2#3#4% {% \ProvidesPackage{#1}[#2 v#3 #4]% \ExplSyntaxOn } \protected\def\ProvidesExplClass#1#2#3#4% {% \ProvidesClass{#1}[#2 v#3 #4]% \ExplSyntaxOn } \protected\def\ProvidesExplFile#1#2#3#4% {% \ProvidesFile{#1}[#2 v#3 #4]% \ExplSyntaxOn } \edef\@pushfilename {% \edef\expandafter\noexpand \csname\detokenize{l_expl_status_stack_tl}\endcsname {% \noexpand\ifodd\expandafter\noexpand \csname\detokenize{l_expl_status_bool}\endcsname 1% \noexpand\else 0% \noexpand\fi \expandafter\noexpand \csname\detokenize{l_expl_status_stack_tl}\endcsname }% \ExplSyntaxOff \unexpanded\expandafter{\@pushfilename}% } \edef\@popfilename {% \unexpanded\expandafter{\@popfilename}% \noexpand\if a\expandafter\noexpand\csname \detokenize{l_expl_status_stack_tl}\endcsname a% \ExplSyntaxOff \noexpand\else \noexpand\expandafter \expandafter\noexpand\csname \detokenize{expl_status_pop:w}\endcsname \expandafter\noexpand\csname \detokenize{l_expl_status_stack_tl}\endcsname \noexpand\@nil \noexpand\fi } \@namedef{\detokenize{l_expl_status_stack_tl}}{0} \expandafter\edef\csname\detokenize{expl_status_pop:w}\endcsname#1#2\@nil {% \def\expandafter\noexpand \csname\detokenize{l_expl_status_stack_tl}\endcsname{#2}% \noexpand\ifodd#1\space \noexpand\expandafter\noexpand\ExplSyntaxOn \noexpand\else \noexpand\expandafter\ExplSyntaxOff \noexpand\fi } \expandafter\protected\expandafter\def \csname\detokenize{package_check_loaded_expl:}\endcsname {% \@ifpackageloaded{expl3} {} {% \PackageError{expl3} {Cannot load the expl3 modules separately} {% The expl3 modules cannot be loaded separately;\MessageBreak please \string\usepackage\string{expl3\string} instead. }% }% } \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdfstrcmp\endcsname\relax \let\pdfstrcmp\strcmp \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pdfstrcmp\endcsname\relax \PackageError{l3names}{Required primitive not found: \protect\pdfstrcmp} {% LaTeX3 requires the e-TeX primitives and \string\pdfstrcmp.\MessageBreak These are available in engine versions: \MessageBreak - pdfTeX 1.30 \MessageBreak - XeTeX 0.9994 \MessageBreak - LuaTeX 0.60 \MessageBreak or later. \MessageBreak \MessageBreak Loading of expl3 will abort! } \expandafter\endinput \fi \protected\edef\ExplSyntaxNamesOn {% \expandafter\noexpand \csname\detokenize{char_set_catcode_letter:n}\endcsname{58}% \expandafter\noexpand \csname\detokenize{char_set_catcode_letter:n}\endcsname{95}% } \protected\edef\ExplSyntaxNamesOff {% \expandafter\noexpand \csname\detokenize{char_set_catcode_other:n}\endcsname{58}% \expandafter\noexpand \csname\detokenize{char_set_catcode_math_subscript:n}\endcsname{95}% } %% %% %% End of file `l3bootstrap.sty'.