summaryrefslogtreecommitdiff
path: root/macros/latex/base/ltnews27.tex
blob: ba17d26e5eeba65a8b518c293a275666b0e4fc85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
% \iffalse meta-comment
%
% Copyright (C) 2017-2021
% 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: ltnews27.tex
%
% This is issue 27 of LaTeX News.

\documentclass{ltnews}
\usepackage[T1]{fontenc}

\usepackage{lmodern,url,hologo}

\publicationmonth{April}
\publicationyear{2017}

\publicationissue{27}

\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{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 \pkg{latexrelease} package may be used with older releases to
 add this functionality. This change is handled in a special way  by
 \pkg{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
\pkg{babel} language has for a long time allocated a language with
this name.

In order that page breaks in \env{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 \file{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 \pkg{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 \pkg{latexrelease} package may be used to
force the older behavior.

\end{document}