diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-22 23:37:33 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-22 23:37:33 +0000 |
commit | b2ba0afced5c10391750914c16a2aa06cfaa6a96 (patch) | |
tree | 8a87b0b92f0038639e1078486bb4c2a56bcea2d3 /Master/texmf-dist/tex/latex/base/latex.ltx | |
parent | bc46c8f4627710df445115626d25161dcb2df985 (diff) |
latex2e (22jan17)
git-svn-id: svn://tug.org/texlive/trunk@43024 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latex.ltx')
-rw-r--r-- | Master/texmf-dist/tex/latex/base/latex.ltx | 199 |
1 files changed, 116 insertions, 83 deletions
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx index d07e888c1a4..98f07a3dafc 100644 --- a/Master/texmf-dist/tex/latex/base/latex.ltx +++ b/Master/texmf-dist/tex/latex/base/latex.ltx @@ -93,6 +93,11 @@ tex.extraprimitives("omega", "aleph", "luatex"))} \fi \fi +\ifx\eTeXversion\undefined + \errmessage + {LaTeX requires e-TeX} + \expandafter\endinput +\fi \catcode`\#=6 \catcode`\^=7 \chardef\active=13 @@ -283,7 +288,7 @@ \catcode`\_=8 % underline and downarrow are for subscripts \catcode`\^^I=10 % ascii tab is a blank space \chardef\active=13 \catcode`\~=\active % tilde is active -\catcode`\^^L=\active \outer\def^^L{\par}% ascii form-feed is \outer\par +\catcode`\^^L=\active \def^^L{\par}% ascii form-feed is \par \message{catcodes,} \def\dospecials{\do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\_\do\%\do\~} @@ -345,9 +350,13 @@ \fi \def\new@mathgroup {\e@alloc\mathgroup\chardef{\count18}\m@ne\e@mathgroup@top} -\def\newlanguage {\e@alloc\language \chardef{\count19}\m@ne\@cclvi} \let\newfam\new@mathgroup \ifx\directlua\@undefined + \def\newlanguage {\e@alloc\language \chardef{\count19}\m@ne\@cclvi} +\else + \def\newlanguage {\e@alloc\language \chardef{\count19}\m@ne{16384}} +\fi +\ifx\directlua\@undefined \ifx\widowpenalties\@undefined \mathchardef\e@alloc@top=255 \let\e@alloc@chardef\chardef @@ -468,22 +477,6 @@ \newdimen\z@ \z@=0pt % can be used both for 0pt and 0 \newskip\z@skip \z@skip=0pt plus0pt minus0pt \newbox\voidb@x % permanently void box register -\message{compatibility for TeX 2, } -\ifx\@undefined\inputlineno - \newcount\inputlineno - \inputlineno-1 - \ifx\@undefined\language - \newcount\language - \fi - \newcount\lefthyphenmin - \newcount\righthyphenmin - \newcount\errorcontextlines - \newcount\holdinginserts - \newdimen\emergencystretch - \newcount\badness - \let\noboundary\relax - \newcount\setlanguage -\fi \message{parameters,} \pretolerance=100 \tolerance=200 % INITEX sets this to 10000 @@ -578,7 +571,7 @@ \def\hglue{\afterassignment\hgl@\skip@=} \def\hgl@{\leavevmode \count@\spacefactor \vrule \@width\z@ \nobreak\hskip\skip@ \spacefactor\count@} -\def\slash{/\penalty\exhyphenpenalty} % a `/' that acts like a `-' +\def\slash{/\penalty\exhyphenpenalty} \def\break{\penalty-\@M} \def\nobreak{\penalty \@M} \def\allowbreak{\penalty \z@} @@ -704,8 +697,8 @@ %%% From File: ltvers.dtx \def\fmtname{LaTeX2e} \edef\fmtversion - {2016/03/31} -\def\patch@level{3} + {2017/01/01} +\def\patch@level{0} \iffalse \def\reserved@a#1/#2/#3\@nil{% \count@\year @@ -1288,11 +1281,7 @@ Type H <return> for immediate help.}% \@latex@info{#1\@gobble}} \let\c@errorcontextlines\errorcontextlines \c@errorcontextlines=-1 -\ifnum\inputlineno=\m@ne - \let\on@line\@empty -\else - \def\on@line{ on input line \the\inputlineno} -\fi +\def\on@line{ on input line \the\inputlineno} \let\@warning\@latex@warning \let\@@warning\@latex@warning@no@line \global\let\@latexerr\@latex@error @@ -2164,7 +2153,7 @@ Type H <return> for immediate help.}% \@ctrerr \fi }% \begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname eTeXversion\endcsname\relax +\expandafter\ifx\csname protected\endcsname\relax \DeclareRobustCommand\TextOrMath{% \ifmmode \expandafter\@secondoftwo \else \expandafter\@firstoftwo \fi} @@ -2588,6 +2577,7 @@ Type H <return> for immediate help.}% \ifx\noaccents@\@undefined \let\noaccents@\@empty \fi +\ifx\XeTeXcharclass\@undefined \gdef\showhyphens#1{% \setbox0\vbox{% \color@begingroup @@ -2596,6 +2586,54 @@ Type H <return> for immediate help.}% \normalfont \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1% \color@endgroup}} +\else +\long\def\showhyphens#1{% + \setbox0\vbox{% + \usefont{TU}{lmr}{m}{n}% + \hsize 1sp % + \hbadness\@M + \hfuzz\maxdimen + \tracingonline\z@ + \everypar={}% + \leftskip\z@skip + \rightskip\z@skip + \parfillskip\z@skip + \hyphenpenalty=-\@M + \pretolerance\m@ne + \interlinepenalty\z@ + \clubpenalty\z@ + \widowpenalty\z@ + \brokenpenalty1127 % + \setbox\z@\hbox{}% + \noindent + \hskip\z@skip + #1% + \par + \loop + \@tempswafalse + \ifnum\lastnodetype=11\unskip\@tempswatrue\fi + \ifnum\lastnodetype=12\unkern\@tempswatrue\fi + \ifnum\lastnodetype=13 % + \count@\lastpenalty + \unpenalty\@tempswatrue + \fi + \ifnum\lastnodetype=\@ne + \setbox\tw@\lastbox\@tempswatrue + \setbox0\hbox{\unhbox\tw@\unskip\unskip\unpenalty + \ifnum\count@=1127 \else\ \fi + \unhbox0}% + \count@\z@ + \fi + \if@tempswa + \repeat + \hbadness\z@ + \hsize\maxdimen + \showboxdepth\z@ + \tolerance\m@ne + \hyphenpenalty\z@ + \noindent\unhbox\z@ +}} +\fi \long\def\addto@hook#1#2{#1\expandafter{\the#1#2}} \def\@vpt{5} \def\@vipt{6} @@ -3460,7 +3498,8 @@ Type H <return> for immediate help.}% \advance\count\tw@-\count@ \if\relax\noexpand#1% is command? \edef\reserved@a - {\noexpand\in@{\expandafter\@gobble\string\mathchar}{\meaning#1}}% + {\noexpand\in@{\expandafter\@gobble\string\mathchar}% + {\meaning#1}}% \reserved@a \ifin@ \expandafter\set@mathsymbol @@ -3851,25 +3890,6 @@ Type H <return> for immediate help.}% \DeclareErrorFont{OT1}{cmr}{m}{n}{10} %% don't modify this setting %% overwrite it in fontdef.cfg %% if necessary -\ifnum\inputlineno=\m@ne -\InputIfFileExists{fonttext.cfg} - {\typeout{====================================^^J% - ^^J% - Local config file fonttext.cfg used^^J% - ^^J% - ====================================}% - \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% - } - {\typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J% - !^^J% - ! You MUST use a fonttext.cfg file!^^J% - ! As you are still using TeX2!!!!!^^J% - !^^J% - ! See the documentation file tex2.txt^^J% - !^^J% - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}% - \batchmode \@@end} -\else \InputIfFileExists{fonttext.cfg} {\typeout{====================================^^J% ^^J% @@ -3879,7 +3899,6 @@ Type H <return> for immediate help.}% \def\@addtofilelist##1{\xdef\@filelist{\@filelist,##1}}% } {\input{fonttext.ltx}} -\fi \let\@addtofilelist\@gobble \InputIfFileExists{fontmath.cfg} {\typeout{====================================^^J% @@ -7388,7 +7407,7 @@ Type H <return> for immediate help.}% } \def\@makefcolumn #1{% \begingroup - \@fpmin \z@ + \@fpmin -\maxdimen \let \@testfp \@gobble \@tryfcolumn #1% \endgroup @@ -7546,7 +7565,8 @@ Type H <return> for immediate help.}% \@onlypreamble\@if@ptions \def\@if@pti@ns#1#2{% \let\reserved@a\@firstoftwo - \@for\reserved@b:=#2\do{% + \edef\reserved@b{\zap@space#2 \@empty}% + \@for\reserved@b:=\reserved@b\do{% \ifx\reserved@b\@empty \else \expandafter\in@\expandafter{\expandafter,\reserved@b,}{,#1,}% @@ -7669,8 +7689,10 @@ Type H <return> for immediate help.}% \csname ds@\CurrentOption\endcsname} \@onlypreamble\@use@ption \def\ExecuteOptions#1{% + \edef\@fortmp{\zap@space#1 \@empty}% \def\reserved@a##1\@nil{% - \@for\CurrentOption:=#1\do{\csname ds@\CurrentOption\endcsname}% + \@for\CurrentOption:=\@fortmp\do + {\csname ds@\CurrentOption\endcsname}% \edef\CurrentOption{##1}}% \expandafter\reserved@a\CurrentOption\@nil} \@onlypreamble\ExecuteOptions @@ -7766,15 +7788,15 @@ Type H <return> for immediate help.}% \fi \else \def\reserved@b##1,{% - \ifx\@nil##1\relax\else - \ifx\relax##1\relax\else + \ifx\@nnil##1\relax\else + \ifx\@nnil##1\@nnil\else \noexpand\@onefilewithoptions##1[{#2}][{#4}]% \noexpand\@pkgextension \fi \expandafter\reserved@b \fi}% \edef\reserved@a{\zap@space#3 \@empty}% - \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nil,}% + \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nnil,}% \fi \reserved@a} \@onlypreamble\@fileswith@pti@ns @@ -8142,6 +8164,30 @@ Type H <return> for immediate help.}% \directlua{require("ltluatex")} \endgroup } +\everyjob\expandafter{% + \the\everyjob + \directlua{% +%% Horrible hack, locally reset the luatex version number +%% This is not required for the source version of luaotfload +%% but is required due to an error in the version check in the +%% public version (January 2017) +%% https://github.com/lualatex/luaotfload/issues/387 +%% It is expected that this will be removed before TeXLive 2017 + local tmp_version=tex.luatexversion % + tex.luatexversion=199 % + if xpcall(function ()% + require('luaotfload-main')% + end,texio.write_nl) then % + local _void = luaotfload.main ()% + else % + texio.write_nl('Error in luaotfload: reverting to OT1')% + tex.print('\string\\def\string\\encodingdefault{OT1}')% + end % + tex.luatexversion=tmp_version% + }% + \let\f@encoding\encodingdefault + \expandafter\let\csname ver@luaotfload.sty\endcsname\fmtversion + } \fi %%% From File: ltfinal.dtx \tracingstats1 @@ -8204,10 +8250,8 @@ Type H <return> for immediate help.}% \lccode#1=#1 } \reserved@a{`\a}{`\z} -\ifnum\inputlineno=\m@ne\else - \reserved@a{"A0}{"BC} - \reserved@a{"E0}{"FF} -\fi +\reserved@a{"A0}{"BC} +\reserved@a{"E0}{"FF} \def\reserved@c#1{% \count@=#1\advance\count@ by "20 \uccode#1=#1 @@ -8215,20 +8259,16 @@ Type H <return> for immediate help.}% \sfcode#1=999 } \reserved@a{`\A}{`\Z} -\ifnum\inputlineno=\m@ne\else - \reserved@a{"80}{"9C} - \reserved@a{"C0}{"DF} -\fi +\reserved@a{"80}{"9C} +\reserved@a{"C0}{"DF} \uccode`\^^Y=`\I % dotless i \lccode`\^^Y=`\^^Y % dotless i \uccode`\^^Z=`\J % dotless j, ae in OT1 \lccode`\^^Z=`\^^Z % dotless j, ae in OT1 -\ifnum\inputlineno=\m@ne\else - \lccode`\^^9d=`\i % dotted I - \uccode`\^^9d=`\^^9d % dotted I - \lccode`\^^9e=`\^^9e % d-bar - \uccode`\^^9e=`\^^d0 % d-bar -\fi +\lccode`\^^9d=`\i % dotted I +\uccode`\^^9d=`\^^9d % dotted I +\lccode`\^^9e=`\^^9e % d-bar +\uccode`\^^9e=`\^^d0 % d-bar \lccode`\^^[=`\^^[ % oe in OT1 \lccode`\- =`\- % default hyphen char \lccode 127=127 % alternate hyphen char @@ -8303,7 +8343,6 @@ Type H <return> for immediate help.}% \reserved@a{0}{`\^^H} \reserved@c{`\^^K} \reserved@a{`\^^N}{31} - \catcode"7F=15 \ifnum 0% \ifx\Umathcode\@undefined\else 1\fi \ifx\XeTeXmathcode\@undefined\else 1\fi @@ -8315,10 +8354,8 @@ Type H <return> for immediate help.}% \lccode#1=#1 } \reserved@a{`\a}{`\z} -\ifnum\inputlineno=\m@ne\else - \reserved@a{"A0}{"BC} - \reserved@a{"E0}{"FF} -\fi +\reserved@a{"A0}{"BC} +\reserved@a{"E0}{"FF} \def\reserved@c#1{% \count@=#1\advance\count@ by "20 \uccode#1=#1 @@ -8326,20 +8363,16 @@ Type H <return> for immediate help.}% \sfcode#1=999 } \reserved@a{`\A}{`\Z} -\ifnum\inputlineno=\m@ne\else - \reserved@a{"80}{"9C} - \reserved@a{"C0}{"DF} -\fi +\reserved@a{"80}{"9C} +\reserved@a{"C0}{"DF} \uccode`\^^Y=`\I % dotless i \lccode`\^^Y=`\^^Y % dotless i \uccode`\^^Z=`\J % dotless j, ae in OT1 \lccode`\^^Z=`\^^Z % dotless j, ae in OT1 -\ifnum\inputlineno=\m@ne\else - \lccode`\^^9d=`\i % dotted I - \uccode`\^^9d=`\^^9d % dotted I - \lccode`\^^9e=`\^^9e % d-bar - \uccode`\^^9e=`\^^d0 % d-bar -\fi +\lccode`\^^9d=`\i % dotted I +\uccode`\^^9d=`\^^9d % dotted I +\lccode`\^^9e=`\^^9e % d-bar +\uccode`\^^9e=`\^^d0 % d-bar \lccode`\^^[=`\^^[ % oe in OT1 \fi % End of reset block for 8-bit engines \DeclareRobustCommand{\MakeUppercase}[1]{{% |