LATEX News
Issue 26, January 2017 (LATEX release 2017-01-01)

Contents

Default encodings in X LATEX and LuaLATEXEε-TEX

1

Default encodings in XELATEX and LuaLATEX

1\showhyphens in XELATEX

2

The fixltx2e package

2

The latexbug package

2Updates to amsmath2

Updates to tools

2

An addendum to the release changes in 2015:
page breaks and vertical spacing
2ε-TEX
In LATEX News 16 (December 2003) the team announced
We expect that within the next two years,
releases of LATEX will change modestly in orderto run best under an extended TEX engine
that contains the ε-TEX primitives, e.g., ε-TEXor pdfTEX.
and also said
Although the current release does not
require ε-TEX features, we certainly
recommend using an extended TEX, especially
if you need to debug macros.
For many years the team have worked on the basisthat users will have ε-TEX available but had not revisitedthe above statements formally. As of the January 2017
release of LATEX 2ε , ε-TEX is required to build the format,
and attempting to build a format without the extensions
will fail.
Practically, modern TEX distributions provide theextensions in all engines other than the “pure” Knuth
tex, and indeed parts of the format-building process
already require ε-TEX, 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 ε-TEX within
the kernel in future; details will be announced where
they impact on end users in a visible way.

The default encoding in LATEX has always been theoriginal 128-character encoding OT1. For Unicode basedTEX engines, this is not really suitable, and is especiallyproblematic with 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 fontspec
package in order to switch to a Unicode encoded font.
In this release we are adding TU as a new supported
encoding in addition to the previously supported
encodings such as OT1 and T1. This denotes a Unicode
based font encoding. It is essentially the same as the TU
encoding that has been on trial with the experimental
tuenc option to fontspec for the past year.
The XELATEX and LuaLATEX formats will now default
to TU encoding and lmr (Latin Modern) family. In
the case of LuaLATEX the contributed luaotfload Lua
module will be loaded at the start of each run to enable
the loading of OpenType fonts.
The 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 TU encoded fonts, unlike fonts specified
for T1, may be expected to be incomplete in variousways. In the current release the file tuenc.def that
implements the 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 inputenc package, restrictedroughly to the character ranges classically provided by
the T1 and TS1 encodings, but is part of a longer term
plan seen over recent releases to increase support forUnicode based TEX engines into the core LATEX support.
If for any reason you need to process a documentwith the previous default OT1 encoding, you may switch
encoding in the usual ways, for example\usepackage[OT1]{fontenc}
or you may roll back all the changes for this release bystarting the document with\RequirePackage[2016/12/31]{latexrelease}

LATEX News, and the LATEX software, are brought to you by the LATEX Project Team; Copyright 2017, all rights reserved.

\showhyphens in X LATEXEDue to the way XELATEX interfaces to font libraries, thestandard definition of \showhyphens does not work. Avariant definition has been available in the contributed
xltxtra package, however a (slightly different) definitionfor \showhyphens is now included in XELATEX by default.
As usual this change will be undone if an earlier releaseis specified using the latexrelease package.

The fixltx2e package
As described in LATEX News 22, the 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 fromthe original fixes in the 2014 LATEX but guarded by\IncludeInRelease{2015/01/01}. So for current
releases fixltx2e still just displays a warning but for oldreleases, whether that is an old format, or a format withthe version date reset via the latexrelease package, thefixes in the original 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 documentthat used \usepackage{fixltx2e} and you add\RequirePackage[2014/01/01]{latexrelease} andprocess it with the current format then latexrelease will
undo most changes made since 2014, but now when thedocument includes fixltx2e it will act like a 2014 versionof the package and apply the code fixes, not just give awarning that the package is obsolete.

The latexbug package
As explained in more detail at the LATEX Project website1
a new package, 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 thelatexbug package you can easily check that the packages
involved in the test are all part of the core release. TheLATEX project cannot handle bug reports on contributed
packages, which should be directed to the package
maintainer as given in the package documentation.

Updates to amsmath
The amsmath package has two updates at this release.
• The spacing to the left of the aligned andgathered environments has been fixed: thespurious thin space is no longer added by default.
Package options control this to revert to theoriginal behaviour where required; see the amsldoc
guide for further details.
1 https://www.latex-project.org/bugs/• The large delimiters around generalised fractions(for example in the \binom construct) did not workin previous releases if using LuaTEX or XETEX with
OpenType math fonts. This is related to the lack of
specific metrics for this use in the OpenType Mathtable. In principle LuaTEX has two additional
named metrics to control the delimiters but these
are not initialised by default, and in XETEX it does
not seem possible to make them work at all. So forUnicode TEX systems, a new implementation of\genfrac is used at this release that uses
\left\right internally but parameterised to givespacing as close to the original as possible. The
implementation in (pdf)TEX is unaffected.

Updates to tools
The array package has been updated to fix a longstanding but previously unreported issue with unwanted
interactions between tables in the page head or foot andthe body of the page, as reported in PR tools/4488.
There is also an update to the LuaTEX support in bm.

An addendum to the release changes in 2015:
page breaks and vertical spacing
In 2015 we announced the introduction of the roll-back/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
fixltx2e into the kernel (as the old mechanism produced
problems instead of improving the situation). Refer toltnews22.pdf for details.
One of the fixes from fixltx2e was for a glaring bug
in \addvspace that was originally detected in the
mid-nineties and back then added to the fixltx2e support
package. In certain situations \addvspace would resultin a page/column break below the baseline of the lastline. As a result documents using \flushbottom would
show a clear misalignment (even more prominent whentypesetting in two-column mode).
Starting with release 2015/01/01 this is now finallycorrected already in the kernel and not only in 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 withoutchanging anything on other pages. However, by thenature of the change it is also possible that there arefurther non-local changes to the page breaks due to thedifferent 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\RequirePackage[2014/01/01]{latexrelease}at the top of the document, to roll back the format to adate before the policy change.
–2