diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/expl3/l3final.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/expl3/l3final.dtx | 70 |
1 files changed, 57 insertions, 13 deletions
diff --git a/Master/texmf-dist/source/latex/expl3/l3final.dtx b/Master/texmf-dist/source/latex/expl3/l3final.dtx index 65da64c7f7f..d4ece607fee 100644 --- a/Master/texmf-dist/source/latex/expl3/l3final.dtx +++ b/Master/texmf-dist/source/latex/expl3/l3final.dtx @@ -37,7 +37,7 @@ %</driver|package> %<*-ini> %\fi -\GetIdInfo$Id: l3final.dtx 1362 2009-05-28 20:19:21Z joseph $ +\GetIdInfo$Id: l3final.dtx 1452 2009-08-08 14:09:32Z joseph $ {L3 Experimental final module} %\iffalse %</-ini> @@ -53,28 +53,72 @@ %</driver> %\fi % -% \section{Final Wrap-up} +%\section{Final Wrap-up} % -% This module will contain all the last minute coding necessary to -% round off the format. +% This module will contain all the last minute coding necessary to round +% off the format. +% +%\begin{function}{\par} +% \begin{syntax} +% "\par" +% \end{syntax} +% \cs{par} needs to be defined, as \TeX\ uses it in some runaway +% situtations. +%\end{function} +% +%\begin{function}{\latex_format_dump:} +% \begin{syntax} +% "\latex_format_dump:" +% \end{syntax} +% Dumps the format, settting category codes back to user space and +% undefines itself (as it can only every be used once). +%\end{function} % -% \subsection{Cleaning up} -% -% Some of the macros needed in creating the format are no longer -% needed and will either be removed are modified to generate error -% messages. +%\subsection{Dumping the format} % +%\begin{macro}{\par} +% \TeX\ has a nasty habit of inserting a command with the name \cs{par} +% so we had better make sure that that command at least has a definition. % \begin{macrocode} %<*initex> +\cs_set_eq:NN \par \tex_par:D % \end{macrocode} +%\end{macro} % -% \subsection{Dumping the format} -% -% The last action to take is to dump the format. +%\begin{macro}{\ExplSyntaxOff} +% We re-define \cs{ExplSyntaxOff} as the version that comes through +% from \pkg{l3names} is defined using \TeX\ primitives, which we no +% longer have! Here, we can also make a fixed decision about the +% category codes to fix. % \begin{macrocode} -\tex_dump:D +%<*initex> +\cs_set_nopar:Npn \ExplSyntaxOff { + \intexpr_if_odd:nT { \ExplSyntaxStatus } { + \tl_set:Nn \ExplSyntaxStatus { 0 } + \char_set_catcode:nn { 126 } { 13 } + \char_set_catcode:nn { 32 } { 10 } + \char_set_catcode:nn { 9 } { 10 } + \char_set_catcode:nn { 95 } { 8 } + \char_set_catcode:nn { 58 } { 12 } + \tex_endlinechar:D = 13 \scan_stop: + } +} % \end{macrocode} +%\end{macro} % +%\begin{macro}{\latex_format_dump:} +% The last action to take is to dump the format. So that the document +% starts with user category codes, \cs{ExplSyntaxOff} is called along +% with tokenizing \cs{tex_dump:D} before actually calling it. % \begin{macrocode} +\cs_new_nopar:Nn \latex_format_dump: { + \ExplSyntaxOff + \cs_gundefine:N \latex_format_dump: + \tex_dump:D +} +\latex_format_dump: %</initex> % \end{macrocode} +%\end{macro} +% +%\endinput |