% \iffalse meta-comment % % Copyright (C) 2017-2024 % The LaTeX 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 2008 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: ltnews26.tex % % This is issue 26 of LaTeX News. \documentclass{ltnews} \usepackage[T1]{fontenc} \usepackage{lmodern,url,hologo} \publicationmonth{January} \publicationyear{2017} \publicationissue{26} \providecommand\pkg[1]{\texttt{#1}} \providecommand\cls[1]{\texttt{#1}} \providecommand\option[1]{\texttt{#1}} \providecommand\env[1]{\texttt{#1}} \providecommand\file[1]{\texttt{#1}} \begin{document} \maketitle \tableofcontents \setlength\rightskip{0pt plus 3em} \section{\eTeX{}} In \LaTeX{} News~16 (December 2003) the team announced \begin{quotation} We expect that within the next two years, releases of \LaTeX{} will change modestly in order to run best under an extended \TeX{} engine that contains the \eTeX{} primitives, e.g., \eTeX{} or pdf\TeX{}. \end{quotation} and also said \begin{quotation} Although the current release does not \emph{require} \eTeX{} features, we certainly recommend using an extended \TeX{}, especially if you need to debug macros. \end{quotation} For many years the team have worked on the basis that users will have \eTeX{} available but had not revisited the above statements formally. As of the January 2017 release of \LaTeXe{}, \eTeX{} is \emph{required} to build the format, and attempting to build a format without the extensions will fail. Practically, modern \TeX{} distributions provide the extensions in all engines other than the ``pure'' Knuth \texttt{tex}, and indeed parts of the format-building process already require \eTeX{}, most notably some of the UTF-8 hyphenation patterns. As such, there should be no noticeable effect on users of this change. The team expect to make wider use of \eTeX{} within the kernel in future; details will be announced where they impact on end users in a visible way. \section{Default encodings in \hologo{XeLaTeX} and \hologo{LuaLaTeX}} The default encoding in \LaTeX\ has always been the original 128-character encoding \texttt{OT1}. For Unicode based \TeX\ engines, this is not really suitable, and is especially problematic with \hologo{XeLaTeX} as in the major distributions this is built with Unicode based hyphenation patterns in the format. In practice this has not been a major problem as documents use the contributed \pkg{fontspec} package in order to switch to a Unicode encoded font. In this release we are adding \texttt{TU} as a new supported encoding in addition to the previously supported encodings such as \texttt{OT1} and \texttt{T1}. This denotes a Unicode based font encoding. It is essentially the same as the \texttt{TU} encoding that has been on trial with the experimental \option{tuenc} option to \pkg{fontspec} for the past year. The \hologo{XeLaTeX} and \hologo{LuaLaTeX} formats will now default to \texttt{TU} encoding and \texttt{lmr} (Latin Modern) family. In the case of \hologo{LuaLaTeX} the contributed \texttt{luaotfload} Lua module will be loaded at the start of each run to enable the loading of OpenType fonts. The \pkg{fontspec} package is being adjusted in a companion release to recognise the new encoding default arrangements. Note that in practice no font supports the full Unicode range, and so \texttt{TU} encoded fonts, unlike fonts specified for \texttt{T1}, may be expected to be incomplete in various ways. In the current release the file \file{tuenc.def} that implements the \texttt{TU} encoding-specific commands has made some basic assumptions for (for example) default handling of accent commands, and the set of command names is derived from the command names used for the UTF-8 support in the \pkg{inputenc} package, restricted roughly to the character ranges classically provided by the \texttt{T1} and \texttt{TS1} encodings, but is part of a longer term plan seen over recent releases to increase support for Unicode based \TeX\ engines into the core \LaTeX\ support. If for any reason you need to process a document with the previous default \texttt{OT1} encoding, you may switch encoding in the usual ways, for example \begin{verbatim} \usepackage[OT1]{fontenc} \end{verbatim} or you may roll back all the changes for this release by starting the document with \begin{verbatim} \RequirePackage[2016/12/31]{latexrelease} \end{verbatim} \section{\cs{showhyphens} in \hologo{XeLaTeX}} Due to the way \hologo{XeLaTeX} interfaces to font libraries, the standard definition of \cs{showhyphens} does not work. A variant definition has been available in the contributed \pkg{xltxtra} package, however a (slightly different) definition for \cs{showhyphens} is now included in \hologo{XeLaTeX} by default. As usual this change will be undone if an earlier release is specified using the \pkg{latexrelease} package. \section{The \pkg{fixltx2e} package} As described in \LaTeX{} News~22, the \pkg{fixltx2e} package has become obsolete with the new update policy. Since 2015 it has just made a warning and exited. In this release we have re-introduced all the code from the original fixes in the 2014 \LaTeX\ but guarded by \verb|\IncludeInRelease{2015/01/01}|. So for current releases \pkg{fixltx2e} still just displays a warning but for old releases, whether that is an old format, or a format with the version date reset via the \pkg{latexrelease} package, the fixes in the original \pkg{fixltx2e} will be applied. This improves the ability to run old documents in a way that is compatible with contemporary formats. If you have a 2014 document that used \verb|\usepackage{fixltx2e}| and you add \verb|\RequirePackage[2014/01/01]{latexrelease}| and process it with the current format then \pkg{latexrelease} will undo most changes made since 2014, but now when the document includes \pkg{fixltx2e} it will act like a 2014 version of the package and apply the code fixes, not just give a warning that the package is obsolete. \section{The \pkg{latexbug} package} As explained in more detail at the \LaTeX\ Project website\footnote{\url{https://www.latex-project.org/bugs/}} a new package, \pkg{latexbug}, has been produced to help produce test files to accompany bug reports on the core \LaTeX\ distribution. This is being published separately to CTAN at the same time as this release. By using the \pkg{latexbug} package you can easily check that the packages involved in the test are all part of the core release. The \LaTeX\ project cannot handle bug reports on contributed packages, which should be directed to the package maintainer as given in the package documentation. \section{Updates to \pkg{amsmath}} The \pkg{amsmath} package has two updates at this release. \begin{itemize} \item The spacing to the left of the \env{aligned} and \env{gathered} environments has been fixed: the spurious thin space is no longer added by default. Package options control this to revert to the original behaviour where required; see the \file{amsldoc} guide for further details. \item The large delimiters around generalised fractions (for example in the \cs{binom} construct) did not work in previous releases if using \hologo{LuaTeX} or \hologo{XeTeX} with OpenType math fonts. This is related to the lack of specific metrics for this use in the OpenType Math table. In principle \hologo{LuaTeX} has two additional named metrics to control the delimiters but these are not initialised by default, and in \hologo{XeTeX} it does not seem possible to make them work at all. So for Unicode \TeX\ systems, a new implementation of \cs{genfrac} is used at this release that uses \verb|\left\right| internally but parameterised to give spacing as close to the original as possible. The implementation in (pdf)\TeX\ is unaffected. \end{itemize} \section{Updates to \textsf{tools}} The \pkg{array} package has been updated to fix a longstanding but previously unreported issue with unwanted interactions between tables in the page head or foot and the body of the page, as reported in \href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=tools/4488}{PR tools/4488}. There is also an update to the \hologo{LuaTeX} support in \pkg{bm}. \section{An addendum to the release changes in 2015: page breaks and vertical spacing} In 2015 we announced the introduction of the roll-back\slash roll-forward concept to manage bug fixes and additions to core \LaTeX{} in a manageable way. We also announced at that time that we now incorporate all fixes from \pkg{fixltx2e} into the kernel (as the old mechanism produced problems instead of improving the situation). Refer to \href{https://www.latex-project.org/news/latex2e-news/ltnews22.pdf}{\file{ltnews22.pdf}} for details. One of the fixes from \pkg{fixltx2e} was for a glaring bug in \cs{addvspace} that was originally detected in the mid-nineties and back then added to the \pkg{fixltx2e} support package. In certain situations \cs{addvspace} would result in a page/column break below the baseline of the last line. As a result documents using \cs{flushbottom} would show a clear misalignment (even more prominent when typesetting in two-column mode). Starting with release 2015/01/01 this is now finally corrected already in the kernel and not only in \pkg{fixltx2e}. In nearly all circumstances this will either make no difference to existing documents, or it will locally improve the visual appearance of that document without changing anything on other pages. However, by the nature of the change it is also possible that there are further non-local changes to the page breaks due to the different break positions introduced by the fix. Thus, for documents that have been written before 2015 and that should be preserved unchanged at all costs you may have to add \begin{verbatim} \RequirePackage[2014/01/01]{latexrelease} \end{verbatim} at the top of the document, to roll back the format to a date before the policy change. \end{document}