summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/base/latex.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/base/latex.ltx')
-rw-r--r--Master/texmf-dist/tex/latex/base/latex.ltx199
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]{{%