diff options
Diffstat (limited to 'macros/latex/base/ltnews30.tex')
-rw-r--r-- | macros/latex/base/ltnews30.tex | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/macros/latex/base/ltnews30.tex b/macros/latex/base/ltnews30.tex index cfc1430fb8..d09e1fe2b0 100644 --- a/macros/latex/base/ltnews30.tex +++ b/macros/latex/base/ltnews30.tex @@ -168,7 +168,7 @@ then you will be greeted on the screen with something like \texttt{LaTeX2e <2019-10-01> pre-release-2} (identifying the pre-release format) instead of the normal \texttt{LaTeX2e <2018-12-01>}. In this pre-release you will find the latest new features that we have -developed. +developed. \subsection{Our hopes} @@ -204,7 +204,7 @@ the process are available in an upcoming \textsl{TUGboat} article: \enquote{The \subsection{Setting up menu items} -While the command line call works out of the box if you have a recent +While the command line call works out of the box if you have a recent \TL{} or \MiKTeX{} installation, its use within an integrated editing environment doesn’t at this point in time (maybe the developers of these editors will include it in the future). However, @@ -230,13 +230,13 @@ better support for \acro{utf}-8 characters when using \pdfTeX{}.\footnote{The yet as they don't support the primitive \cs{ifincsname}. Work is under way to resolve this in the engines.} -When using a \enquote{Unicode engine}, -any Unicode character (that is not acting as a command, -i.e., is not \enquote{active}) +When using a \enquote{Unicode engine}, +any Unicode character (that is not acting as a command, +i.e., is not \enquote{active}) can be used as part of the \cs{label}/\cs{ref} mechanism or can be displayed in a message or written to a file. In 8-bit engines, however, this was severely -restricted: +restricted: essentially you had to limit yourself to using \acro{ascii} letters, digits and a few punctuation symbols. With the new release, most of these restrictions have been removed and you now @@ -247,17 +247,17 @@ can write labels such as or use accented characters, etc., as part of a \cs{typeout} message. The only requirement remaining is that only those \acro{utf}-8 characters that are also available for typesetting can be used, i.e., only those -characters for +characters for which adequate font support is loaded. Otherwise you will get an -error message stating that -the +error message stating that +the particular Unicode character is not set up for use with \LaTeX{}. -Note, however, that the restrictions on what characters can be -used in the names of commands have not changed. +Note, however, that the restrictions on what characters can be +used in the names of commands have not changed. -What is not possible when using +What is not possible when using an 8-bit engine such as \pdfTeX{} is to use characters other than \acro{ascii} letters as part of a command name. This is due to the fact that all other characters in such @@ -267,12 +267,12 @@ sequence of bytes and this is not supported in command names. \section{Improving file name handling in \pdfTeX{}} A related change is that file names used as part of \cs{input}, -\cs{includegraphics}, etc., commands -can now contain any -Unicode characters allowed by the file system in use, -including spaces. -In this case, - even characters that can't be typeset +\cs{includegraphics}, etc., commands +can now contain any +Unicode characters allowed by the file system in use, +including spaces. +In this case, + even characters that can't be typeset (due to lack of font support) can be used. @@ -280,31 +280,31 @@ In this case, The \env{filecontents} environment now supports an optional argument in which you can specify that it is allowed to \option{overwrite} an -already existing file; - by default nothing is written if a file with the given name +already existing file; + by default nothing is written if a file with the given name exists anywhere in the search tree. An alternative name for this -option is \texttt{force}. +option is \texttt{force}. Even then the environment will refuse to write to \cs{jobname}\texttt{.tex} to avoid clobbering its own input file. However, if you use a different extension on your input file you could still overwrite it (there is no way to test for that). There is also an -option -\option{nosearch}, +option +\option{nosearch}, which specifies that only the current directory is -examined for an existing file, not the whole \TeX{} inputs tree. +examined for an existing file, not the whole \TeX{} inputs tree. This is useful if you want to write a local copy of a standard system file. -Finally, \option{noheader} prevents writing a preamble to the file -(this +Finally, \option{noheader} prevents writing a preamble to the file +(this is the same as using the star form of the environment). -Another change is that this -environment is -now allowed anywhere in the document, +Another change is that this +environment is +now allowed anywhere in the document, which means -it provides everything (and more) of what the now obsolete +it provides everything (and more) of what the now obsolete \pkg{filecontents} package provided. @@ -313,13 +313,13 @@ it provides everything (and more) of what the now obsolete In the early days of \LaTeX{} many commands were fragile, i.e., they needed \cs{protect} in front of them when used in places such as -section headings and other \enquote{moving arguments}, etc. -In \LaTeXe{} many of these commands were made robust, +section headings and other \enquote{moving arguments}, etc. +In \LaTeXe{} many of these commands were made robust, but still a fairly large number remained unnecessarily fragile. -In this release of \LaTeX{} we have now +In this release of \LaTeX{} we have now made a lot more commands robust. -There is a very small collection of commands that must stay fragile +There is a very small collection of commands that must stay fragile because their expansion (maybe partially) at just the right time is critical. Yet others are unlikely to ever be needed in a \enquote{moving argument}. @@ -335,15 +335,15 @@ in the end we overcame that hurdle too, so now environments are automatically robust if used in places like headings or \verb=\typeout= and so forth. -%%CCC do we need to say something about possible problems if other packages +%%CCC do we need to say something about possible problems if other packages %% or documents have redefined commands whose robustness has changed? -What hasn't been tackled yet is the redefinitions in \pkg{amsmath}: +What hasn't been tackled yet is the redefinitions in \pkg{amsmath}: this package redefines a number of basic math constructs -that are now robust, so that +that are now robust, so that they become fragile again -once the package is loaded. +once the package is loaded. This area will be addressed in a followup release. % \githubissue{123} @@ -354,13 +354,13 @@ This area will be addressed in a followup release. \subsection{Guard against \cs{unskip} in tabular cells} -If a \env{tabular} or \env{array} cell started with a -command that started with an -\cs{unskip} -then centering the column broke - because the stretching glue - on the left got removed. The fix for this was to add - a minuscule, and hence unnoticeable, additional space after the stretching space: +If a \env{tabular} or \env{array} cell started with a +command that started with an +\cs{unskip} +then centering the column broke + because the stretching glue + on the left got removed. The fix for this was to add + a minuscule, and hence unnoticeable, additional space after the stretching space: removing this extra space causes no problems. This change was also applied in the \pkg{array} package. @@ -368,7 +368,7 @@ This change was also applied in the \pkg{array} package. \githubissue{102} -\subsection{Fix Unicode table data} +\subsection{Fix Unicode table data} \texttt{U+012F} which is \enquote{i with ogonek} produced a \enquote{dotless i with ogonek} by mistake. This has been corrected. @@ -384,15 +384,15 @@ In the past they raised a \githubissue{110} When doing cut-and-paste from other documents or websites, f-ligatures and others ligatures -might end up as +might end up as single Unicode characters in your file. In the past those got rejected by \LaTeX{}. - We + We now define those Unicode slots and map them back to the sequence of individual characters constituting the ligature. If supported by the current font (which is normally the case) they -are then reconstructed as ligatures and thus get typeset -as desired. +are then reconstructed as ligatures and thus get typeset +as desired. Otherwise they will come out as individual characters which is still better than an error message. @@ -419,17 +419,17 @@ The packages \pkg{fncylab} and \pkg{varioref} provided a slightly improved definition of \cs{refstepcounter} which allowed the internal -\cs{p@..} commands to receive the counter value as an argument, -instead of -acting as a simple prefix. This supports -more complex -formatting of the value in the reference. +\cs{p@..} commands to receive the counter value as an argument, +instead of +acting as a simple prefix. This supports +more complex +formatting of the value in the reference. These packages also provided the command \cs{labelformat} to help in the specification of such formatting in an easy way. For -example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that +example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that references to equations automatically come out as \enquote{eq.~(5)} or similar. As such a \cs{labelformat} declaration @@ -438,8 +438,8 @@ longer be successfully used at the start of a sentence, the packages also provided \cs{Ref} for such scenarios. Both of these commands, \cs{labelformat} and \cs{Ref}, -are now removed from the packages and instead made available in -the kernel so there is no +are now removed from the packages and instead made available in +the kernel so there is no need to load additional packages. @@ -454,19 +454,19 @@ messages to match style of similar messages. \githubissue{107} -\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}} +\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}} As a side effect of setting up the error font for \acro{nfss}, this declaration also changed the current font size back to 10pt. In most circumstances that doesn't matter, because that declaration was meant -to be used only during the format generation and not during -a \LaTeX{} run. +to be used only during the format generation and not during +a \LaTeX{} run. However, it has turned out to be used by some developers in other places (incorrectly in fact: -e.g., inside some \texttt{.fd} files) where -resetting the size causes +e.g., inside some \texttt{.fd} files) where +resetting the size causes havoc seemingly at random. The command has now changed to not produce such side effects. @@ -478,11 +478,11 @@ The command has now changed to not produce such side effects. \subsection{\pkg{nfssfont}: Make font table generation the default action} With the small file \texttt{nfssfont.tex} it is possible to produce -font tables and other font tests -in the style set up by Don Knuth. -In nearly all cases -a font table is wanted, -so this action has been made the default. +font tables and other font tests +in the style set up by Don Knuth. +In nearly all cases +a font table is wanted, +so this action has been made the default. Now one can simply hit enter instead of having to write \verb=\table\bye=. @@ -490,12 +490,12 @@ instead of having to write \verb=\table\bye=. \subsection{\pkg{trace}: Add package support in the kernel} The \pkg{trace} package implements the commands \cs{traceon} -and \cs{traceoff} that work like +and \cs{traceoff} that work like \cs{tracingall} but skip certain code blocks that produce a lot of tracing output. %%CCC being of no interest to anyone!! -- FMi I love your encouragement -This is useful when debugging, to suppress uninteresting tracing -from, for example, loading a font. +This is useful when debugging, to suppress uninteresting tracing +from, for example, loading a font. Code blocks that should not be traced need to be surrounded by the commands \cs{conditionally@traceoff} and \cs{conditionally@traceon}. @@ -506,7 +506,7 @@ regardless of \pkg{trace} being loaded or not. - + \section{Changes to packages in the \pkg{tools} category} \subsection{\pkg{array}: Warn if primitive column specifiers are overwritten} @@ -515,7 +515,7 @@ With \cs{newcolumntype} it is possible to define your own column specifiers for a \texttt{tabular} preamble; it is also possible to change existing ones. However, doing that for a primitive column specifier, such as \texttt{c}, is seldom a good idea, since then its -functionality becomes unavailable. +functionality becomes unavailable. The package was therefore supposed to warn the user in this case, but due to a missing \cs{expandafter} in the code it never did---now it does. @@ -526,19 +526,19 @@ in the code it never did---now it does. \subsection{\pkg{multicol}: Introduce \texttt{minrows} counter for balancing} When there are only a few lines of text on a page at the end of a -\env{multicols} environment, -balancing the columns often looks rather odd: such as +\env{multicols} environment, +balancing the columns often looks rather odd: such as three columns each containing a single line. The balancing behavior -can now be controlled through the counter \texttt{minrows} -(default is~1) which specifies that, -after balancing, there must be at least that many lines in the first column. +can now be controlled through the counter \texttt{minrows} +(default is~1) which specifies that, +after balancing, there must be at least that many lines in the first column. Thus, if you set \texttt{minrows} -to \texttt{2} then you +to \texttt{2} then you would get a -distribution of \texttt{2+1+0} lines and if set +distribution of \texttt{2+1+0} lines and if set to three, the result -would be -\texttt{3+0+0} instead of the default \texttt{1+1+1}. +would be +\texttt{3+0+0} instead of the default \texttt{1+1+1}. What is most appropriate really depends on the circumstances, but this now gives you the tools to make local or global adjustments. @@ -550,13 +550,13 @@ The \pkg{varioref} package has been internally updated to provide better interfaces for packages such as \pkg{hyperref} and \pkg{cleveref}. -It also +It also has a new package option \option{nospace} that stops \pkg{varioref} from meddling with space in front of its commands. The original behavior was always somewhat problematical and it is -suggested that -all new documents +suggested that +all new documents use this option (which should really have been the default). @@ -565,15 +565,15 @@ Support was also added for the Arabic language through the option - + \subsection[\pkg{xr}: Support citations to bibliographies in\\ external documents] {\pkg{xr}: Support citations to bibliographies in external documents} -The \pkg{xr} package can be used to cross-reference an external \LaTeX{} -document. +The \pkg{xr} package can be used to cross-reference an external \LaTeX{} +document. This means that even when a work is split over different documents (that -need to be processed separately), \cs{ref} or \cs{pageref} can use labels from -any document, creating links between them. This facility has now been extended +need to be processed separately), \cs{ref} or \cs{pageref} can use labels from +any document, creating links between them. This facility has now been extended so that \cs{cite} commands and their cousins can now also reference bibliographies in external documents; this feature was first provided in the package @@ -588,10 +588,10 @@ package. \subsection{\pkg{amsmath}: Introduce \cs{overunderset} command} -The \pkg{amsmath} package has always offered +The \pkg{amsmath} package has always offered the commands \cs{overset} and \cs{underset} to produce binary operators with something set above or -below. But sometimes one needs to put something above and something below: +below. But sometimes one needs to put something above and something below: The newly added \cs{overunderset} makes this easily possible. @@ -601,10 +601,10 @@ easily possible. There are a number of %small -documentation updates in files +documentation updates in files on the documentation page of the project website~\cite{30:site-doc}. -\subsection{Highlighting the standard \texorpdfstring{\acro{nfss}}{NFSS} codes for series} +\subsection{Highlighting the standard \texorpdfstring{\acro{nfss}}{NFSS} codes for series} The \emph{Font Selection Guide}~\cite{fntguide} has been updated to strongly recommend that the standard codes should be used @@ -619,14 +619,14 @@ etc. Over the years people came up with a number of other creative short codes like \texttt{k}, \texttt{j}, \texttt{t} and others with the result that changing a font family required different codes and thus prevented users from easily mixing and matching different -families. +families. Some work has been undertaken to get back to a coherent scheme and all the font families supported through the program \texttt{autoinst} -are now producing the standard codes again. +are now producing the standard codes again. \subsection{\LaTeX{} \texttt{base} and \texttt{doc} distribution reunited} - + For a long time the \LaTeX{} distribution available from \CTAN{} was split into several parts to allow them to be uploaded or downloaded separately. As this is these days more confusing than helpful we have @@ -641,25 +641,25 @@ is no longer separately available from \CTAN{} but contained in the %\fontsize{9.3}{11.3}\selectfont \bibitem{30:Mittelbach:TB39-1} Frank Mittelbach: - \emph{New rules for reporting bugs in the \LaTeX{} core software}. + \emph{New rules for reporting bugs in the \LaTeX{} core software}. In: TUGboat, 39\#1, 2018. \url{https://latex-project.org/publications/} \bibitem{devformat} Frank Mittelbach: \emph{The - \LaTeX{} release workflow and the \LaTeX{} dev formats}. + \LaTeX{} release workflow and the \LaTeX{} dev formats}. In: TUGboat, 40\#2, 2019. \url{https://latex-project.org/publications/} \bibitem{fntguide} \LaTeX{} Project Team: - \emph{\LaTeXe{} font selection}.\\ + \emph{\LaTeXe{} font selection}.\\ \url{https://latex-project.org/documentation/} -\bibitem{30:site-doc} - \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\ +\bibitem{30:site-doc} + \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\ \url{https://latex-project.org/documentation/} -%\bibitem{30:site-pub} +%\bibitem{30:site-pub} % \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\ % \url{https://latex-project.org/publications/} |