Can't load hyperref in individual news files
[latex2e.git] / trunk / doc / ltnews26.tex
blob3213303ad2e93ea52f09d996586eb5f705738977
1 % \iffalse meta-comment
3 % Copyright 2016
4 % The LaTeX3 Project and any individual authors listed elsewhere
5 % in this file.
7 % This file is part of the LaTeX base system.
8 % -------------------------------------------
10 % It may be distributed and/or modified under the
11 % conditions of the LaTeX Project Public License, either version 1.3c
12 % of this license or (at your option) any later version.
13 % The latest version of this license is in
14 % http://www.latex-project.org/lppl.txt
15 % and version 1.3c or later is part of all distributions of LaTeX
16 % version 2005/12/01 or later.
18 % This file has the LPPL maintenance status "maintained".
20 % The list of all files belonging to the LaTeX base distribution is
21 % given in the file `manifest.txt'. See also `legal.txt' for additional
22 % information.
24 % The list of derived (unpacked) files belonging to the distribution
25 % and covered by LPPL is defined by the unpacking scripts (with
26 % extension .ins) which are part of the distribution.
28 % \fi
29 % Filename: ltnews26.tex
31 % This is issue 26 of LaTeX News.
33 \documentclass{ltnews}
34 \usepackage[T1]{fontenc}
36 \usepackage{lmodern,url,hologo}
38 \publicationmonth{January}
39 \publicationyear{2017}
41 \publicationissue{26}
43 \begin{document}
45 \maketitle
46 \tableofcontents
48 \setlength\rightskip{0pt plus 3em}
49 \section{\eTeX{}}
51 In \LaTeX{} News~16 (December 2003) the team announced
52 \begin{quotation}
53 We expect that within the next two years, releases of \LaTeX{} will
54 change modestly in order to run best under an extended \TeX{} engine
55 that contains the \eTeX{} primitives, e.g., \eTeX{} or pdf\TeX{}.
56 \end{quotation}
57 and also said
58 \begin{quotation}
59 Although the current release does not \emph{require} \eTeX{} features, we
60 certainly recommend using an extended \TeX{}, especially if you need to debug
61 macros.
62 \end{quotation}
64 For many years the team have worked on the basis that users will have \eTeX{}
65 available but had not revisited the above statements formally. As of the
66 January 2017 release of \LaTeXe{}, \eTeX{} is \emph{required} to build the
67 format, and attempting to build a format without the extensions will fail.
69 Practically, modern \TeX{} distributions provide the extensions in all engines
70 other than the ``pure'' Knuth \texttt{tex}, and indeed parts of the
71 format-building process already require \eTeX{}, most notably some of the UTF-8
72 hyphenation patterns. As such, there should be no noticeable effect on users of
73 this change.
75 The team expect to make wider use of \eTeX{} within the kernel in future;
76 details will be announced where they impact on end users in a visible way.
78 \section{Default Encodings in \hologo{XeLaTeX} and \hologo{LuaLaTeX}}
79 The default encoding in \LaTeX\ has always been the original
80 128-character encoding \texttt{OT1}. For Unicode based \TeX\ engines, this
81 is not really suitable, and is especially problematic with
82 \hologo{XeLaTeX} as in the major distributions this is built with
83 Unicode based hyphenation patterns in the format. In practice this has
84 not been a major problem as documents use the contributed
85 \textsf{fontspec} package in order to switch to a
86 Unicode encoded font.
88 In this release we are adding \texttt{TU} as a new supported
89 encoding in addition to the previously supported encodings such as \texttt{OT1}
90 and \texttt{T1}. This denotes a Unicode based font encoding. It is essentially
91 the same as the \texttt{TU} encoding that has been on trial with the
92 experimental \texttt{tuenc} option to \textsf{fontspec} for the past
93 year.
95 The \hologo{XeLaTeX} and \hologo{LuaLaTeX} formats will now default
96 to \texttt{TU} encoding and \texttt{lmr} (Latin Modern) family. In the
97 case of \hologo{LuaLaTeX} the contributed \textsf{luaotfload} Lua
98 module will be loaded at the start of each run to enable the loading
99 of OpenType fonts.
101 The \textsf{fontspec} package is being adjusted in a companion release
102 to recognise the new encoding default arrangements.
104 Note that in practice no font supports the full Unicode range, and so
105 \texttt{TU} encoded fonts, unlike fonts specified for \texttt{T1}, may be
106 expected to be incomplete in various ways. In the current release the file
107 \texttt{tuenc.def} that implements the \texttt{TU} encoding-specific commands
108 has made some basic assumptions for (for example) default handling of
109 accent commands, and the set of command names is derived from the
110 command names used for the UTF-8 support in the \textsf{inputenc} package,
111 restricted roughly to the character ranges classically provided by
112 the \texttt{T1} and \texttt{TS1} encodings, but is part of a longer term plan
113 seen over recent releases to increase support for Unicode based \TeX\ engines
114 into the core \LaTeX\ support.
118 If for any reason you need to process a document with the previous
119 default \texttt{OT1} encoding, you may switch encoding in the usual ways, for
120 example
121 \begin{verbatim}
122 \usepackage[OT1]{fontenc}
123 \end{verbatim}
124 or you may roll back all the changes for this release by starting the
125 document with
126 \begin{verbatim}
127 \RequirePackage[2016/12/31]{latexrelease}
128 \end{verbatim}
130 \section{\cs{showhyphens} in \hologo{XeLaTeX}}
131 Due to the way \hologo{XeLaTeX} interfaces to font libraries, the
132 standard definition of \cs{showhyphens} does not work. A variant
133 definition has been available in the contributed \textsf{xltxtra}
134 package, however a (slightly different) definition for \cs{showhyphens}
135 is now included in \hologo{XeLaTeX} by default. As usual
136 this change will be undone if an earlier
137 release is specified using the \textsf{latexrelease} package.
139 \section{The \textsf{fixltx2e} Package}
140 As described in \LaTeX{} News~22, the \textsf{fixltx2e} package has become
141 obsolete with the new update policy. Since 2015 it has just made a
142 warning and exited. In this release we have re-introduced all
143 the code from the original fixes in the 2014 \LaTeX\ but guarded by
144 \verb|\IncludeInRelease{2015/01/01}|.
145 So for current releases \textsf{fixltx2e} still just makes a warning
146 but for old releases, whether that is an old format, or a format with
147 the version date reset via the \textsf{latexrelease} package, the
148 fixes in the original \textsf{fixltx2e} will be applied.
150 This improves the ability to run old documents in a way compatible
151 with contemporary formats. If you have a 2014 document that used
152 \verb|\usepackage{fixltx2e}| and you add
153 \verb|\RequirePackage[2014/01/01]{latexrelease}| and process it with the
154 current format then \textsf{latexrelease} will undo most changes made
155 since 2014, but now when the document includes \textsf{fixltx2e} it
156 will act like a 2014 version of the package and apply the code fixes,
157 not just give a warning that the package is obsolete.
159 \section{The \textsf{latexbug} package}
161 As explained in more detail
162 at the \LaTeX\ Project
163 website\footnote{\url{https://www.latex-project.org/bugs/}}
164 a new package, \textsf{latexbug}, has been produced to help produce
165 test files to accompany bug reports on the core \LaTeX\ distribution.
166 This is being published separately to CTAN at the same time as this
167 release. By using the \textsf{latexbug} package you can easily check
168 that the packages involved in the test are all part of the core
169 release. The \LaTeX\ project can not handle bug reports on contributed
170 packages, which should be directed to the package maintainer as given
171 in the package documentation.
173 \section{Updates to \textsf{amsmath}}
174 The \textsf{amsmath} package has two updates at this release.
175 \begin{itemize}
176 \item The spacing to the left of the \texttt{aligned} and
177 \texttt{gathered} environments has been fixed: the spurious thin
178 space is no longer added by default. Package options control this
179 to revert to the original behaviour where required; see the
180 \textsf{amsldoc} guide for further details.
181 \item The large delimiters around generalised fractions (for example
182 in the \cs{binom} construct) did not work in previous releases if
183 using \hologo{LuaTeX} or \hologo{XeTeX} with OpenType math fonts. This is
184 related to the lack of specific metrics for this use in the OpenType Math
185 table. In principle \hologo{LuaTeX} has two additional named metrics
186 to control the delimiters but these are not initialised by default,
187 and in \hologo{XeTeX} it does not seem possible to make them work at all.
188 So for Unicode \TeX\ systems, a new implementation of
189 \cs{genfrac} is used at this release that uses \verb|\left\right|
190 internally but parameterised to give spacing as close to the
191 original as possible. The implementation in (pdf)\TeX\ is
192 unaffected.
193 \end{itemize}
195 \section{Updates to \textsf{tools}}
196 The \textsf{array} package has been updated to fix a longstanding but
197 previously unreported issue with unwanted interactions between tables
198 in the page head or foot and the body of the page, as reported in
199 \href{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=tools/4488}{PR
200 tools/4488}.
201 There is also an update to the \hologo{LuaTeX} support in \textsf{bm}.
203 \section{An addendum to the release changes in 2015}
205 In 2015 we announced the introduction of the roll-back\slash
206 roll-forward concept to manage bug fixes and additions to core
207 \LaTeX{} in a manageable way. We also announced at that time
208 that we now incorporate all fixes from \textsf{fixltx2e} into the
209 kernel (as the old mechanism produced problems instead of improving
210 the situation). Refer to
211 \href{https://www.latex-project.org/news/latex2e-news/ltnews22.pdf}{\texttt{ltnews22.pdf}}
212 for details.
214 One of the fixes from \textsf{fixltx2e} was for a glaring bug in
215 \cs{addvspace} that was originally detected in the mid-nineties and
216 back then added to the \textsf{fixltx2e} support package. In certain
217 situations \cs{addvspace} would result in a page/column break below
218 the baseline of the last line. As a result documents using
219 \cs{flushbottom} would show a clear misalignment (even more prominent
220 when typesetting in two-column mode).
222 Starting with release 2015/01/01 this is now finally corrected already
223 in the kernel and not only in \textsf{fixltx2e}. In nearly all
224 circumstances this will either make no difference to existing
225 documents, or it will locally improve the visual appearence of that
226 document without changing anything on other pages. However, by the
227 nature of the change it is also possible that there are further
228 non-local changes to the page breaks due to the different break
229 positions introduced by the fix.
231 Thus, for documents that have been written before 2015 and that should
232 be preserved unchanged at all costs you may have to add
233 \begin{verbatim}
234 \RequirePackage[2014/01/01]{latexrelease}
235 \end{verbatim}
236 at the top of the document, to roll back the format to a date before
237 the policy change.
239 \end{document}