diff options
Diffstat (limited to 'macros/latex-dev/base/ltnews38.tex')
-rw-r--r-- | macros/latex-dev/base/ltnews38.tex | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/macros/latex-dev/base/ltnews38.tex b/macros/latex-dev/base/ltnews38.tex new file mode 100644 index 0000000000..38745b9dbf --- /dev/null +++ b/macros/latex-dev/base/ltnews38.tex @@ -0,0 +1,257 @@ +% \iffalse meta-comment +% +% Copyright 2021-2023 +% 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 +% https://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: ltnews38.tex +% +% This is issue 38 of LaTeX News. + +\NeedsTeXFormat{LaTeX2e}[2020-02-02] + +\documentclass{ltnews} + +%% Maybe needed only for Chris' inadequate system: +\providecommand\Dash {\unskip \textemdash} + +%% NOTE: Chris' preferred hyphens! +%%\showhyphens{parameters} +%% \hyphenation{because parameters parameter} + +\usepackage[T1]{fontenc} + +\usepackage{lmodern,url,hologo} + +\usepackage{csquotes} +\usepackage{multicol} +\usepackage{color} + +\providecommand\hook[1]{\texttt{#1}} + +\providecommand\meta[1]{$\langle$\textrm{\itshape#1}$\rangle$} +\providecommand\option[1]{\texttt{#1}} +\providecommand\env[1]{\texttt{#1}} +\providecommand\Arg[1]{\texttt\{\meta{#1}\texttt\}} + + +\providecommand\eTeX{\hologo{eTeX}} +\providecommand\XeTeX{\hologo{XeTeX}} +\providecommand\LuaTeX{\hologo{LuaTeX}} +\providecommand\pdfTeX{\hologo{pdfTeX}} +\providecommand\MiKTeX{\hologo{MiKTeX}} +\providecommand\CTAN{\textsc{ctan}} +\providecommand\TL{\TeX\,Live} +\providecommand\githubissue[2][]{\ifhmode\unskip\fi + \quad\penalty500\strut\nobreak\hfill + \mbox{\small\slshape(% + \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}% + {github issue#1 #2}% + )}% + \par\smallskip} +%% But Chris has to mostly disable \href for his TEXPAD app: +%% \def\href #1{} % Only For Chris' deficient TeX engine + +% simple solution right now (just link to the first issue if there are more) +\def\getfirstgithubissue#1 #2\relax{#1} + +\providecommand\sxissue[1]{\ifhmode\unskip + \else + % githubissue preceding + \vskip-\smallskipamount + \vskip-\parskip + \fi + \quad\penalty500\strut\nobreak\hfill + \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par} + +\providecommand\gnatsissue[2]{\ifhmode\unskip\fi + \quad\penalty500\strut\nobreak\hfill + \mbox{\small\slshape(% + \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F\getfirstgithubissue#2 \relax}% + {gnats issue #1/#2}% + )}% + \par} + +\let\cls\pkg +\providecommand\env[1]{\texttt{#1}} +\providecommand\acro[1]{\textsc{#1}} + +\vbadness=1400 % accept slightly empty columns + + +\makeatletter +% maybe not the greatest design but normally we wouldn't have subsubsections +\renewcommand{\subsubsection}{% + \@startsection {subsubsection}{2}{0pt}{1.5ex \@plus 1ex \@minus .2ex}% + {-1em}{\@subheadingfont\colonize}% +} +\providecommand\colonize[1]{#1:} +\makeatother + +\let\finalvspace\vspace % for document layout fixes + +% Undo ltnews's \verbatim@font with active < and > +\makeatletter +\def\verbatim@font{% + \normalsize\ttfamily} +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand\tubcommand[1]{} +\tubcommand{\input{tubltmac}} + +\publicationmonth{November} +\publicationyear{2023 --- DRAFT version for upcoming release} + +\publicationissue{38} + +\begin{document} + +\tubcommand{\addtolength\textheight{4.2pc}} % only for TUB + +\maketitle +{\hyphenpenalty=10000 \exhyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 +\tableofcontents} + +\setlength\rightskip{0pt plus 3em} + +\medskip + +\section{Introduction} + + +\section{Sockets and plugs} + +\emph{write} + +For documentation see \texttt{texdoc ltsockets-doc} for now. + +\section{Extended cross-referencing of document properties} + +Traditionally \LaTeX{} allowed with \cs{label} to record two \enquote{local} +properties of the document: the representation of the current page number and +of the current counter. Their values could then be referenced with the +(non-expandable) commands \cs{ref} and \cs{pageref} in arbitrary places of a +document. With the summer 2023 release the \cs{label} was enhanced to record +also if set by packages like \pkg{nameref} or \pkg{hyperref} the title and +the name of the link target. + +Over the years packages extended the label-ref system in various ways. +Examples are for example the \pkg{refcount} package to reference the values +expandably, the \pkg{smartref} package, which allows to store more counter +values and so to reference the current chapter together with the current +equation, the \pkg{cleveref} package, which stores in a second internal label +beside other the name of the counter, the \pkg{hyperref} package whose +\cs{autoref} command tries to retrieve the name of the counter from the name +of the link target, the \pkg{tikzmarks} which records absolute positions on +the page, and the \pkg{zref} package which implements a general method to +record and reference properties. + +Starting with this release the \LaTeX{} kernel contains now its own +extension. It is loosely based on \pkg{zref}. It allows to declare new +properties, to record arbitrary combinations of properties. The values are +retrieved expandably. + +As an example to setup a new property which records the current chapter +number the following declaration could be used: +\begin{verbatim} +\NewProperty{chapter}{now}{?}{\thechapter} +\end{verbatim} +The second argument means that the property is recorded immediately +(\enquote{now}) and not at shipout. The third argument sets a default if a +label is unknown. It is then possible to record a list of properties with +\cs{RecordProperties}: +\begin{verbatim} +\RecordProperties{mylabel}{chapter,page,currentlabel} +\end{verbatim} +To reference the value the \cs{RefProperty} command is provided which takes +two arguments, the label and the property: +\begin{verbatim} +\RefProperty{mylabel}{chapter} +\end{verbatim} + +The new module predeclares a set of generally useful properties: +\texttt{currentlabel} (the standard counter representation), \texttt{page} +(the page representation), \texttt{title} (the title if set e.g.~by +\pkg{nameref}), \texttt{target} (the name of the link target if set e.g.~by +\pkg{hyperref}), \texttt{pagenum} (the page as an arabic number), +\texttt{abspage} (the absolute page number), \texttt{counter} (the name of +the current counter), \texttt{xpos} and \texttt{ypos} the position on the +page as set by a previous \cs{pdfsavepos}. + +The module provides both \LaTeXe{} camel case commands and expl3 commands. + +For documentation see \texttt{texdoc ltproperties-doc}. + +\section{New or improved commands} + +% +\githubissue{xxx} + +\section{\emph{Removed} commands} + +It is very rare that commands are removed from the \LaTeX{} kernel. However, in +this release we have elected to remove \cs{GetDocumentCommandArgSpec}, +\cs{GetDocumentEnvironmentArgSpec}, \cs{ShowDocumentCommandArgSpec} and +\cs{ShowDocumentEnvironmentArgSpec} from the kernel. These commands have been +moved back to the \enquote{stub} \pkg{xparse} provided in \pkg{l3packages}. The +reason for this change is that the commands were essentially part of debugging +early forms of the kernel code, and expose implementation detail in a way that +was not helpful. + +\section{Code improvements} + +\subsection{Support for tabs in \cs{verb*} and \texttt{verbatim*}} + +\LaTeX{} converts a single tab to a single space, which is then treated like a +\enquote{real} space in typesetting. The same has been true to date inside +\cs{verb}, but was done in a way that meant that they remained as normal spaces +even in \cs{verb*}, etc. We have now adjusted the code so that tabs are +retained within the argument to \cs{verb} and \cs{verb*}, and the +\texttt{verbatim} and \texttt{verbatim*} environments independently from +spaces, and are set up to print in the same way spaces do. This means that they +now generate visible spaces inside \cs{verb*} and \texttt{verbatim*}, and their +behavior can be adjusted if required to be different from that of spaces. +% +\githubissue{1085} + +\section{Bug fixes} + +\section{Changes to packages in the \pkg{amsmath} category} + +\section{Changes to packages in the \pkg{graphics} category} + +\section{Changes to packages in the \pkg{tools} category} + + +%\medskip + +\begin{thebibliography}{9} + +\fontsize{9.3}{11.3}\selectfont + +\end{thebibliography} + +\end{document} |