summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex-dev/base/ltnews38.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex-dev/base/ltnews38.tex')
-rw-r--r--Master/texmf-dist/doc/latex-dev/base/ltnews38.tex257
1 files changed, 257 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex-dev/base/ltnews38.tex b/Master/texmf-dist/doc/latex-dev/base/ltnews38.tex
new file mode 100644
index 00000000000..38745b9dbfb
--- /dev/null
+++ b/Master/texmf-dist/doc/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}