diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-15 22:59:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-15 22:59:15 +0000 |
commit | 2e36532bb99dce0d6c5fba60f7adba7e2bfb7c37 (patch) | |
tree | cc660828dba6c726fdb074cf8863c67909b4c12b /Master/texmf-dist/source | |
parent | 3921a22f73049427dc715ed4969798cd28ba9142 (diff) |
latex2e (15apr17, ltnews27)
git-svn-id: svn://tug.org/texlive/trunk@43813 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
23 files changed, 1025 insertions, 390 deletions
diff --git a/Master/texmf-dist/source/latex/amsmath/amscd.dtx b/Master/texmf-dist/source/latex/amsmath/amscd.dtx index 8dab799b486..251b3ae396b 100644 --- a/Master/texmf-dist/source/latex/amsmath/amscd.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amscd.dtx @@ -103,7 +103,7 @@ Bug reports can be opened (category \texttt{#1}) at\\% % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX) [1994/12/01]% LaTeX date must December 1994 or later -\ProvidesPackage{amscd}[1999/11/29 v2.0 AMS Commutatitive Diagrams] +\ProvidesPackage{amscd}[2017/04/14 v2.1 AMS Commutative Diagrams] % \end{macrocode} % \begin{macrocode} \RequirePackage{amsgen} diff --git a/Master/texmf-dist/source/latex/base/doc.dtx b/Master/texmf-dist/source/latex/base/doc.dtx index c397911f67e..049d8a118bb 100644 --- a/Master/texmf-dist/source/latex/base/doc.dtx +++ b/Master/texmf-dist/source/latex/base/doc.dtx @@ -60,9 +60,9 @@ % 1.5b and higher... are documented with the (undocumented) \changes % feature. %\fi -% \changes{v1.5f}{1989/4/29}{Thanks to Brian who documented the +% \changes{v1.5f}{1989/04/29}{Thanks to Brian who documented the % \cs{changes} macro feature.} -% \changes{v1.5g}{1989/5/07}{MacroTopsep now called MacrocodeTopsep and +% \changes{v1.5g}{1989/05/07}{MacroTopsep now called MacrocodeTopsep and % new MacroTopsep added} % \changes{v1.5h}{1989/05/17}{All lines shortened to <72 characters} % \changes{v1.5j}{1989/06/09}{Corrections by Ron Whitney added} @@ -1347,7 +1347,7 @@ % \changes{v1.5l}{1989/09/10}{Code line numbers supported.} % \changes{v1.5t}{1989/11/07}{Call \cs{leavevmode} to get \cs{everypar} % on blank lines.} -% \changes{v1.7c}{1992/3/24}{Added \cs{interlinepenalty} to +% \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to % \cs{par} from % verbatim.sty} % \begin{macrocode} @@ -1960,7 +1960,7 @@ % We also % make the |\marginparpush| zero and |\marginparwidth| suitably % wide. -% \changes{v1.5d}{1989/4/28}{\cs{marginparwidth} setting added.} +% \changes{v1.5d}{1989/04/28}{\cs{marginparwidth} setting added.} % \begin{macrocode} \reversemarginpar \setlength\marginparpush{0pt} \setlength\marginparwidth{8pc} @@ -2026,7 +2026,7 @@ % |\@verbatim| sets |^^M|, the end of line character, to % be equal to |\par|. This control sequence is redefined % here; |\@@par| is the paragraph primitive of \TeX. -% \changes{v1.7c}{1992/3/24}{Added \cs{interlinepenalty} to +% \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to % \cs{par} from verbatim.sty} % \begin{macrocode} \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par @@ -2195,7 +2195,7 @@ % After scanning the argument we close the group to get the normal % |\catcode|$\,$s back. Then we assign a special value to % |\topsep| and start a \textsf{trivlist} environment. -% \changes{v1.5f}{1989/5/07}{MacroTopsep parameter added.} +% \changes{v1.5f}{1989/05/07}{MacroTopsep parameter added.} % \changes{v1.5k}{1989/08/17}{Fix for save stack problem.} % \changes{v1.8c}{1993/10/25}{Support ``environment'' env} % \changes{v1.9k}{1994/02/22}{Remove \cs{macro@level}} @@ -2468,7 +2468,7 @@ % ensure that it is active. The |\begingroup| is used to make % a possible change local to the expansion of % |\SpecialEscapechar|. -% \changes{v1.7g}{1992/6/19}{Making tilde active moved outside +% \changes{v1.7g}{1992/06/19}{Making tilde active moved outside % definition} % \begin{macrocode} \begingroup @@ -2729,7 +2729,7 @@ % % % \begin{macro}{\short@macro} -% \changes{v1.5c}{1989/4/27}{Corrected bad bug by putting the +% \changes{v1.5c}{1989/04/27}{Corrected bad bug by putting the % scan@allowedfalse macro before printing % the argument.} % \changes{v1.7a}{1992/03/10}{Ensure character stored in @@ -2788,7 +2788,7 @@ % to avoid garbage produced by new active chars} % \changes{v1.4s}{1989/04/23}{Used \texttt{\protect\bslash string} for % the same reason.} -% \changes{v1.5c}{1989/4/27}{Corrected bad bug by placing the +% \changes{v1.5c}{1989/04/27}{Corrected bad bug by placing the % scan@allowedfalse macro into short@macro} % This macro is supposed to generate a suitable |\SortIndex| % command for a given single-letter control sequence. We test diff --git a/Master/texmf-dist/source/latex/base/docstrip.dtx b/Master/texmf-dist/source/latex/base/docstrip.dtx index 189fe637fb2..6470f754394 100644 --- a/Master/texmf-dist/source/latex/base/docstrip.dtx +++ b/Master/texmf-dist/source/latex/base/docstrip.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -31,7 +31,7 @@ \def\filename{docstrip.dtx} \def\fileversion{2.5e} \def\filedate{2014/09/29} -\def\docdate {2014/09/29} +\def\docdate {2017/03/13} %% % %\iffalse @@ -438,7 +438,7 @@ % % Do not use the \LaTeX\ syntax |\input{docstrip}| as batch files may % be used with plain~\TeX\ or ini\TeX. -% You may that old batch files always have a line +% You may find that old batch files always have a line % |\def\batchfile{|\meta{filename}|}| % just before the input. % Such usage is still supported but is now discouraged, as it causes diff --git a/Master/texmf-dist/source/latex/base/fontdef.dtx b/Master/texmf-dist/source/latex/base/fontdef.dtx index 83eec0d5bbd..d14c5c21d71 100644 --- a/Master/texmf-dist/source/latex/base/fontdef.dtx +++ b/Master/texmf-dist/source/latex/base/fontdef.dtx @@ -239,7 +239,7 @@ % % \changes{v2.1d}{1994/01/05}{Removed nf prefix from file names.} % \changes{v2.1f}{1994/05/14}{Removed .def files.} -% \changes{v2.1g}{1994/05/1g}{Removed \cs{DeclareFontEncoding} for ot1 +% \changes{v2.1g}{1994/05/16}{Removed \cs{DeclareFontEncoding} for ot1 % and t1 and input .def files instead} % \changes{v2.2c}{1994/10/25}{Added OMSenc.def} % \changes{v2.2d}{1994/10/31}{Added OMLenc.def ...} diff --git a/Master/texmf-dist/source/latex/base/latexrelease.ins b/Master/texmf-dist/source/latex/base/latexrelease.ins index f9091499f8f..e4780394330 100644 --- a/Master/texmf-dist/source/latex/base/latexrelease.ins +++ b/Master/texmf-dist/source/latex/base/latexrelease.ins @@ -3,7 +3,7 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 1993-2016 +%% Copyright 1993-2017 %% The LaTeX3 Project and any individual authors listed elsewhere %% in this file. %% @@ -45,7 +45,7 @@ reports for it can be opened at http://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright 1993-2016 +Copyright 1993-2017 The LaTeX3 Project and any individual authors listed elsewhere in this file. @@ -79,6 +79,7 @@ extension .ins) which are part of the distribution. \usedir{tex/latex/base} \generateFile{latexrelease.sty}{t}{% + \from{ltclass.dtx} {isodate}% \from{ltvers.dtx} {latexrelease}% \from{latexrelease.dtx}{latexrelease}% \from{ltdirchk.dtx} {latexrelease}% @@ -86,6 +87,7 @@ extension .ins) which are part of the distribution. \from{ltboxes.dtx} {latexrelease}% \from{ltmath.dtx} {latexrelease}% \from{ltpictur.dtx} {latexrelease}% + \from{ltfiles.dtx} {latexrelease}% \from{ltoutenc.dtx} {latexrelease}% \from{ltcounts.dtx} {latexrelease}% \from{ltlength.dtx} {latexrelease}% diff --git a/Master/texmf-dist/source/latex/base/ltboxes.dtx b/Master/texmf-dist/source/latex/base/ltboxes.dtx index c631a1f9cbb..5fac793f141 100644 --- a/Master/texmf-dist/source/latex/base/ltboxes.dtx +++ b/Master/texmf-dist/source/latex/base/ltboxes.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltboxes.dtx} - [2016/12/29 v1.2a LaTeX Kernel (Box Commands)] + [2017/03/29 v1.3a LaTeX Kernel (Box Commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltboxes.dtx} @@ -866,6 +866,11 @@ % redundant. % \changes{v1.1a}{1996/10/24}{Added local settings of flags: dangerous!!} % \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2017-04-15}% +%<latexrelease> {\normallineskiplimit} +%<latexrelease> {reset \lineskiplimit}% +%<*2ekernel|latexrelease> \def\@arrayparboxrestore{% \let\if@nobreak\iffalse \let\if@noskipsec\iffalse @@ -882,9 +887,42 @@ \linewidth\hsize \@totalleftmargin\z@ \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip - \parfillskip\@flushglue \lineskip\normallineskip + \parfillskip\@flushglue + \lineskip\normallineskip +% \end{macrocode} +% \changes{v1.3a}{2017/03/29} +% {Reset \cs{lineskiplimit}} +% \begin{macrocode} + \lineskiplimit\normallineskiplimit +% \end{macrocode} +% +% \begin{macrocode} \baselineskip\normalbaselineskip \sloppy} +%</2ekernel|latexrelease> +% \end{macrocode} +% +% \begin{macrocode} +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000-00-00}% +%<latexrelease> {\normallineskiplimit} +%<latexrelease> {reset \lineskiplimit}% +%<latexrelease>\def\@arrayparboxrestore{% +%<latexrelease> \let\if@nobreak\iffalse +%<latexrelease> \let\if@noskipsec\iffalse +%<latexrelease> \let\par\@@par +%<latexrelease> \let\-\@dischyph +%<latexrelease> \let\'\@acci\let\`\@accii\let\=\@acciii +%<latexrelease> \parindent\z@ \parskip\z@skip +%<latexrelease> \everypar{}% +%<latexrelease> \linewidth\hsize +%<latexrelease> \@totalleftmargin\z@ +%<latexrelease> \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip +%<latexrelease> \parfillskip\@flushglue \lineskip\normallineskip +%<latexrelease> \baselineskip\normalbaselineskip +%<latexrelease> \sloppy} +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex/base/ltclass.dtx b/Master/texmf-dist/source/latex/base/ltclass.dtx index ecbcbfff2cf..b1d81c5d6bf 100644 --- a/Master/texmf-dist/source/latex/base/ltclass.dtx +++ b/Master/texmf-dist/source/latex/base/ltclass.dtx @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltclass.dtx} - [2016/11/09 v1.2b LaTeX Kernel (Class & Package Interface)] + [2017/03/08 v1.2c LaTeX Kernel (Class & Package Interface)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltclass.dtx} @@ -631,8 +631,22 @@ % % \changes{v1.1j}{2016/06/20} % {don't declare as \cs{@onlypreamble}} +% \changes{v1.2c}{2017/03/08} +% {add \cs{@parse@version@dash} to support yyyy-mm-dd as well as yyyy/mm/dd } % \begin{macrocode} -\def\@parse@version#1/#2/#3#4#5\@nil{#1#2#3#4 } +%</2ekernel> +%<*2ekernel|isodate> +\def\@parse@version#1/#2/#3#4#5\@nil{% +\@parse@version@dash#1-#2-#3#4\@nil +} +% \end{macrocode} +% +% The |\if| test here ensures that an argument with no |/| or |-| produces 0 (actually 00). +% \begin{macrocode} +\def\@parse@version@dash#1-#2-#3#4#5\@nil{% + \if\relax#2\relax\else#1\fi#2#3#4 } +%</2ekernel|isodate> +%<*2ekernel> % \end{macrocode} % \end{macro} % \end{macro} @@ -794,7 +808,6 @@ % \wlog{File: #1 #2}% % \expandafter\xdef\csname ver@#1\endcsname{#2}% % \endgroup} -% \end{macrocode} %\end{verbatim} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/base/ltdefns.dtx b/Master/texmf-dist/source/latex/base/ltdefns.dtx index ea55d76b7e9..7cc8a1361b1 100644 --- a/Master/texmf-dist/source/latex/base/ltdefns.dtx +++ b/Master/texmf-dist/source/latex/base/ltdefns.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltdefns.dtx} - [2015/02/21 v1.4b LaTeX Kernel (definition commands)] + [2017/03/73 v1.5b LaTeX Kernel (definition commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltdefns.dtx} @@ -144,58 +144,13 @@ % \end{macro} % % \begin{macro}{\@@hyph} -% \begin{macro}{\-} -% \changes{1.2x}{1995/12/13}{Documentation changed.} -% The following comment was added when these commands were first set -% up, 19 April 1986: -% the |\-| command is redefined to allow it to work in the |\ttfamily| -% type style, where automatic hyphenation is suppressed by setting -% |\hyphenchar| to~$-1$. The original primitive \TeX{} definition is -% saved as |\@@hyph| just in case anyone needs it. -% -% There is a need for a robust command for a discretionary hyphen -% since its exact representation depends on the glyphs available in -% the current font. For example, with suitable fonts and the -% \texttt{T1} font encoding it is possible to use hanging hyphens. -% -% A suitable robust definition that allows for many possible types of -% font and encoding may be as follows: -% \begin{verbatim} -% \DeclareRobustCommand {\-}{% -% \discretionary {% -% \char \ifnum\hyphenchar\font<\z@ -% \defaulthyphenchar -% \else -% \hyphenchar\font -% \fi -% }{}{}% -% } -% \end{verbatim} -% -% The redefinition (via |\let|) of |\-| within tabbing also makes the -% use of a robust command advisable since then any redefinition -% of |\-| via |\DeclareRobustCommand| will not cause a conflict. -% -% Therefore, macro writers should be hereby warned that -% these internals will probably change! It is likely that a future -% release of \LaTeX{} will make |\-| effectively an encoding specific -% text command. -% -% \begin{macrocode} -\let\@@hyph=\- % Save original primitive definition -\def\-{\discretionary{-}{}{}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@dischyph} -% \changes{v1.0g}{1994/04/12} -% {Define \cs{@dischyph}, was previously in ltboxes.dtx} +% Save original primitive definition. % \begin{macrocode} -\let\@dischyph=\- +\let\@@hyph=\- % \end{macrocode} % \end{macro} % +% % \begin{macro}{\@@italiccorr} % Save the original italic correction. % \changes{v1.0a}{1994/03/07}{Macro added} @@ -659,7 +614,7 @@ % version |\let#1=\relax| but this does not work too well if |#1| % is |\@temp|\emph{a--e}.) % \changes{LaTeX2e}{1993/11/23}{Macro reimplemented and extended} -% \changes{v1.1f}{1994/05/2}{Removed surplus \cs{space} in error} +% \changes{v1.1f}{1994/05/02}{Removed surplus \cs{space} in error} % \begin{macrocode} \def\renewcommand{\@star@or@long\renew@command} % \end{macrocode} @@ -766,7 +721,7 @@ % |\newenvironment|. It is OK to |\let| the argument to |\relax| % here as there should not be a |@temp|\ldots\ environment. % \changes{LaTeX2e}{1993/11/23}{Macro reimplemented and extended} -% \changes{v1.1f}{1994/05/2}{Removed surplus \cs{space} in error} +% \changes{v1.1f}{1994/05/02}{Removed surplus \cs{space} in error} % \begin{macrocode} \def\renewenvironment{\@star@or@long\renew@environment} % \end{macrocode} @@ -1445,6 +1400,75 @@ % \end{macrocode} % \end{macro} % +% \section{Discretionary Hyphenation} +% \begin{macro}{\-} +% \changes{1.2x}{1995/12/13}{Documentation changed.} +% \changes{v1.5a}{2017/03/13}{Define \cs{-} in terms of \cs{hyphenchar}} +% \begin{macro}{\@dischyph} +% \changes{v1.0g}{1994/04/12} +% {Define \cs{@dischyph}, was previously in ltboxes.dtx} +% \changes{v1.5b}{2017/03/27}{Define \cs{@dischyph} after \cs{-}} +% \end{macro} +% Moved here to be after the definition of |\DeclareRobustCommand|. +% +% The primitive |\-| command adds a discretionary hyphen using the +% current font's |\hyphenchar|. Monospace fonts are usually declared +% with |\hyphenchar| set to $-1$ to suppress hyhenation. +% +% \LaTeX, from \LaTeX2.09 in 1986 defined |\-| by +% \begin{verbatim} +% \def\-{\discretionary{-}{}{}} +% \end{verbatim} +% The following comment was added when these commands were first set +% up, 19 April 1986: +% \begin{quote} +% the |\-| command is redefined to allow it to work in the |\ttfamily| +% type style, where automatic hyphenation is suppressed by setting +% |\hyphenchar| to~$-1$. The original primitive \TeX{} definition is +% saved as |\@@hyph| just in case anyone needs it. +% \end{quote} +% +% \LaTeXe, between 1993 and 2017, had a comment at this point +% saying that the definition ``would probably change'' because +% the definition always uses |-|. The definition used below +% was given in comments at this point during time. +% +% In 2017 we finally enabled this definition by default, with the +% older \LaTeX\ definition accessible via \textsf{latexrelease} +% as usual. +% +% \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2017/04/15}{\-}{Use \hyphenchar in \-}% +% \end{macrocode} +% Temporary definition of |\@latex@info|, final definition is later. +% \begin{macrocode} +%<*2ekernel> +\def\@latex@info#1{} +%</2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +%<*2ekernel|latexrelease> +\DeclareRobustCommand{\-}{% + \discretionary{% + \char \ifnum\hyphenchar\font<\z@ + \defaulthyphenchar + \else + \hyphenchar\font + \fi + }{}{}% +} +\let\@dischyph=\- +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}{\-}{Use \hyphenchar in \-}% +%<latexrelease>\def\-{\discretionary{-}{}{}} +%<latexrelease>\let\@dischyph=\- +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} % \begin{macrocode} %</2ekernel> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltfiles.dtx b/Master/texmf-dist/source/latex/base/ltfiles.dtx index e557f7fef08..f1e2a8d5500 100644 --- a/Master/texmf-dist/source/latex/base/ltfiles.dtx +++ b/Master/texmf-dist/source/latex/base/ltfiles.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltfiles.dtx} - [2015/02/21 v1.1m LaTeX Kernel (File Handling)] + [2017/03/10 v1.1n LaTeX Kernel (File Handling)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfiles.dtx} @@ -232,7 +232,13 @@ % % \begin{macro}{\document} % \changes{v0.9e}{1993/12/09}{Hook added} -% Cancel the |\begingroup| from |\begin| +% \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2017/03/10}% +%<latexrelease> {\document}{Save language for hyphenation}% +%<*2ekernel|latexrelease> +% \end{macrocode} +% Cancel the |\begingroup| from |\begin|. % \begin{macrocode} \def\document{\endgroup % \end{macrocode} @@ -309,6 +315,18 @@ \fi \fi % \end{macrocode} +% For similar reasons also save the default language, this will be reset +% locally in the output routine. In particular it allows hyphenation +% in the page head even if the page break happens in verbatim. +% If this has already been set by a package, set to the value of |\language| +% at this spoint. +% \changes{v1.1n}{2017/03/10}{Save language default} +% \begin{macrocode} + \ifx\document@default@language\m@ne + \chardef\document@default@language\language + \fi +% \end{macrocode} +% % Way back in 1991 (08/26) FMi \& RmS set the |\@noskipsec| switch % to true in the preamble and to false here. % This was done to trap lists and related text in the preamble but it @@ -386,6 +404,62 @@ % horizontal mode, so ignore the space after |\begin{document}|. % \begin{macrocode} \ignorespaces} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\document}{Save language for hyphenation} +%<latexrelease>\def\document{\endgroup +%<latexrelease> \ifx\@unusedoptionlist\@empty\else +%<latexrelease> \@latex@warning@no@line{Unused global option(s):^^J% +%<latexrelease> \@spaces[\@unusedoptionlist]}% +%<latexrelease> \fi +%<latexrelease> \@colht\textheight +%<latexrelease> \@colroom\textheight \vsize\textheight +%<latexrelease> \columnwidth\textwidth +%<latexrelease> \@clubpenalty\clubpenalty +%<latexrelease> \if@twocolumn +%<latexrelease> \advance\columnwidth -\columnsep +%<latexrelease> \divide\columnwidth\tw@ \hsize\columnwidth +%<latexrelease> \@firstcolumntrue +%<latexrelease> \fi +%<latexrelease> \hsize\columnwidth \linewidth\hsize +%<latexrelease> \begingroup\@floatplacement\@dblfloatplacement +%<latexrelease> \makeatletter\let\@writefile\@gobbletwo +%<latexrelease> \global \let \@multiplelabels \relax +%<latexrelease> \@input{\jobname.aux}% +%<latexrelease> \endgroup +%<latexrelease> \if@filesw +%<latexrelease> \immediate\openout\@mainaux\jobname.aux +%<latexrelease> \immediate\write\@mainaux{\relax}% +%<latexrelease> \fi +%<latexrelease> \process@table +%<latexrelease> \let\glb@currsize\@empty +%<latexrelease> \normalsize +%<latexrelease> \everypar{}% +%<latexrelease> \ifx\normalsfcodes\@empty +%<latexrelease> \ifnum\sfcode`\.=\@m +%<latexrelease> \let\normalsfcodes\frenchspacing +%<latexrelease> \else +%<latexrelease> \let\normalsfcodes\nonfrenchspacing +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> \@noskipsecfalse +%<latexrelease> \let \@refundefined \relax +%<latexrelease> \let\AtBeginDocument\@firstofone +%<latexrelease> \@begindocumenthook +%<latexrelease> \ifdim\topskip<1sp\global\topskip 1sp\relax\fi +%<latexrelease> \global\@maxdepth\maxdepth +%<latexrelease> \global\let\@begindocumenthook\@undefined +%<latexrelease> \ifx\@listfiles\@undefined +%<latexrelease> \global\let\@filelist\relax +%<latexrelease> \global\let\@addtofilelist\@gobble +%<latexrelease> \fi +%<latexrelease> \gdef\do##1{\global\let ##1\@notprerr}% +%<latexrelease> \@preamblecmds +%<latexrelease> \global\let \@nodocument \relax +%<latexrelease> \global\let\do\noexpand +%<latexrelease> \ignorespaces} +%<*2ekernel> % \end{macrocode} % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltfinal.dtx b/Master/texmf-dist/source/latex/base/ltfinal.dtx index d46f3041d99..2faecc09ede 100644 --- a/Master/texmf-dist/source/latex/base/ltfinal.dtx +++ b/Master/texmf-dist/source/latex/base/ltfinal.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltfinal.dtx} - [2016/10/15 v2.0s LaTeX Kernel (Final Settings)] + [2017/03/09 v2.0t LaTeX Kernel (Final Settings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfinal.dtx} @@ -495,6 +495,22 @@ \let\@addtofilelist\@gobble % \end{macrocode} % +% \begin{macro}{\l@nohyphenation} +% \changes{v2.0t}{2017/03/09}{ensure \cs{l@nohyphenation} is defined.} +% \begin{macrocode} +\ifx\l@nohyphenation \@undefined + \newlanguage\l@nohyphenation +\fi +% \end{macrocode} +% \end{macro} +% \begin{macro}{\document@default@language} +% Default document language. -1 acts as language 0, but used as a flag in |\document| +% to see if it has been set in the preamble. +% \begin{macrocode} +\let\document@default@language\m@ne +% \end{macrocode} +% \end{macro} +% % % % \subsection{Font loading} @@ -502,8 +518,8 @@ % changed the |\font@submax| from |0pt| to something higher. % If so, we put out a bold warning. % \changes{v0.1l}{1994/05/20}{Use new font warning commands} -% \begin{macrocode} % \changes{v1.1c}{2000/08/23}{Fix typo in warning} +% \begin{macrocode} \ifdim \font@submax >\z@ \@font@warning{Size substitutions with differences\MessageBreak up to \font@submax\space have occurred.\MessageBreak diff --git a/Master/texmf-dist/source/latex/base/ltfloat.dtx b/Master/texmf-dist/source/latex/base/ltfloat.dtx index 1ccfda25b76..a706c5a4625 100644 --- a/Master/texmf-dist/source/latex/base/ltfloat.dtx +++ b/Master/texmf-dist/source/latex/base/ltfloat.dtx @@ -742,6 +742,8 @@ \egroup %% end of vbox \color@endbox } +% \end{macrocode} +% \end{macro} % % \begin{macro}{\outer@nobreak} % \changes{v1.0h}{1994/05/20}{Macro added: default is to do nothing.} diff --git a/Master/texmf-dist/source/latex/base/ltluatex.dtx b/Master/texmf-dist/source/latex/base/ltluatex.dtx index ffde612ec4b..b7c46459421 100644 --- a/Master/texmf-dist/source/latex/base/ltluatex.dtx +++ b/Master/texmf-dist/source/latex/base/ltluatex.dtx @@ -24,7 +24,7 @@ \ProvidesFile{ltluatex.dtx} %</driver> %<*tex> -[2017/02/18 v1.1c +[2017/03/28 v1.1e %</tex> %<plain> LuaTeX support for plain TeX (core) %<*tex> @@ -170,7 +170,7 @@ % % \subsection{Allocators in Lua} % -% \DescribeMacro{new\_attribute} +% \DescribeMacro{new_attribute} % |luatexbase.new_attribute(|\meta{attribute}|)|\\ % Returns an allocation number for the \meta{attribute}, indexed from~$1$. % The attribute will be initialised with the marker value |-"7FFFFFFF| @@ -182,18 +182,18 @@ % consistently for attributes declared in \TeX\ or Lua. % % \noindent -% \DescribeMacro{new\_whatsit} +% \DescribeMacro{new_whatsit} % |luatexbase.new_whatsit(|\meta{whatsit}|)|\\ % Returns an allocation number for the custom \meta{whatsit}, indexed from~$1$. % % \noindent -% \DescribeMacro{new\_bytecode} +% \DescribeMacro{new_bytecode} % |luatexbase.new_bytecode(|\meta{bytecode}|)|\\ % Returns an allocation number for a bytecode register, indexed from~$1$. % The optional \meta{name} argument is just used for logging. % % \noindent -% \DescribeMacro{new\_chunkname} +% \DescribeMacro{new_chunkname} % |luatexbase.new_chunkname(|\meta{chunkname}|)|\\ % Returns an allocation number for a Lua chunk name for use with % |\directlua| and |\latelua|, indexed from~$1$. @@ -287,7 +287,7 @@ % % \subsection{Module utilities} % -% \DescribeMacro{provides\_module} +% \DescribeMacro{provides_module} % |luatexbase.provides_module(|\meta{info}|)|\\ % This function is used by modules to identify themselves; the |info| should be % a table containing information about the module. The required field @@ -297,9 +297,9 @@ % information will be recorded in the log. Other fields are ignored. % % \noindent -% \DescribeMacro{module\_info} -% \DescribeMacro{module\_warning} -% \DescribeMacro{module\_error} +% \DescribeMacro{module_info} +% \DescribeMacro{module_warning} +% \DescribeMacro{module_error} % |luatexbase.module_info(|\meta{module}, \meta{text}|)|\\ % |luatexbase.module_warning(|\meta{module}, \meta{text}|)|\\ % |luatexbase.module_error(|\meta{module}, \meta{text}|)|\\ @@ -316,7 +316,7 @@ % \subsection{Callback management} % % \noindent -% \DescribeMacro{add\_to\_callback} +% \DescribeMacro{add_to_callback} % |luatexbase.add_to_callback(|^^A % \meta{callback}, \meta{function}, \meta{description}|)| % Registers the \meta{function} into the \meta{callback} with a textual @@ -324,20 +324,20 @@ % in the order loaded. % % \noindent -% \DescribeMacro{remove\_from\_callback} +% \DescribeMacro{remove_from_callback} % |luatexbase.remove_from_callback(|\meta{callback}, \meta{description}|)| % Removes the callback function with \meta{description} from the \meta{callback}. % The removed function and its description % are returned as the results of this function. % % \noindent -% \DescribeMacro{in\_callback} +% \DescribeMacro{in_callback} % |luatexbase.in_callback(|\meta{callback}, \meta{description}|)| % Checks if the \meta{description} matches one of the functions added % to the list for the \meta{callback}, returning a boolean value. % % \noindent -% \DescribeMacro{disable\_callback} +% \DescribeMacro{disable_callback} % |luatexbase.disable_callback(|\meta{callback}|)| % Sets the \meta{callback} to \texttt{false} as described in the Lua\TeX{} % manual for the underlying \texttt{callback.register} built-in. Callbacks @@ -345,18 +345,18 @@ % no functions registered using the callback. % % \noindent -% \DescribeMacro{callback\_descriptions} +% \DescribeMacro{callback_descriptions} % A list of the descriptions of functions registered to the specified % callback is returned. |{}| is returned if there are no functions registered. % % \noindent -% \DescribeMacro{create\_callback} +% \DescribeMacro{create_callback} % |luatexbase.create_callback(|\meta{name},meta{type},\meta{default}|)| % Defines a user defined callback. The last argument is a default % function or |false|. % % \noindent -% \DescribeMacro{call\_callback} +% \DescribeMacro{call_callback} % |luatexbase.call_callback(|\meta{name},\ldots|)| % Calls a user defined callback with the supplied arguments. % @@ -433,10 +433,12 @@ % update to |etex.src| which already has some Lua\TeX-specific % code, but does not define the correct range for Lua\TeX. % +% 2015-07-13 higher range in luatex. % \begin{macrocode} -% 2015-07-13 higher range in luatex \edef \et@xmaxregs {\ifx\directlua\@undefined 32768\else 65536\fi} -% luatex/xetex also allow more math fam +% \end{macrocode} +% luatex/xetex also allow more math fam. +% \begin{macrocode} \edef \et@xmaxfam {\ifx\Umathchar\@undefined\sixt@@n\else\@cclvi\fi} % \end{macrocode} % @@ -513,9 +515,7 @@ \long\def\@firstofone#1{#1} % \end{macrocode} % -% \begin{macrocode} % Fix up allocations not to clash with |etex.src|. -% \end{macrocode} % % \begin{macrocode} \expandafter\csname newcount\endcsname\e@alloc@attribute@count @@ -785,9 +785,9 @@ %<latexrelease>\EndIncludeInRelease % \end{macrocode} % -% \begin{macrocode} % \changes{v1.0b}{2015/10/02}{Fix backing out of \TeX{} code} % \changes{v1.0c}{2015/10/02}{Allow backing out of Lua code} +% \begin{macrocode} %<latexrelease>\IncludeInRelease{0000/00/00} %<latexrelease> {\newluafunction}{LuaTeX}% %<latexrelease>\let\e@alloc@attribute@count\@undefined @@ -823,14 +823,6 @@ %<2ekernel> \the\everyjob %<*2ekernel,latexrelease> \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 % @@ -839,7 +831,6 @@ 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 @@ -910,7 +901,7 @@ local modules = modules or { } % \end{macrocode} % \end{macro} % -% \begin{macro}{provides\_module} +% \begin{macro}{provides_module} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0f}{2015/10/03}{use luatexbase\_log} % Local function to write to the log. @@ -983,11 +974,11 @@ local function msg_format(mod, msg_type, text) end % \end{macrocode} % -% \begin{macro}{module\_info} +% \begin{macro}{module_info} % \changes{v1.0a}{2015/09/24}{Function added} -% \begin{macro}{module\_warning} +% \begin{macro}{module_warning} % \changes{v1.0a}{2015/09/24}{Function added} -% \begin{macro}{module\_error} +% \begin{macro}{module_error} % \changes{v1.0a}{2015/09/24}{Function added} % Write messages. % \begin{macrocode} @@ -1089,7 +1080,7 @@ luatexbase.registernumber = registernumber % % \subsection{Attribute allocation} % -% \begin{macro}{new\_attribute} +% \begin{macro}{new_attribute} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking} % As attributes are used for Lua manipulations its useful to be able @@ -1106,7 +1097,8 @@ luatexbase.attributes = attributes % \end{macrocode} % % \begin{macrocode} -local attribute_count_name = attribute_count_name or "e@alloc@attribute@count" +local attribute_count_name = + attribute_count_name or "e@alloc@attribute@count" local function new_attribute(name) tex_setcount("global", attribute_count_name, tex_count[attribute_count_name] + 1) @@ -1124,7 +1116,7 @@ luatexbase.new_attribute = new_attribute % % \subsection{Custom whatsit allocation} % -% \begin{macro}{new\_whatsit} +% \begin{macro}{new_whatsit} % \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking} % Much the same as for attribute allocation in Lua. % \begin{macrocode} @@ -1145,12 +1137,13 @@ luatexbase.new_whatsit = new_whatsit % % \subsection{Bytecode register allocation} % -% \begin{macro}{new\_bytecode} +% \begin{macro}{new_bytecode} % \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking} % Much the same as for attribute allocation in Lua. % The optional \meta{name} argument is used in the log if given. % \begin{macrocode} -local bytecode_count_name = bytecode_count_name or "e@alloc@bytecode@count" +local bytecode_count_name = + bytecode_count_name or "e@alloc@bytecode@count" local function new_bytecode(name) tex_setcount("global", bytecode_count_name, tex_count[bytecode_count_name] + 1) @@ -1167,12 +1160,13 @@ luatexbase.new_bytecode = new_bytecode % % \subsection{Lua chunk name allocation} % -% \begin{macro}{new\_chunkname} +% \begin{macro}{new_chunkname} % \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking} % As for bytecode registers but also store the name in the % |lua.name| table. % \begin{macrocode} -local chunkname_count_name = chunkname_count_name or "e@alloc@luachunk@count" +local chunkname_count_name = + chunkname_count_name or "e@alloc@luachunk@count" local function new_chunkname(name) tex_setcount("global", chunkname_count_name, tex_count[chunkname_count_name] + 1) @@ -1329,8 +1323,10 @@ local callbacktypes = callbacktypes or { finish_pdfpage = data, % \end{macrocode} % Section 8.7: font-related callbacks. +% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added} % \begin{macrocode} define_font = exclusive, +% glyph_stream_provider = exclusive,% luatex 1.05 % \end{macrocode} % \changes{v1.0m}{2016/02/11}{pdf\_stream\_filter\_callback removed} % \begin{macrocode} @@ -1467,7 +1463,7 @@ local handlers = { local user_callbacks_defaults = { } % \end{macrocode} % -% \begin{macro}{create\_callback} +% \begin{macro}{create_callback} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0i}{2015/11/29}{Check name is not nil in error message (PHG)} % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)} @@ -1495,7 +1491,7 @@ luatexbase.create_callback = create_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{call\_callback} +% \begin{macro}{call_callback} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0i}{2015/11/29}{Check name is not nil in error message (PHG)} % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)} @@ -1526,7 +1522,7 @@ luatexbase.call_callback=call_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{add\_to\_callback} +% \begin{macro}{add_to_callback} % \changes{v1.0a}{2015/09/24}{Function added} % Add a function to a callback. First check arguments. % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)} @@ -1590,7 +1586,7 @@ luatexbase.add_to_callback = add_to_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{remove\_from\_callback} +% \begin{macro}{remove_from_callback} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0k}{2015/12/02}{adjust initialisation of cb local (PHG)} % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)} @@ -1647,7 +1643,7 @@ luatexbase.remove_from_callback = remove_from_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{in\_callback} +% \begin{macro}{in_callback} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0h}{2015/11/27}{Guard against undefined list latex/4445} % Look for a function description in a callback. @@ -1671,7 +1667,7 @@ luatexbase.in_callback = in_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{disable\_callback} +% \begin{macro}{disable_callback} % \changes{v1.0a}{2015/09/24}{Function added} % As we subvert the engine interface we need to provide a way to access % this functionality. @@ -1687,7 +1683,7 @@ luatexbase.disable_callback = disable_callback % \end{macrocode} % \end{macro} % -% \begin{macro}{callback\_descriptions} +% \begin{macro}{callback_descriptions} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0h}{2015/11/27}{Match test in in-callback latex/4445} % List the descriptions of functions registered for the given callback. diff --git a/Master/texmf-dist/source/latex/base/ltmiscen.dtx b/Master/texmf-dist/source/latex/base/ltmiscen.dtx index d28f2921f06..4501067d3e5 100644 --- a/Master/texmf-dist/source/latex/base/ltmiscen.dtx +++ b/Master/texmf-dist/source/latex/base/ltmiscen.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2014 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltmiscen.dtx} - [2014/09/29 v1.1l LaTeX Kernel (Misc. Environments)] + [2017/03/09 v1.1m LaTeX Kernel (Misc. Environments)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltmiscen.dtx} @@ -609,6 +609,10 @@ % \changes{v1.0b}{1994/03/16} % {Remove \cs{global}\cs{@inlabelfalse} again.} % \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2017-04-15}{\@verbatim}% +%<latexrelease> {Disable hyphenation in verbatim}% \def\@verbatim{\trivlist \item\relax \if@minipage\else\vskip\parskip\fi \leftskip\@totalleftmargin\rightskip\z@skip @@ -619,8 +623,14 @@ % from a surrounding list (the verbatim guru says). % \changes{v0.9p}{1994/01/18} % {Only add \cs{penalty} if in hmode} +% Switch language when in vertical mode. % \begin{macrocode} \@@par +% \end{macrocode} +% Set |\language| here to suppress hyphenation. Done this way rather +% than setting |\hyphenchar| as that is a global setting. +% \begin{macrocode} + \language\l@nohyphenation \@tempswafalse \def\par{% \if@tempswa @@ -642,10 +652,10 @@ % so that \cs{dospecials} cannot reset the category code % of characters handled by \cs{@noligs}.} % \changes{v1.1h}{2000/01/07}{Disable hyphenation even if the font allows it.} +% \changes{v1.1m}{2017-03-09}{Use \cs{language} not \cs{hyphenchar}} % \begin{macrocode} \let\do\@makeother \dospecials \obeylines \verbatim@font \@noligs - \hyphenchar\font\m@ne % \end{macrocode} % To avoid a breakpoint after the labels box, we remove the penalty % put there by the list macros: another use of |\unpenalty|! @@ -653,6 +663,29 @@ % \begin{macrocode} \everypar \expandafter{\the\everypar \unpenalty}% } +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000-00-00}{\@verbatim}% +%<latexrelease> {Disable hyphenation in verbatim}% +%<latexrelease>\def\@verbatim{\trivlist \item\relax +%<latexrelease> \if@minipage\else\vskip\parskip\fi +%<latexrelease> \leftskip\@totalleftmargin\rightskip\z@skip +%<latexrelease> \parindent\z@\parfillskip\@flushglue\parskip\z@skip +%<latexrelease> \@@par +%<latexrelease> \@tempswafalse +%<latexrelease> \def\par{% +%<latexrelease> \if@tempswa +%<latexrelease> \leavevmode \null \@@par\penalty\interlinepenalty +%<latexrelease> \else +%<latexrelease> \@tempswatrue +%<latexrelease> \ifhmode\@@par\penalty\interlinepenalty\fi +%<latexrelease> \fi}% +%<latexrelease> \let\do\@makeother \dospecials +%<latexrelease> \obeylines \verbatim@font \@noligs +%<latexrelease> \hyphenchar\font\m@ne +%<latexrelease> \everypar \expandafter{\the\everypar \unpenalty}% +%<latexrelease>} +%<*2ekernel> % \end{macrocode} % \end{macro} % @@ -731,12 +764,34 @@ % \cs{dospecials} % so that \cs{dospecials} cannot reset the category code % of characters handled by \cs{@noligs}.} +% \changes{v1.1m}{2017/03/09} +% {Use \cs{language} to stop hyphenation} % \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{2017-04-15}{\verb}% +%<latexrelease> {Disable hyphenation in verb}% \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi \bgroup \verb@eol@error \let\do\@makeother \dospecials \verbatim@font\@noligs +% \end{macrocode} +% Set |\language| here to suppress hyphenation. Done this way rather +% than setting |\hyphenchar| as that is a global setting. +% \begin{macrocode} + \language\l@nohyphenation \@ifstar\@sverb\@verb} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000-00-00}{\verb}% +%<latexrelease> {Disable hyphenation in verb}% +%<latexrelease>\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi +%<latexrelease> \bgroup +%<latexrelease> \verb@eol@error \let\do\@makeother \dospecials +%<latexrelease> \verbatim@font\@noligs +%<latexrelease> \@ifstar\@sverb\@verb} +%<*2ekernel> % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex/base/ltnews27.tex b/Master/texmf-dist/source/latex/base/ltnews27.tex new file mode 100644 index 00000000000..93281c19126 --- /dev/null +++ b/Master/texmf-dist/source/latex/base/ltnews27.tex @@ -0,0 +1,135 @@ +% \iffalse meta-comment +% +% Copyright 2017 +% The LaTeX3 Project and any individual authors listed elsewhere +% in this file. +% +% This file is part of the LaTeX base system. +% ------------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This file has the LPPL maintenance status "maintained". +% +% The list of all files belonging to the LaTeX base distribution is +% given in the file `manifest.txt'. See also `legal.txt' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% +% \fi +% Filename: ltnews27.tex +% +% This is issue 27 of LaTeX News. + +\documentclass{ltnews} +\usepackage[T1]{fontenc} + +\usepackage{lmodern,url,hologo} + +\publicationmonth{April} +\publicationyear{2017} + +\publicationissue{27} + +\begin{document} + +\maketitle +\tableofcontents + +\setlength\rightskip{0pt plus 3em} + +\section{ISO 8601 Date format} +Since before the first releases of \LaTeXe, \LaTeX\ has used a date +format in the form \textsc{yyyy/mm/dd}. This has many advantages over more +conventional formats, as it is easy to sort and avoids the unfortunate +ambiguity between different communities as to whether 01/02/2017 is the +1st of February or 2nd of January. + +However there is another date format, formalised by the +International Standard ISO~8601. The basic format defined by this +standard is functionally equivalent to the \LaTeX\ format, but using +\texttt{-} rather than \texttt{/}. This date format is now supported +in many Operating Systems and applications +(for example the \verb|date --iso-8601| command in Linux and similar systems). + +From this release, \LaTeX\ will accept ISO format date strings in the +date argument of \verb|\ProvidesPackage|, \verb|\usepackage|, etc. +Currently we recommend that you do not use this format in any packages +that need to work with older \LaTeX\ releases; +the \textsf{latexrelease} package may be used with older releases to + add this functionality. This change is handled in a special way by + \textsf{latexrelease}: The package always adds support for ISO dates +whatever format date is requested; this is required so that the +necessary date comparisons may be made. + +The new functionality can be seen in the startup banner which +advertises \texttt{LaTeX2e <2017-04-15>}. + +\section{Further TU encoding improvements} +The 2017/01/01 release saw the introduction of the new TU encoding for +specifying Unicode fonts with \hologo{LuaTeX} and +\hologo{XeTeX}. There were a number of small corrections and additions +in the patch releases updating 2017/01/01, and a further addition in +this release, notably extended support for the dot-under accent, +\verb|\d|. + + +\section{Disabling hyphenation} +The existing \LaTeX\ code for \verb|\verb| and \verb|verbatim| had some +issues when used with fonts that were not loaded with hyphenation +disabled via setting \verb|\hyphenchar| to $-1$. In this release these +verbatim environments use a \verb|\language| setting, +\verb|\l@nohyphenation|, that has no hyphenation patterns associated. + +The format ensures that a language has been allocated with this name. +For most users this will in fact be no change as the standard +\textsf{babel} language has for a long time allocated a language with +this name. + +In order that page breaks in \texttt{verbatim} do not influence the +language used in the page head and foot, the format now normalises the +language used in the output routine to a default language as described +below. + +\section{Discretionary hyphenation} +The \LaTeX\ definition of \verb|\-| has been adjusted so that it will +insert the current font's \verb|\hyphenchar|, as would the +\TeX\ primitive. A comment in \textsf{source2e} has given +this new definition since the first releases of \LaTeXe, and in this +release we finally acted upon this comment. Previously \verb|\-| +always inserted a \texttt{-} at a break point even if a different +character would be used for automatic hyphenation with the current font. + +\section{Default document language} + +A new integer parameter \verb|\document@default@language| is +introduced; this is initialised to $-1$ but is set at +\verb|\begin{document}| to the language in force at that time if it + has not been set by preamble code. This is very similar to the + handling of the default color, and is used in a similar way to + normalise the settings for page head and foot as described above. +Users should not normally need to set this explicitly but it is expected that +language packages such as \textsf{babel} may set this if the default +behaviour is not suitable. + +\section{Line spacing in parboxes} +Inside a \verb|\parbox| +\LaTeX\ normalises the baseline spacing. However it has not +previously reset \verb|\lineskiplimit|. This meant that +lines of a paragraph that have ascenders or descenders could be set +with \emph{closer} line spacing than lines without. This can easily +happen if you use a \verb|\parbox| in an AMS alignment, as they use a +relatively large value of \verb|\lineskiplimit|. +As usual, the \textsf{latexrelease} package may be used to +force the older behavior. + +\end{document} diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.dtx b/Master/texmf-dist/source/latex/base/ltoutenc.dtx index 44997e6e6c1..74700eb853a 100644 --- a/Master/texmf-dist/source/latex/base/ltoutenc.dtx +++ b/Master/texmf-dist/source/latex/base/ltoutenc.dtx @@ -38,14 +38,14 @@ %<TU>\ProvidesFile{tuenc.def} %<package>\ProvidesPackage{fontenc} %<TS1sty>\ProvidesPackage{textcomp} -%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2017/02/22 v2.0g +%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2017/04/05 v2.0i %<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file] %<package|TS1sty> Standard LaTeX package] % %<*driver> % \fi \ProvidesFile{ltoutenc.dtx} - [2017/02/22 v2.0g LaTeX Kernel (font encodings)] + [2017/04/05 v2.0i LaTeX Kernel (font encodings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutenc.dtx} @@ -857,6 +857,10 @@ % \changes{v1.7z}{1996/05/23} % {Modified to cope with new \cs{add@accent} command: required % removal of check for one argument-command} +% \changes{v2.0h}{2017/02/24}{% +% add check whether the accent command is defined for this encoding} +% \changes{v2.0i}{2017/04/05}{% +% Declare accent command if not already declared when declaring a composite.} % \begin{macro}{\DeclareTextComposite} % \changes{v1.7l}{1995/06/09}{Rewrote \cs{DeclareTextComposite} to % define the composite as a no-argument command rather than a @@ -878,8 +882,18 @@ % previous definition of |\T1\foo|. Finally, we define |\\T1\foo-a| % to expand to |bar|. % \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2017/04/15}{\DeclareTextCompositeCommand} +%<latexrelease> {test for undeclared accent}% +%<*2ekernel|latexrelease> \def\DeclareTextCompositeCommand#1#2#3#4{% \expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname + \ifx\reserved@a\relax + \DeclareTextCommand#1{#2}{% + \@latex@error{\string#1 undeclared in encoding #2}\@eha}% + \@latex@info{Composite with undeclared \string#1 in encoding #2}% + \expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname + \fi \expandafter\expandafter\expandafter\ifx \expandafter\@car\reserved@a\relax\relax\@nil \@text@composite \else \edef\reserved@b##1{% @@ -892,7 +906,31 @@ \expandafter\reserved@b\expandafter{\reserved@a{##1}}% \fi \expandafter\def\csname\expandafter\string\csname - #2\endcsname\string#1-\string#3\@empty\endcsname{#4}} + #2\endcsname\string#1-\string#3\@empty\endcsname{#4}% + } +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}{\DeclareTextCompositeCommand} +%<latexrelease> {test for undeclared accent}% +%<latexrelease>\def\DeclareTextCompositeCommand#1#2#3#4{% +%<latexrelease> \expandafter\let\expandafter\reserved@a +%<latexrelease> \csname#2\string#1\endcsname +%<latexrelease> \expandafter\expandafter\expandafter\ifx +%<latexrelease> \expandafter\@car\reserved@a\relax\relax\@nil +%<latexrelease> \@text@composite \else +%<latexrelease> \edef\reserved@b##1{% +%<latexrelease> \def\expandafter\noexpand +%<latexrelease> \csname#2\string#1\endcsname####1{% +%<latexrelease> \noexpand\@text@composite +%<latexrelease> \expandafter\noexpand\csname#2\string#1\endcsname +%<latexrelease> ####1\noexpand\@empty\noexpand\@text@composite +%<latexrelease> {##1}}}% +%<latexrelease> \expandafter\reserved@b\expandafter{\reserved@a{##1}}% +%<latexrelease> \fi +%<latexrelease> \expandafter\def\csname\expandafter\string\csname +%<latexrelease> #2\endcsname\string#1-\string#3\@empty\endcsname{#4}} +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % % \begin{macrocode} @@ -2134,7 +2172,6 @@ % \changes{v1.9y}{2000/01/30}{Use \cs{hmode@bgroup} where applicable % (pr/3160)} % \changes{v1.95}{2002/06/16}{Added \cs{textbardbl} (pr/3400)} -% \begin{macrocode} % \changes{v1.99}{2004/02/02}{Added \cs{textbigcircle}} % Note that slot 13 has in places been named |\Orb|: please root % out and destroy this impolity wherever you find it! @@ -2654,7 +2691,7 @@ % \changes{v2.0f}{2017/02/19}{% % declare straight quotes using new \cs{remove@tlig} command} % \changes{v2.0g}{2017/02/22}{Fix typo introduced at 2.0f} -% +% \changes{v2.0h}{2017/02/24}{introduce \cs{DeclareUnicodeAccent}}% % The TU encoding was originally introduced in the contributed % package \texttt{fontspec} as a Unicode encoding for XeTeX and % LuaTeX. @@ -2781,6 +2818,42 @@ } % \end{macrocode} % +% Wrapper around |\DeclareTextCompositeCommand| that uses the declared +% composite if it exists in the current font or falls back to the default +% definition for the TU accent if not. +% \begin{macrocode} +{ +\catcode\z@=11\relax +\gdef\DeclareUnicodeComposite#1#2#3{% + \def\reserved@a##1##2{% + \DeclareTextCompositeCommand#1\UnicodeEncodingName{#2}{% + \iffontchar\font#3 ##2% + \else ##1\fi}}% + \expandafter\expandafter\expandafter\extract@default@composite + \csname\UnicodeEncodingName\string#1\endcsname{#2}\@nil + \bgroup + \lccode\z@#3 % + \lowercase{\egroup + \expandafter\reserved@a\expandafter{\reserved@b}{^^@}}}% +} +% \end{macrocode} +% +% \begin{macrocode} +\def\extract@default@composite#1{% + \ifx\@text@composite#1% + \expandafter\extract@default@composite@a + \else + \expandafter\extract@default@composite@b\expandafter#1% + \fi} +% \end{macrocode} +% +% \begin{macrocode} +\def\extract@default@composite@a#1\@text@composite#2\@nil{% + \def\reserved@b{#2}} +\def\extract@default@composite@b#1#2\@nil{% + \def\reserved@b{#1#2}} +% \end{macrocode} +% % \begin{macrocode} \DeclareTextCommand\textquotesingle \UnicodeEncodingName{% \remove@tlig{"0027}} @@ -2853,8 +2926,6 @@ \DeclareTextSymbol{\OE} \UnicodeEncodingName{"0152} \DeclareTextSymbol{\oe} \UnicodeEncodingName{"0153} \DeclareTextSymbol{\textflorin} \UnicodeEncodingName{"0192} -\DeclareTextComposite{\=} \UnicodeEncodingName{Y}{"0232} -\DeclareTextComposite{\=} \UnicodeEncodingName{y}{"0232} \DeclareTextSymbol{\j} \UnicodeEncodingName{"0237} \DeclareTextSymbol{\textasciicaron} \UnicodeEncodingName{"02C7} \DeclareTextSymbol{\textasciibreve} \UnicodeEncodingName{"02D8} @@ -2862,8 +2933,6 @@ \DeclareTextSymbol{\textgravedbl} \UnicodeEncodingName{"02F5} \DeclareTextSymbol{\texttildelow} \UnicodeEncodingName{"02F7} \DeclareTextSymbol{\textbaht} \UnicodeEncodingName{"0E3F} -\DeclareTextComposite{\=} \UnicodeEncodingName{G}{"1E20} -\DeclareTextComposite{\=} \UnicodeEncodingName{g}{"1E21} \DeclareTextSymbol{\SS} \UnicodeEncodingName{"1E9E} \DeclareTextSymbol{\textcompwordmark} \UnicodeEncodingName{"200C} \DeclareTextSymbol{\textendash} \UnicodeEncodingName{"2013} @@ -2944,222 +3013,268 @@ \DeclareUnicodeAccent{\'} \UnicodeEncodingName{"0301} \DeclareUnicodeAccent{\^} \UnicodeEncodingName{"0302} \DeclareUnicodeAccent{\~} \UnicodeEncodingName{"0303} +\DeclareUnicodeAccent{\=} \UnicodeEncodingName{"0304} +\DeclareUnicodeAccent{\u} \UnicodeEncodingName{"0306} +\DeclareUnicodeAccent{\.} \UnicodeEncodingName{"0307} \DeclareUnicodeAccent{\"} \UnicodeEncodingName{"0308} -\DeclareUnicodeAccent{\H} \UnicodeEncodingName{"030B} \DeclareUnicodeAccent{\r} \UnicodeEncodingName{"030A} +\DeclareUnicodeAccent{\H} \UnicodeEncodingName{"030B} \DeclareUnicodeAccent{\v} \UnicodeEncodingName{"030C} -\DeclareUnicodeAccent{\u} \UnicodeEncodingName{"0306} -\DeclareUnicodeAccent{\=} \UnicodeEncodingName{"0304} -\DeclareUnicodeAccent{\.} \UnicodeEncodingName{"0307} \DeclareUnicodeAccent{\b} \UnicodeEncodingName{"0332} -\DeclareUnicodeAccent{\c} \UnicodeEncodingName{"0327} \DeclareUnicodeAccent{\d} \UnicodeEncodingName{"0323} +\DeclareUnicodeAccent{\c} \UnicodeEncodingName{"0327} \DeclareUnicodeAccent{\k} \UnicodeEncodingName{"0328} +\DeclareTextCommand\textcommabelow \UnicodeEncodingName[1] + {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex + \hbox{\check@mathfonts\fontsize\ssf@size\z@ + \math@fontsfalse\selectfont,}\hidewidth}\egroup} % \end{macrocode} % % \begin{macrocode} -\DeclareTextComposite{\^} \UnicodeEncodingName {}{"005E} -\DeclareTextComposite{\~} \UnicodeEncodingName {}{"007E} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareTextComposite{\`} \UnicodeEncodingName{A}{"00C0} -\DeclareTextComposite{\'} \UnicodeEncodingName{A}{"00C1} -\DeclareTextComposite{\^} \UnicodeEncodingName{A}{"00C2} -\DeclareTextComposite{\~} \UnicodeEncodingName{A}{"00C3} -\DeclareTextComposite{\"} \UnicodeEncodingName{A}{"00C4} -\DeclareTextComposite{\r} \UnicodeEncodingName{A}{"00C5} -\DeclareTextComposite{\c} \UnicodeEncodingName{C}{"00C7} -\DeclareTextComposite{\`} \UnicodeEncodingName{E}{"00C8} -\DeclareTextComposite{\'} \UnicodeEncodingName{E}{"00C9} -\DeclareTextComposite{\^} \UnicodeEncodingName{E}{"00CA} -\DeclareTextComposite{\"} \UnicodeEncodingName{E}{"00CB} -\DeclareTextComposite{\`} \UnicodeEncodingName{I}{"00CC} -\DeclareTextComposite{\'} \UnicodeEncodingName{I}{"00CD} -\DeclareTextComposite{\^} \UnicodeEncodingName{I}{"00CE} -\DeclareTextComposite{\"} \UnicodeEncodingName{I}{"00CF} -\DeclareTextComposite{\~} \UnicodeEncodingName{N}{"00D1} -\DeclareTextComposite{\`} \UnicodeEncodingName{O}{"00D2} -\DeclareTextComposite{\'} \UnicodeEncodingName{O}{"00D3} -\DeclareTextComposite{\^} \UnicodeEncodingName{O}{"00D4} -\DeclareTextComposite{\~} \UnicodeEncodingName{O}{"00D5} -\DeclareTextComposite{\"} \UnicodeEncodingName{O}{"00D6} -\DeclareTextComposite{\`} \UnicodeEncodingName{U}{"00D9} -\DeclareTextComposite{\'} \UnicodeEncodingName{U}{"00DA} -\DeclareTextComposite{\^} \UnicodeEncodingName{U}{"00DB} -\DeclareTextComposite{\"} \UnicodeEncodingName{U}{"00DC} -\DeclareTextComposite{\'} \UnicodeEncodingName{Y}{"00DD} -\DeclareTextComposite{\`} \UnicodeEncodingName{a}{"00E0} -\DeclareTextComposite{\'} \UnicodeEncodingName{a}{"00E1} -\DeclareTextComposite{\^} \UnicodeEncodingName{a}{"00E2} -\DeclareTextComposite{\~} \UnicodeEncodingName{a}{"00E3} -\DeclareTextComposite{\"} \UnicodeEncodingName{a}{"00E4} -\DeclareTextComposite{\r} \UnicodeEncodingName{a}{"00E5} -\DeclareTextComposite{\c} \UnicodeEncodingName{c}{"00E7} -\DeclareTextComposite{\`} \UnicodeEncodingName{e}{"00E8} -\DeclareTextComposite{\'} \UnicodeEncodingName{e}{"00E9} -\DeclareTextComposite{\^} \UnicodeEncodingName{e}{"00EA} -\DeclareTextComposite{\"} \UnicodeEncodingName{e}{"00EB} -\DeclareTextComposite{\`} \UnicodeEncodingName\i {"00EC} -\DeclareTextComposite{\`} \UnicodeEncodingName{i}{"00EC} -\DeclareTextComposite{\'} \UnicodeEncodingName\i {"00ED} -\DeclareTextComposite{\'} \UnicodeEncodingName{i}{"00ED} -\DeclareTextComposite{\^} \UnicodeEncodingName\i {"00EE} -\DeclareTextComposite{\^} \UnicodeEncodingName{i}{"00EE} -\DeclareTextComposite{\"} \UnicodeEncodingName\i {"00EF} -\DeclareTextComposite{\"} \UnicodeEncodingName{i}{"00EF} -\DeclareTextComposite{\~} \UnicodeEncodingName{n}{"00F1} -\DeclareTextComposite{\`} \UnicodeEncodingName{o}{"00F2} -\DeclareTextComposite{\'} \UnicodeEncodingName{o}{"00F3} -\DeclareTextComposite{\^} \UnicodeEncodingName{o}{"00F4} -\DeclareTextComposite{\~} \UnicodeEncodingName{o}{"00F5} -\DeclareTextComposite{\"} \UnicodeEncodingName{o}{"00F6} -\DeclareTextComposite{\`} \UnicodeEncodingName{u}{"00F9} -\DeclareTextComposite{\'} \UnicodeEncodingName{u}{"00FA} -\DeclareTextComposite{\^} \UnicodeEncodingName{u}{"00FB} -\DeclareTextComposite{\"} \UnicodeEncodingName{u}{"00FC} -\DeclareTextComposite{\'} \UnicodeEncodingName{y}{"00FD} -\DeclareTextComposite{\"} \UnicodeEncodingName{y}{"00FF} -\DeclareTextComposite{\=} \UnicodeEncodingName{A}{"0100} -\DeclareTextComposite{\=} \UnicodeEncodingName{a}{"0101} -\DeclareTextComposite{\u} \UnicodeEncodingName{A}{"0102} -\DeclareTextComposite{\u} \UnicodeEncodingName{a}{"0103} -\DeclareTextComposite{\k} \UnicodeEncodingName{A}{"0104} -\DeclareTextComposite{\k} \UnicodeEncodingName{a}{"0105} -\DeclareTextComposite{\'} \UnicodeEncodingName{C}{"0106} -\DeclareTextComposite{\'} \UnicodeEncodingName{c}{"0107} -\DeclareTextComposite{\^} \UnicodeEncodingName{C}{"0108} -\DeclareTextComposite{\^} \UnicodeEncodingName{c}{"0109} -\DeclareTextComposite{\.} \UnicodeEncodingName{C}{"010A} -\DeclareTextComposite{\.} \UnicodeEncodingName{c}{"010B} -\DeclareTextComposite{\v} \UnicodeEncodingName{C}{"010C} -\DeclareTextComposite{\v} \UnicodeEncodingName{c}{"010D} -\DeclareTextComposite{\v} \UnicodeEncodingName{D}{"010E} -\DeclareTextComposite{\v} \UnicodeEncodingName{d}{"010F} -\DeclareTextComposite{\=} \UnicodeEncodingName{E}{"0112} -\DeclareTextComposite{\=} \UnicodeEncodingName{e}{"0113} -\DeclareTextComposite{\u} \UnicodeEncodingName{E}{"0114} -\DeclareTextComposite{\u} \UnicodeEncodingName{e}{"0115} -\DeclareTextComposite{\.} \UnicodeEncodingName{E}{"0116} -\DeclareTextComposite{\.} \UnicodeEncodingName{e}{"0117} -\DeclareTextComposite{\k} \UnicodeEncodingName{E}{"0118} -\DeclareTextComposite{\k} \UnicodeEncodingName{e}{"0119} -\DeclareTextComposite{\v} \UnicodeEncodingName{E}{"011A} -\DeclareTextComposite{\v} \UnicodeEncodingName{e}{"011B} -\DeclareTextComposite{\^} \UnicodeEncodingName{G}{"011C} -\DeclareTextComposite{\^} \UnicodeEncodingName{g}{"011D} -\DeclareTextComposite{\u} \UnicodeEncodingName{G}{"011E} -\DeclareTextComposite{\u} \UnicodeEncodingName{g}{"011F} -\DeclareTextComposite{\.} \UnicodeEncodingName{G}{"0120} -\DeclareTextComposite{\.} \UnicodeEncodingName{g}{"0121} -\DeclareTextComposite{\c} \UnicodeEncodingName{G}{"0122} -\DeclareTextComposite{\c} \UnicodeEncodingName{g}{"0123} -\DeclareTextComposite{\^} \UnicodeEncodingName{H}{"0124} -\DeclareTextComposite{\^} \UnicodeEncodingName{h}{"0125} -\DeclareTextComposite{\~} \UnicodeEncodingName{I}{"0128} -\DeclareTextComposite{\~} \UnicodeEncodingName\i {"0129} -\DeclareTextComposite{\~} \UnicodeEncodingName{i}{"0129} -\DeclareTextComposite{\=} \UnicodeEncodingName{I}{"012A} -\DeclareTextComposite{\=} \UnicodeEncodingName\i {"012B} -\DeclareTextComposite{\=} \UnicodeEncodingName{i}{"012B} -\DeclareTextComposite{\u} \UnicodeEncodingName{I}{"012C} -\DeclareTextComposite{\u} \UnicodeEncodingName\i {"012D} -\DeclareTextComposite{\u} \UnicodeEncodingName{i}{"012D} -\DeclareTextComposite{\k} \UnicodeEncodingName{I}{"012E} -\DeclareTextComposite{\k} \UnicodeEncodingName\i {"012F} -\DeclareTextComposite{\k} \UnicodeEncodingName{i}{"012F} -\DeclareTextComposite{\.} \UnicodeEncodingName{I}{"0130} -\DeclareTextComposite{\^} \UnicodeEncodingName{J}{"0134} -\DeclareTextComposite{\^} \UnicodeEncodingName\j {"0135} -\DeclareTextComposite{\^} \UnicodeEncodingName{j}{"0135} -\DeclareTextComposite{\c} \UnicodeEncodingName{K}{"0136} -\DeclareTextComposite{\c} \UnicodeEncodingName{k}{"0137} -\DeclareTextComposite{\'} \UnicodeEncodingName{L}{"0139} -\DeclareTextComposite{\'} \UnicodeEncodingName{l}{"013A} -\DeclareTextComposite{\c} \UnicodeEncodingName{L}{"013B} -\DeclareTextComposite{\c} \UnicodeEncodingName{l}{"013C} -\DeclareTextComposite{\v} \UnicodeEncodingName{L}{"013D} -\DeclareTextComposite{\v} \UnicodeEncodingName{l}{"013E} -\DeclareTextComposite{\'} \UnicodeEncodingName{N}{"0143} -\DeclareTextComposite{\'} \UnicodeEncodingName{n}{"0144} -\DeclareTextComposite{\c} \UnicodeEncodingName{N}{"0145} -\DeclareTextComposite{\c} \UnicodeEncodingName{n}{"0146} -\DeclareTextComposite{\v} \UnicodeEncodingName{N}{"0147} -\DeclareTextComposite{\v} \UnicodeEncodingName{n}{"0148} -\DeclareTextComposite{\=} \UnicodeEncodingName{O}{"014C} -\DeclareTextComposite{\=} \UnicodeEncodingName{o}{"014D} -\DeclareTextComposite{\u} \UnicodeEncodingName{O}{"014E} -\DeclareTextComposite{\u} \UnicodeEncodingName{o}{"014F} -\DeclareTextComposite{\H} \UnicodeEncodingName{O}{"0150} -\DeclareTextComposite{\H} \UnicodeEncodingName{o}{"0151} -\DeclareTextComposite{\'} \UnicodeEncodingName{R}{"0154} -\DeclareTextComposite{\'} \UnicodeEncodingName{r}{"0155} -\DeclareTextComposite{\c} \UnicodeEncodingName{R}{"0156} -\DeclareTextComposite{\c} \UnicodeEncodingName{r}{"0157} -\DeclareTextComposite{\v} \UnicodeEncodingName{R}{"0158} -\DeclareTextComposite{\v} \UnicodeEncodingName{r}{"0159} -\DeclareTextComposite{\'} \UnicodeEncodingName{S}{"015A} -\DeclareTextComposite{\'} \UnicodeEncodingName{s}{"015B} -\DeclareTextComposite{\^} \UnicodeEncodingName{S}{"015C} -\DeclareTextComposite{\^} \UnicodeEncodingName{s}{"015D} -\DeclareTextComposite{\c} \UnicodeEncodingName{S}{"015E} -\DeclareTextComposite{\c} \UnicodeEncodingName{s}{"015F} -\DeclareTextComposite{\v} \UnicodeEncodingName{S}{"0160} -\DeclareTextComposite{\v} \UnicodeEncodingName{s}{"0161} -\DeclareTextComposite{\c} \UnicodeEncodingName{T}{"0162} -\DeclareTextComposite{\c} \UnicodeEncodingName{t}{"0163} -\DeclareTextComposite{\v} \UnicodeEncodingName{T}{"0164} -\DeclareTextComposite{\v} \UnicodeEncodingName{t}{"0165} -\DeclareTextComposite{\~} \UnicodeEncodingName{U}{"0168} -\DeclareTextComposite{\~} \UnicodeEncodingName{u}{"0169} -\DeclareTextComposite{\=} \UnicodeEncodingName{U}{"016A} -\DeclareTextComposite{\=} \UnicodeEncodingName{u}{"016B} -\DeclareTextComposite{\u} \UnicodeEncodingName{U}{"016C} -\DeclareTextComposite{\u} \UnicodeEncodingName{u}{"016D} -\DeclareTextComposite{\r} \UnicodeEncodingName{U}{"016E} -\DeclareTextComposite{\r} \UnicodeEncodingName{u}{"016F} -\DeclareTextComposite{\H} \UnicodeEncodingName{U}{"0170} -\DeclareTextComposite{\H} \UnicodeEncodingName{u}{"0171} -\DeclareTextComposite{\k} \UnicodeEncodingName{U}{"0172} -\DeclareTextComposite{\k} \UnicodeEncodingName{u}{"0173} -\DeclareTextComposite{\^} \UnicodeEncodingName{W}{"0174} -\DeclareTextComposite{\^} \UnicodeEncodingName{w}{"0175} -\DeclareTextComposite{\^} \UnicodeEncodingName{Y}{"0176} -\DeclareTextComposite{\^} \UnicodeEncodingName{y}{"0177} -\DeclareTextComposite{\"} \UnicodeEncodingName{Y}{"0178} -\DeclareTextComposite{\'} \UnicodeEncodingName{Z}{"0179} -\DeclareTextComposite{\'} \UnicodeEncodingName{z}{"017A} -\DeclareTextComposite{\.} \UnicodeEncodingName{Z}{"017B} -\DeclareTextComposite{\.} \UnicodeEncodingName{z}{"017C} -\DeclareTextComposite{\v} \UnicodeEncodingName{Z}{"017D} -\DeclareTextComposite{\v} \UnicodeEncodingName{z}{"017E} -\DeclareTextComposite{\v} \UnicodeEncodingName{A}{"01CD} -\DeclareTextComposite{\v} \UnicodeEncodingName{a}{"01CE} -\DeclareTextComposite{\v} \UnicodeEncodingName{I}{"01CF} -\DeclareTextComposite{\v} \UnicodeEncodingName\i {"01D0} -\DeclareTextComposite{\v} \UnicodeEncodingName{i}{"01D0} -\DeclareTextComposite{\v} \UnicodeEncodingName{O}{"01D1} -\DeclareTextComposite{\v} \UnicodeEncodingName{o}{"01D2} -\DeclareTextComposite{\v} \UnicodeEncodingName{U}{"01D3} -\DeclareTextComposite{\v} \UnicodeEncodingName{u}{"01D4} -\DeclareTextComposite{\=} \UnicodeEncodingName\AE{"01E2} -\DeclareTextComposite{\=} \UnicodeEncodingName\ae{"01E3} -\DeclareTextComposite{\v} \UnicodeEncodingName{G}{"01E6} -\DeclareTextComposite{\v} \UnicodeEncodingName{g}{"01E7} -\DeclareTextComposite{\v} \UnicodeEncodingName{K}{"01E8} -\DeclareTextComposite{\v} \UnicodeEncodingName{k}{"01E9} -\DeclareTextComposite{\k} \UnicodeEncodingName{O}{"01EA} -\DeclareTextComposite{\k} \UnicodeEncodingName{o}{"01EB} -\DeclareTextComposite{\v} \UnicodeEncodingName\j {"01F0} -\DeclareTextComposite{\v} \UnicodeEncodingName{j}{"01F0} -\DeclareTextComposite{\'} \UnicodeEncodingName{G}{"01F4} -\DeclareTextComposite{\'} \UnicodeEncodingName{g}{"01F5} -\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{S}{"0218} -\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{s}{"0219} -\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{T}{"021A} -\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{t}{"021B} -\DeclareTextComposite{\.} \UnicodeEncodingName{B}{"1E02} -\DeclareTextComposite{\.} \UnicodeEncodingName{b}{"1E03} +\DeclareUnicodeComposite{\^} {}{"005E} +\DeclareUnicodeComposite{\~} {}{"007E} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareUnicodeComposite{\`} {A}{"00C0} +\DeclareUnicodeComposite{\'} {A}{"00C1} +\DeclareUnicodeComposite{\^} {A}{"00C2} +\DeclareUnicodeComposite{\~} {A}{"00C3} +\DeclareUnicodeComposite{\"} {A}{"00C4} +\DeclareUnicodeComposite{\r} {A}{"00C5} +\DeclareUnicodeComposite{\c} {C}{"00C7} +\DeclareUnicodeComposite{\`} {E}{"00C8} +\DeclareUnicodeComposite{\'} {E}{"00C9} +\DeclareUnicodeComposite{\^} {E}{"00CA} +\DeclareUnicodeComposite{\"} {E}{"00CB} +\DeclareUnicodeComposite{\`} {I}{"00CC} +\DeclareUnicodeComposite{\'} {I}{"00CD} +\DeclareUnicodeComposite{\^} {I}{"00CE} +\DeclareUnicodeComposite{\"} {I}{"00CF} +\DeclareUnicodeComposite{\~} {N}{"00D1} +\DeclareUnicodeComposite{\`} {O}{"00D2} +\DeclareUnicodeComposite{\'} {O}{"00D3} +\DeclareUnicodeComposite{\^} {O}{"00D4} +\DeclareUnicodeComposite{\~} {O}{"00D5} +\DeclareUnicodeComposite{\"} {O}{"00D6} +\DeclareUnicodeComposite{\`} {U}{"00D9} +\DeclareUnicodeComposite{\'} {U}{"00DA} +\DeclareUnicodeComposite{\^} {U}{"00DB} +\DeclareUnicodeComposite{\"} {U}{"00DC} +\DeclareUnicodeComposite{\'} {Y}{"00DD} +\DeclareUnicodeComposite{\`} {a}{"00E0} +\DeclareUnicodeComposite{\'} {a}{"00E1} +\DeclareUnicodeComposite{\^} {a}{"00E2} +\DeclareUnicodeComposite{\~} {a}{"00E3} +\DeclareUnicodeComposite{\"} {a}{"00E4} +\DeclareUnicodeComposite{\r} {a}{"00E5} +\DeclareUnicodeComposite{\c} {c}{"00E7} +\DeclareUnicodeComposite{\`} {e}{"00E8} +\DeclareUnicodeComposite{\'} {e}{"00E9} +\DeclareUnicodeComposite{\^} {e}{"00EA} +\DeclareUnicodeComposite{\"} {e}{"00EB} +\DeclareUnicodeComposite{\`} \i {"00EC} +\DeclareUnicodeComposite{\`} {i}{"00EC} +\DeclareUnicodeComposite{\'} \i {"00ED} +\DeclareUnicodeComposite{\'} {i}{"00ED} +\DeclareUnicodeComposite{\^} \i {"00EE} +\DeclareUnicodeComposite{\^} {i}{"00EE} +\DeclareUnicodeComposite{\"} \i {"00EF} +\DeclareUnicodeComposite{\"} {i}{"00EF} +\DeclareUnicodeComposite{\~} {n}{"00F1} +\DeclareUnicodeComposite{\`} {o}{"00F2} +\DeclareUnicodeComposite{\'} {o}{"00F3} +\DeclareUnicodeComposite{\^} {o}{"00F4} +\DeclareUnicodeComposite{\~} {o}{"00F5} +\DeclareUnicodeComposite{\"} {o}{"00F6} +\DeclareUnicodeComposite{\`} {u}{"00F9} +\DeclareUnicodeComposite{\'} {u}{"00FA} +\DeclareUnicodeComposite{\^} {u}{"00FB} +\DeclareUnicodeComposite{\"} {u}{"00FC} +\DeclareUnicodeComposite{\'} {y}{"00FD} +\DeclareUnicodeComposite{\"} {y}{"00FF} +\DeclareUnicodeComposite{\=} {A}{"0100} +\DeclareUnicodeComposite{\=} {a}{"0101} +\DeclareUnicodeComposite{\u} {A}{"0102} +\DeclareUnicodeComposite{\u} {a}{"0103} +\DeclareUnicodeComposite{\k} {A}{"0104} +\DeclareUnicodeComposite{\k} {a}{"0105} +\DeclareUnicodeComposite{\'} {C}{"0106} +\DeclareUnicodeComposite{\'} {c}{"0107} +\DeclareUnicodeComposite{\^} {C}{"0108} +\DeclareUnicodeComposite{\^} {c}{"0109} +\DeclareUnicodeComposite{\.} {C}{"010A} +\DeclareUnicodeComposite{\.} {c}{"010B} +\DeclareUnicodeComposite{\v} {C}{"010C} +\DeclareUnicodeComposite{\v} {c}{"010D} +\DeclareUnicodeComposite{\v} {D}{"010E} +\DeclareUnicodeComposite{\v} {d}{"010F} +\DeclareUnicodeComposite{\=} {E}{"0112} +\DeclareUnicodeComposite{\=} {e}{"0113} +\DeclareUnicodeComposite{\u} {E}{"0114} +\DeclareUnicodeComposite{\u} {e}{"0115} +\DeclareUnicodeComposite{\.} {E}{"0116} +\DeclareUnicodeComposite{\.} {e}{"0117} +\DeclareUnicodeComposite{\k} {E}{"0118} +\DeclareUnicodeComposite{\k} {e}{"0119} +\DeclareUnicodeComposite{\v} {E}{"011A} +\DeclareUnicodeComposite{\v} {e}{"011B} +\DeclareUnicodeComposite{\^} {G}{"011C} +\DeclareUnicodeComposite{\^} {g}{"011D} +\DeclareUnicodeComposite{\u} {G}{"011E} +\DeclareUnicodeComposite{\u} {g}{"011F} +\DeclareUnicodeComposite{\.} {G}{"0120} +\DeclareUnicodeComposite{\.} {g}{"0121} +\DeclareUnicodeComposite{\c} {G}{"0122} +\DeclareUnicodeComposite{\c} {g}{"0123} +\DeclareUnicodeComposite{\^} {H}{"0124} +\DeclareUnicodeComposite{\^} {h}{"0125} +\DeclareUnicodeComposite{\~} {I}{"0128} +\DeclareUnicodeComposite{\~} \i {"0129} +\DeclareUnicodeComposite{\~} {i}{"0129} +\DeclareUnicodeComposite{\=} {I}{"012A} +\DeclareUnicodeComposite{\=} \i {"012B} +\DeclareUnicodeComposite{\=} {i}{"012B} +\DeclareUnicodeComposite{\u} {I}{"012C} +\DeclareUnicodeComposite{\u} \i {"012D} +\DeclareUnicodeComposite{\u} {i}{"012D} +\DeclareUnicodeComposite{\k} {I}{"012E} +\DeclareUnicodeComposite{\k} \i {"012F} +\DeclareUnicodeComposite{\k} {i}{"012F} +\DeclareUnicodeComposite{\.} {I}{"0130} +\DeclareUnicodeComposite{\^} {J}{"0134} +\DeclareUnicodeComposite{\^} \j {"0135} +\DeclareUnicodeComposite{\^} {j}{"0135} +\DeclareUnicodeComposite{\c} {K}{"0136} +\DeclareUnicodeComposite{\c} {k}{"0137} +\DeclareUnicodeComposite{\'} {L}{"0139} +\DeclareUnicodeComposite{\'} {l}{"013A} +\DeclareUnicodeComposite{\c} {L}{"013B} +\DeclareUnicodeComposite{\c} {l}{"013C} +\DeclareUnicodeComposite{\v} {L}{"013D} +\DeclareUnicodeComposite{\v} {l}{"013E} +\DeclareUnicodeComposite{\'} {N}{"0143} +\DeclareUnicodeComposite{\'} {n}{"0144} +\DeclareUnicodeComposite{\c} {N}{"0145} +\DeclareUnicodeComposite{\c} {n}{"0146} +\DeclareUnicodeComposite{\v} {N}{"0147} +\DeclareUnicodeComposite{\v} {n}{"0148} +\DeclareUnicodeComposite{\=} {O}{"014C} +\DeclareUnicodeComposite{\=} {o}{"014D} +\DeclareUnicodeComposite{\u} {O}{"014E} +\DeclareUnicodeComposite{\u} {o}{"014F} +\DeclareUnicodeComposite{\H} {O}{"0150} +\DeclareUnicodeComposite{\H} {o}{"0151} +\DeclareUnicodeComposite{\'} {R}{"0154} +\DeclareUnicodeComposite{\'} {r}{"0155} +\DeclareUnicodeComposite{\c} {R}{"0156} +\DeclareUnicodeComposite{\c} {r}{"0157} +\DeclareUnicodeComposite{\v} {R}{"0158} +\DeclareUnicodeComposite{\v} {r}{"0159} +\DeclareUnicodeComposite{\'} {S}{"015A} +\DeclareUnicodeComposite{\'} {s}{"015B} +\DeclareUnicodeComposite{\^} {S}{"015C} +\DeclareUnicodeComposite{\^} {s}{"015D} +\DeclareUnicodeComposite{\c} {S}{"015E} +\DeclareUnicodeComposite{\c} {s}{"015F} +\DeclareUnicodeComposite{\v} {S}{"0160} +\DeclareUnicodeComposite{\v} {s}{"0161} +\DeclareUnicodeComposite{\c} {T}{"0162} +\DeclareUnicodeComposite{\c} {t}{"0163} +\DeclareUnicodeComposite{\v} {T}{"0164} +\DeclareUnicodeComposite{\v} {t}{"0165} +\DeclareUnicodeComposite{\~} {U}{"0168} +\DeclareUnicodeComposite{\~} {u}{"0169} +\DeclareUnicodeComposite{\=} {U}{"016A} +\DeclareUnicodeComposite{\=} {u}{"016B} +\DeclareUnicodeComposite{\u} {U}{"016C} +\DeclareUnicodeComposite{\u} {u}{"016D} +\DeclareUnicodeComposite{\r} {U}{"016E} +\DeclareUnicodeComposite{\r} {u}{"016F} +\DeclareUnicodeComposite{\H} {U}{"0170} +\DeclareUnicodeComposite{\H} {u}{"0171} +\DeclareUnicodeComposite{\k} {U}{"0172} +\DeclareUnicodeComposite{\k} {u}{"0173} +\DeclareUnicodeComposite{\^} {W}{"0174} +\DeclareUnicodeComposite{\^} {w}{"0175} +\DeclareUnicodeComposite{\^} {Y}{"0176} +\DeclareUnicodeComposite{\^} {y}{"0177} +\DeclareUnicodeComposite{\"} {Y}{"0178} +\DeclareUnicodeComposite{\'} {Z}{"0179} +\DeclareUnicodeComposite{\'} {z}{"017A} +\DeclareUnicodeComposite{\.} {Z}{"017B} +\DeclareUnicodeComposite{\.} {z}{"017C} +\DeclareUnicodeComposite{\v} {Z}{"017D} +\DeclareUnicodeComposite{\v} {z}{"017E} +\DeclareUnicodeComposite{\v} {A}{"01CD} +\DeclareUnicodeComposite{\v} {a}{"01CE} +\DeclareUnicodeComposite{\v} {I}{"01CF} +\DeclareUnicodeComposite{\v} \i {"01D0} +\DeclareUnicodeComposite{\v} {i}{"01D0} +\DeclareUnicodeComposite{\v} {O}{"01D1} +\DeclareUnicodeComposite{\v} {o}{"01D2} +\DeclareUnicodeComposite{\v} {U}{"01D3} +\DeclareUnicodeComposite{\v} {u}{"01D4} +\DeclareUnicodeComposite{\=} \AE{"01E2} +\DeclareUnicodeComposite{\=} \ae{"01E3} +\DeclareUnicodeComposite{\v} {G}{"01E6} +\DeclareUnicodeComposite{\v} {g}{"01E7} +\DeclareUnicodeComposite{\v} {K}{"01E8} +\DeclareUnicodeComposite{\v} {k}{"01E9} +\DeclareUnicodeComposite{\k} {O}{"01EA} +\DeclareUnicodeComposite{\k} {o}{"01EB} +\DeclareUnicodeComposite{\v} \j {"01F0} +\DeclareUnicodeComposite{\v} {j}{"01F0} +\DeclareUnicodeComposite{\'} {G}{"01F4} +\DeclareUnicodeComposite{\'} {g}{"01F5} +\DeclareUnicodeComposite{\textcommabelow}{S}{"0218} +\DeclareUnicodeComposite{\textcommabelow}{s}{"0219} +\DeclareUnicodeComposite{\textcommabelow}{T}{"021A} +\DeclareUnicodeComposite{\textcommabelow}{t}{"021B} +\DeclareUnicodeComposite{\=} {Y}{"0232} +\DeclareUnicodeComposite{\=} {y}{"0232} +\DeclareUnicodeComposite{\.} {B}{"1E02} +\DeclareUnicodeComposite{\.} {b}{"1E03} +\DeclareUnicodeComposite{\d} {B}{"1E04} +\DeclareUnicodeComposite{\d} {b}{"1E05} +\DeclareUnicodeComposite{\d} {D}{"1E0C} +\DeclareUnicodeComposite{\d} {d}{"1E0D} +\DeclareUnicodeComposite{\=} {G}{"1E20} +\DeclareUnicodeComposite{\=} {g}{"1E21} +\DeclareUnicodeComposite{\d} {H}{"1E24} +\DeclareUnicodeComposite{\d} {h}{"1E25} +\DeclareUnicodeComposite{\d} {K}{"1E32} +\DeclareUnicodeComposite{\d} {k}{"1E33} +\DeclareUnicodeComposite{\d} {L}{"1E36} +\DeclareUnicodeComposite{\d} {l}{"1E37} +\DeclareUnicodeComposite{\d} {M}{"1E42} +\DeclareUnicodeComposite{\d} {m}{"1E43} +\DeclareUnicodeComposite{\d} {N}{"1E46} +\DeclareUnicodeComposite{\d} {n}{"1E47} +\DeclareUnicodeComposite{\d} {R}{"1E5A} +\DeclareUnicodeComposite{\d} {r}{"1E5B} +\DeclareUnicodeComposite{\d} {S}{"1E62} +\DeclareUnicodeComposite{\d} {s}{"1E63} +\DeclareUnicodeComposite{\d} {T}{"1E6C} +\DeclareUnicodeComposite{\d} {t}{"1E6D} +\DeclareUnicodeComposite{\d} {V}{"1E7E} +\DeclareUnicodeComposite{\d} {v}{"1E7F} +\DeclareUnicodeComposite{\d} {W}{"1E88} +\DeclareUnicodeComposite{\d} {w}{"1E89} +\DeclareUnicodeComposite{\d} {Z}{"1E92} +\DeclareUnicodeComposite{\d} {z}{"1E93} +\DeclareUnicodeComposite{\d} {A}{"1EA0} +\DeclareUnicodeComposite{\d} {a}{"1EA1} +\DeclareUnicodeComposite{\d} {E}{"1EB8} +\DeclareUnicodeComposite{\d} {e}{"1EB9} +\DeclareUnicodeComposite{\d} {I}{"1ECA} +\DeclareUnicodeComposite{\d} {i}{"1ECB} +\DeclareUnicodeComposite{\d} {O}{"1ECC} +\DeclareUnicodeComposite{\d} {o}{"1ECD} +\DeclareUnicodeComposite{\d} {U}{"1EE4} +\DeclareUnicodeComposite{\d} {u}{"1EE5} +\DeclareUnicodeComposite{\d} {Y}{"1EF4} +\DeclareUnicodeComposite{\d} {y}{"1EF5} % \end{macrocode} % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltoutput.dtx b/Master/texmf-dist/source/latex/base/ltoutput.dtx index df2d7233e23..57d07e57b74 100644 --- a/Master/texmf-dist/source/latex/base/ltoutput.dtx +++ b/Master/texmf-dist/source/latex/base/ltoutput.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -30,14 +30,14 @@ %%% From File: ltoutput.dtx %<flafter>\ProvidesPackage{flafter} %<fltrace>\ProvidesPackage{fltrace} -%<flafter,fltrace> [2016/10/04 v1.3b +%<flafter,fltrace> [2017/04/11 v1.4a %<flafter> Standard LaTeX floats after reference (FMi)] %<fltrace> Tracing LaTeX floats algorithm (FMi)] % %<*driver> % \fi \ProvidesFile{ltoutput.dtx} - [2016/10/04 v1.3b LaTeX Kernel (Output Routine)] + [2017/04/11 v1.4a LaTeX Kernel (Output Routine)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutput.dtx} @@ -646,6 +646,7 @@ % END % % Floats and marginpars add a lot of dead cycles. +% \end{oldcomments} % \begin{macrocode} \maxdeadcycles = 100 % \end{macrocode} @@ -743,7 +744,7 @@ \gdef\@currlist{} \gdef\@deferlist{} \gdef\@dbltoplist{} -% \begin{macrocode} +% \end{macrocode} % \changes{v1.2m}{2015/03/12} % {initialise \cs{@dbldeferlist} again} % The new algorithm stores page wide floats together with column floats @@ -751,7 +752,7 @@ % initialised as empty so that packages that are testing for % deferred floats can use the same code for old or new float % handling. -% \end{macrocode} +% \begin{macrocode} \gdef\@dbldeferlist{} % \end{macrocode} % @@ -773,7 +774,6 @@ \newdimen\marginparsep \newdimen\marginparpush % \end{macrocode} -% \end{oldcomments} % % \begin{macro}{\AtBeginDvi} % \changes{v1.1c}{1994/11/05} @@ -962,6 +962,7 @@ % \changes{v1.1z}{1996/10/24}{Better checks for noskipsec and % inlabel added, plus nobreak} % \changes{v1.2a}{1996/10/25}{Reset all flags explicitly} +% \changes{v2.4a}{2017/04/11}{account for the depth of the last row of the page} % The two checks at the beginning ensure that an item label or % run-in section title immediately before a |\newpage| get printed % on the correct page, the one before the page break. @@ -970,6 +971,10 @@ % that is why they all reset the flags explicitly, even when it % would appear that this would be done by a |\leavevmode|. % \begin{macrocode} +%</2ekernel|fltrace> +%<latexrelease>\IncludeInRelease{2017/04/15}% +%<latexrelease> {\newpage}{Check depth of page}% +%<*2ekernel|latexrelease|fltrace> \def \newpage {% \if@noskipsec \ifx \@nodocument\relax @@ -983,8 +988,49 @@ \fi \if@nobreak \@nobreakfalse \everypar{}\fi \par +% \end{macrocode} +% The |\vfil| at the end of the macro before the break penalty will +% normally result in the page being run short, even with |\flushbottom| +% in effect (in contrast to the behavior +% of |\pagebreak|). However, if there +% is some explicit stretch on the page, say, a |\vfill|, it has the undesired +% side-effect, that the last line will not align at its baseline if it +% contains characters going below the baseline, as the value of |\prevdepth| +% is no longer taken into account by \TeX{}. So we back up by that amount +% (or by |\maxdepth| if it is really huge), to mimic the normal behavior +% without the |\newpage|. +% \begin{macrocode} + \ifdim\prevdepth>\z@ + \vskip -% + \ifdim\prevdepth>\maxdepth + \maxdepth + \else + \prevdepth + \fi + \fi \vfil \penalty -\@M} +%</2ekernel|latexrelease|fltrace> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\newpage}{Check depth of page}% +%<latexrelease>\def \newpage {% +%<latexrelease> \if@noskipsec +%<latexrelease> \ifx \@nodocument\relax +%<latexrelease> \leavevmode +%<latexrelease> \global \@noskipsecfalse +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> \if@inlabel +%<latexrelease> \leavevmode +%<latexrelease> \global \@inlabelfalse +%<latexrelease> \fi +%<latexrelease> \if@nobreak \@nobreakfalse \everypar{}\fi +%<latexrelease> \par +%<latexrelease> \vfil +%<latexrelease> \penalty -\@M} +%<latexrelease>\EndIncludeInRelease +%<*2ekernel|fltrace> % \end{macrocode} % \end{macro} % @@ -1988,11 +2034,18 @@ % out box be executed in the environment set up for the writes, or % after it finishes? % -% A lot of this code has been in-lined tp prevent mis-use of +% A lot of this code has been in-lined to prevent mis-use of % internal commands as hooks. % \begin{macrocode} +%</2ekernel> +%<latexrelease>\IncludeInRelease{2017/03/10}% +%<latexrelease> {\@outputpage}{Reset language for hyphenation}% +%<*2ekernel|latexrelease> \def\@outputpage{% -\begingroup % the \endgroup is put in by \aftergroup +% \end{macrocode} +% The |\endgroup| is put in by |\aftergroup|. +% \begin{macrocode} +\begingroup % \end{macrocode} % Now all the set-up stuff has been in-lined for Frank. % @@ -2006,6 +2059,14 @@ % RmS 93/08/19: Redefined accents to allow changes in font encoding; % but exactly why was this needed? % +% \changes{v1.3c}{2017/03/10}{Reset \cs{language}} +% Reset |\language| to the value current at |\begin{document}|. +% In particular this ensures that a pagebreak in |verbatim| does not +% prevent hyphenation in the page head. +% \begin{macrocode} + \language\document@default@language +% \end{macrocode} +% % The |\catcode`\ = 10| was removed as it was considered useless % (presumably because nothing gets tokenised during shipout). % @@ -2062,9 +2123,10 @@ \shipout \vbox{% \set@typeset@protect \aftergroup \endgroup +% \end{macrocode} +% Correct? or just restore by ending the group? +% \begin{macrocode} \aftergroup \set@typeset@protect - % correct? or just restore by ending - % the group? % \end{macrocode} % This first bit has been moved inside the shipped out box. % @@ -2130,7 +2192,10 @@ \normalcolor \hb@xt@\textwidth{\@thehead}% \color@endbox - }% %% 22 Feb 87 +% \end{macrocode} +% 22 Feb 87 +% \begin{macrocode} + }% \dp\@tempboxa \z@ \box\@tempboxa \vskip \headsep @@ -2161,6 +2226,66 @@ % \begin{macrocode} \let\firstmark\botmark } +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@outputpage}{Reset language for hyphenation}% +%<latexrelease>\def\@outputpage{% +%<latexrelease>\begingroup +%<latexrelease> \let \protect \noexpand +%<latexrelease> \@resetactivechars +%<latexrelease> \global\let\@@if@newlist\if@newlist +%<latexrelease> \global\@newlistfalse +%<latexrelease> \@parboxrestore +%<latexrelease> \shipout \vbox{% +%<latexrelease> \set@typeset@protect +%<latexrelease> \aftergroup \endgroup +%<latexrelease> \aftergroup \set@typeset@protect +%<latexrelease> \if@specialpage +%<latexrelease> \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% +%<latexrelease> \fi +%<latexrelease> \if@twoside +%<latexrelease> \ifodd\count\z@ +%<latexrelease> \let\@thehead\@oddhead \let\@thefoot\@oddfoot +%<latexrelease> \let\@themargin\oddsidemargin +%<latexrelease> \else \let\@thehead\@evenhead +%<latexrelease> \let\@thefoot\@evenfoot \let\@themargin\evensidemargin +%<latexrelease> \fi +%<latexrelease> \fi +%<latexrelease> \reset@font +%<latexrelease> \normalsize +%<latexrelease> \normalsfcodes +%<latexrelease> \let\label\@gobble +%<latexrelease> \let\index\@gobble +%<latexrelease> \let\glossary\@gobble +%<latexrelease> \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ +%<latexrelease> \@begindvi +%<latexrelease> \vskip \topmargin +%<latexrelease> \moveright\@themargin \vbox {% +%<latexrelease> \setbox\@tempboxa \vbox to\headheight{% +%<latexrelease> \vfil +%<latexrelease> \color@hbox +%<latexrelease> \normalcolor +%<latexrelease> \hb@xt@\textwidth{\@thehead}% +%<latexrelease> \color@endbox +%<latexrelease> }% +%<latexrelease> \dp\@tempboxa \z@ +%<latexrelease> \box\@tempboxa +%<latexrelease> \vskip \headsep +%<latexrelease> \box\@outputbox +%<latexrelease> \baselineskip \footskip +%<latexrelease> \color@hbox +%<latexrelease> \normalcolor +%<latexrelease> \hb@xt@\textwidth{\@thefoot}% +%<latexrelease> \color@endbox +%<latexrelease> }% +%<latexrelease> }% +%<latexrelease> \global\let\if@newlist\@@if@newlist +%<latexrelease> \global \@colht \textheight +%<latexrelease> \stepcounter{page}% +%<latexrelease> \let\firstmark\botmark +%<latexrelease>} +%<*2ekernel> % \end{macrocode} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/base/ltplain.dtx b/Master/texmf-dist/source/latex/base/ltplain.dtx index 30d2c5c089e..e801cd460fa 100644 --- a/Master/texmf-dist/source/latex/base/ltplain.dtx +++ b/Master/texmf-dist/source/latex/base/ltplain.dtx @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltplain.dtx} - [2017/01/06 v2.3b LaTeX Kernel (Plain TeX)] + [2017/04/10 v2.3c LaTeX Kernel (Plain TeX)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltplain.dtx} @@ -369,14 +369,19 @@ % {Extended stream allocation in luatex (0.85)} % \changes{v2.2b}{2015/11/19} % {Only extend allocation of write streams (see luatex list)} +% \changes{v2.3c}{2017/04/10} +% {Correction to code to skip write18 in luatex} % Skip |\write18| due to its traditional use as a shell-escape. % \begin{macrocode} \ifx\directlua\@undefined \def\newwrite {\e@alloc\write \chardef{\count17}\m@ne\sixt@@n} \else \def\newwrite {\e@alloc\write - {\ifnum\allocationnumber=18 \allocationnumber19\fi - \global\chardef}% + {\ifnum\allocationnumber=18 + \advance\count17\@ne + \allocationnumber\count17 % + \fi + \global\chardef}% {\count17}% \m@ne {128}} @@ -684,7 +689,7 @@ % \begin{macro}{\alloc@} % \begin{macrocode} \def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne - \ch@ck#1#4#2% make sure there's still room + \ch@ck#1#4#2% \allocationnumber\count1#1% \global#3#5\allocationnumber \wlog{\string#5=\string#2\the\allocationnumber}} diff --git a/Master/texmf-dist/source/latex/base/ltsect.dtx b/Master/texmf-dist/source/latex/base/ltsect.dtx index 72ca0eee21b..046932e603f 100644 --- a/Master/texmf-dist/source/latex/base/ltsect.dtx +++ b/Master/texmf-dist/source/latex/base/ltsect.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -31,7 +31,7 @@ %%% From File: ltsect.dtx %<*driver> % \fi -\ProvidesFile{ltsect.dtx}[2016/09/29 v1.0z LaTeX Kernel (Sectioning)] +\ProvidesFile{ltsect.dtx}[2017/03/17 v1.1a LaTeX Kernel (Sectioning)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltsect.dtx} @@ -295,7 +295,9 @@ % \begin{macro}{\@sect} % Pseudocode for the |\@sect| command % \begin{oldcomments} -% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2} +% \@sect{NAME}{LEVEL} +% {INDENT}{BEFORESKIP}{AFTERSKIP} +% {STYLE}[ARG1]{ARG2} % == % BEGIN % IF LEVEL > \c@secnumdepth @@ -411,7 +413,7 @@ % @noskipsec :=G T % \everypar{ IF @noskipsec = T % THEN @noskipsec :=G F -% \clubpenalty :=G 10000 +% \clubpenalty := 10000 % local % \hskip -\parindent % \begingroup % \@svsechd @@ -419,7 +421,7 @@ % \unskip % \hskip -AFTERSKIP \relax % %% relax added 14 Jan 91 -% ELSE \clubpenalty :=G \@clubpenalty +% ELSE \clubpenalty := \@clubpenalty % local % \everypar := NULL % FI % } @@ -488,7 +490,8 @@ % IF AFTERSKIP > 0 % THEN \begingroup % STYLE -% \@hangfrom{\hskip INDENT}{\interlinepenalty 10000 ARG\par} +% \@hangfrom{\hskip INDENT} +% {\interlinepenalty 10000 ARG\par} % \endgroup % ELSE \@svsechd == BEGIN STYLE % \hskip INDENT @@ -504,15 +507,15 @@ % \@afterheading == % BEGIN % @nobreak :=G true -% \everypar := BEGIN IF @nobreak = T -% THEN @nobreak :=G false -% \clubpenalty :=G 10000 -% IF @afterindent = F -% THEN remove \lastbox -% FI -% ELSE \clubpenalty :=G \@clubpenalty -% \everypar := NULL -% FI +% \everypar := BEGIN IF @nobreak = T +% THEN @nobreak :=G false +% \clubpenalty := 10000 % local +% IF @afterindent = F +% THEN remove \lastbox +% FI +% ELSE \clubpenalty := \@clubpenalty % local +% \everypar := NULL +% FI % END % END % \end{oldcomments} diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx index 30b3a421fb2..fb94e4c9d8f 100644 --- a/Master/texmf-dist/source/latex/base/ltvers.dtx +++ b/Master/texmf-dist/source/latex/base/ltvers.dtx @@ -92,10 +92,10 @@ %</2ekernel> %<latexrelease>\edef\latexreleaseversion %<*2ekernel|latexrelease> - {2017/01/01} + {2017-04-15} %</2ekernel|latexrelease> %<*2ekernel> -\def\patch@level{3} +\def\patch@level{0} % \end{macrocode} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/base/ltxdoc.dtx b/Master/texmf-dist/source/latex/base/ltxdoc.dtx index cb7b2ee2ac3..a5ed7073348 100644 --- a/Master/texmf-dist/source/latex/base/ltxdoc.dtx +++ b/Master/texmf-dist/source/latex/base/ltxdoc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright 1993-2016 +% Copyright 1993-2017 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -30,7 +30,7 @@ % %<class>\NeedsTeXFormat{LaTeX2e} %<class>\ProvidesClass{ltxdoc} -%<class> [2015/03/26 v2.0w Standard LaTeX documentation class] +%<class> [2017/03/13 v2.0v Standard LaTeX documentation class] % %<*driver> \documentclass{ltxdoc} @@ -492,12 +492,14 @@ % \begin{macro}{\docincludeaux} % \changes{v2.06}{1994/03/31}{Use \cs{footnotesize} in file key.} % \changes{v2.0k}{1994/05/21}{Use \cs{aalph}} +% \changes{v2.0v}{2017/03/13}{Use \cs{parbox}[t] in file +% key to maintain space between the text block and the page foot.} % \begin{macrocode} \def\docincludeaux{% \def\thepart{\aalph{part}}\def\filesep{\thepart-}% \let\filekey\@gobble \g@addto@macro\index@prologue{% - \gdef\@oddfoot{\parbox{\textwidth}{\strut\footnotesize + \gdef\@oddfoot{\parbox[t]{\textwidth}{\strut\footnotesize \raggedright{\bfseries File Key:} \filekey}}% \let\@evenfoot\@oddfoot}% \global\let\docincludeaux\relax diff --git a/Master/texmf-dist/source/latex/base/unpack.ins b/Master/texmf-dist/source/latex/base/unpack.ins index d63feb0334c..7fb91c18f1f 100644 --- a/Master/texmf-dist/source/latex/base/unpack.ins +++ b/Master/texmf-dist/source/latex/base/unpack.ins @@ -122,11 +122,11 @@ \Msg{} -\Msg{***********************************} +\Msg{*********************************************} \Msg{*} -\Msg{* Now run INITEX on latex.ltx} +\Msg{* Now run initex to generate the format file} \Msg{*} -\Msg{***********************************} +\Msg{*********************************************} \Msg{} \endbatchfile diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx index 4958cdfdea5..94f199678ee 100644 --- a/Master/texmf-dist/source/latex/graphics/graphics.dtx +++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx @@ -2,7 +2,7 @@ % \iffalse % %% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz -%% Copyright (C) 1995--2016 David Carlisle, LaTeX3 Project +%% Copyright (C) 1995--2017 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public @@ -19,7 +19,7 @@ %<driver> \ProvidesFile{graphics.drv} % \fi % \ProvidesFile{graphics.dtx} - [2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)] + [2017/04/14 v1.1b Standard LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -859,9 +859,19 @@ % \end{macro} % % \begin{macro}{\includegraphics} +% \changes{v1.1a}{2017/03/17} +% {\cs{leavevmode} added before the group in \cs{Gin@iii} so that +% settings in \cs{everypar} are cleared} % Top level command for the standard interface, just look for a |*|. % \begin{macrocode} \def\includegraphics{% +% \end{macrocode} +% Clear |\everypar| before starting a group. +% \begin{macrocode} + \leavevmode +% \end{macrocode} +% +% \begin{macrocode} \@ifstar {\Gin@cliptrue\Gin@i}% {\Gin@clipfalse\Gin@i}} @@ -1672,6 +1682,8 @@ % {\cs{leavevmode} moved earlier. graphics/1521} % \changes{v1.0j}{1999/01/07} % {made long. graphics/2908} +% \changes{v1.1b}{2017/04/14} +% {Adjust box resizing for math mode gh issue 6} % \begin{macrocode} \long\def\Gscale@box#1[#2]#3{% \leavevmode @@ -1688,8 +1700,7 @@ \ifdim#1\p@<\z@ \hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}% \else - \wd\tw@#1\wd\z@ - \box\tw@ + \hb@xt@#1\wd\z@{\box\tw@\kern#1\wd\z@\hss}% \fi} % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/tools/multicol.dtx b/Master/texmf-dist/source/latex/tools/multicol.dtx index c64c9901e89..28523c3fef5 100644 --- a/Master/texmf-dist/source/latex/tools/multicol.dtx +++ b/Master/texmf-dist/source/latex/tools/multicol.dtx @@ -91,7 +91,7 @@ %<driver> \ProvidesFile{multicol.drv} % \fi % \ProvidesFile{multicol.dtx} - [2016/04/07 v1.8p multicolumn formatting (FMi)] + [2017/04/11 v1.8q multicolumn formatting (FMi)] % % %% @@ -1479,6 +1479,25 @@ % \begin{macrocode} \reinsert@footnotes % \end{macrocode} +% Inside \mc{} a |\clearpage| is fairly useless as we aren't supporting +% floats. In fact, it can cause harm as it doesn't know about the +% |\partial@page| and may therefore result in making columns too long. +% So we change that to bahve like |\newpage| but also check if there +% are any deferred floats. If so, perhaps the user tried to place them through +% that |\clearpage| (but that needs to be done before starting the \mc{} +% environment. +% \changes{v1.8q}{2017/04/11}{Make \cs{clearpage} behave like \cs{newpage} (pr/4511)} +% \begin{macrocode} + \def\clearpage{% + \ifx\@deferlist\@empty\else + \PackageError{multicol}% + {Deferred floats not cleared}% + {A \string\clearpage\space inside multicols acts like + \string\newpage\space and doesn't clear floats.\MessageBreak + Move it before the multicols environment if you need it.}% + \fi + \newpage}% +% \end{macrocode} % All the code above was only necessary for the unrestricted \mc{} % version, i.e.\ the one that allows page breaks. If we are within % a box there is no point in setting up special output routines or |