diff options
author | Norbert Preining <norbert@preining.info> | 2024-09-24 03:02:26 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-09-24 03:02:26 +0000 |
commit | c9bd28f387903dc2da4108d8e82bf0c8be4be3be (patch) | |
tree | d601b5b53adf1ca6290f88bbbcfcc55f575bba82 /macros/latex/contrib/listings | |
parent | 57cfc54d699d61b9100dc1fb2a4c89d4e3f41fa7 (diff) |
CTAN sync 202409240302
Diffstat (limited to 'macros/latex/contrib/listings')
-rw-r--r-- | macros/latex/contrib/listings/listings-devel.pdf | bin | 1454841 -> 1457040 bytes | |||
-rw-r--r-- | macros/latex/contrib/listings/listings.dtx | 149 | ||||
-rw-r--r-- | macros/latex/contrib/listings/listings.pdf | bin | 1028632 -> 1028426 bytes | |||
-rw-r--r-- | macros/latex/contrib/listings/lstdrvrs.dtx | 6 | ||||
-rw-r--r-- | macros/latex/contrib/listings/lstdrvrs.pdf | bin | 790575 -> 791320 bytes |
5 files changed, 103 insertions, 52 deletions
diff --git a/macros/latex/contrib/listings/listings-devel.pdf b/macros/latex/contrib/listings/listings-devel.pdf Binary files differindex da1506f1df..a04038050f 100644 --- a/macros/latex/contrib/listings/listings-devel.pdf +++ b/macros/latex/contrib/listings/listings-devel.pdf diff --git a/macros/latex/contrib/listings/listings.dtx b/macros/latex/contrib/listings/listings.dtx index 525ba1a4ae..bd1e84342b 100644 --- a/macros/latex/contrib/listings/listings.dtx +++ b/macros/latex/contrib/listings/listings.dtx @@ -46,6 +46,7 @@ \usepackage{mdframed} % frames for external files \usepackage{moreverb} % writing external files \usepackage{xcolor} % because of coloring the background +\usepackage{tablefootnote} % because of \tablefootnote \makeindex @@ -135,7 +136,7 @@ % Hoffmann became the maintainer of the \packagename{listings} % package in 2013; see the Preface for details.}~ % % \textless\lstemail\textgreater} -% \date{2024/05/25\enspace\enspace Version 1.10b\ \box\abstractbox} +% \date{2024/09/23\enspace\enspace Version 1.10c\ \box\abstractbox} % \def\lstemail{\href{mailto:j.hoffmann@fh-aachen.de}{\texttt{j.hoffmann(at)fh-aachen.de}}} % \ifhyper % \hypersetup{pdftitle=The Listings Package, @@ -2723,7 +2724,7 @@ % \texttt{last} continues the numbering of the most recent listing and % \meta{number} sets it to the (logical) number. % -% \item[1.0] \rkeyname{name}|=|\meta{name} +% \item[1.0,{{}}] \rkeyname{name}|=|\meta{name} % % names a listing. Displayed environment-listings with the same name % share a line counter if |firstnumber=auto| is in effect. @@ -4825,22 +4826,29 @@ % Usually you will use |#1| as \meta{value}. % % \item[1.0] \cs{lstKV@SwitchCases}\marg{value}\\ -% |{|\meta{string 1}|&|\meta{execute 1}|\\|\\ -% | |\meta{string 2}|&|\meta{execute 2}|\\|\\ +% |{|\meta{string 1}|:|\meta{execute 1}|\\|\\ +% | |\meta{string 2}|:|\meta{execute 2}|\\|\\ % \hbox to 3em{\hfill\vdots}\\ -% | |\meta{string $n$}|&|\meta{execute $n$}|}|\marg{else} +% | |\meta{string $n$}|;|\meta{execute $n$}|}|\marg{else} % % Either execute \meta{else} or the \meta{value} matching part. % -% This implementation of C. Heinz has a problem\label{gAmpersand}, if -% the listing is part of a tabular environment as found out by -% \lsthelper{Nasser~M.~Abbasi}{2016/05/25}{possible bug in listings -% package}. \lsthelper{David~Carlisle}{2016/05/25}{% +% This implementation is based on a hint of \lsthelper{David~Carlisle}{2016/05/25}{% % http://tex.stackexchange.com/questions/311383/^^A % adding-frame-none-to-lstlisting-options-in-lstdefinestyle^^A -% -gives-error-with-tabu} -% gave a hint how to avoid this problem and so the separator |&| is -% replaced by |:|. +% -gives-error-with-tabu} to avoid the problem of the original +% implementation of C. Heinz\label{gAmpersand}: +% \begin{quote} +% \cs{lstKV@SwitchCases}\marg{value}\\ +% |{|\meta{string 1}|&|\meta{execute 1}|\\|\\ +% | |\meta{string 2}|&|\meta{execute 2}|\\|\\ +% \hbox to 3em{\hfill\vdots}\\ +% | |\meta{string $n$}|&|\meta{execute $n$}|}|\marg{else} +% \end{quote} +% The problem arose when the listing was part of a tabular +% environment, as found out by +% \lsthelper{Nasser~M.~Abbasi}{2016/05/25}{possible bug in listings +% package}. % % \item[0.20] |\lstKV@TwoArg|\marg{value}\marg{subdefinition} % \item[0.20] |\lstKV@ThreeArg|\marg{value}\marg{subdefinition} @@ -4967,8 +4975,13 @@ % \lsttabspace |\lst@KCSmode| & % \ldots~a keyword comment which can be terminated by a semicolon only. % \\ -% \aspectname{html}\lsttabspace |\lst@insidemode| & +% \aspectname{html}\lsttabspace |\lst@htmlmode| & % Active if we are between \texttt{<} and \texttt{>}. +% +% Previous documentations used the mode name |\lst@insidemode| at this +% place, but the name |\lst@insidemode| isn't referenced in any documentation +% and so it is now (from v1.10c on) assumed as an overseen +% documentation error. % \\ % \aspectname{make}\lsttabspace |\lst@makemode| & % Used to indicate a keyword. @@ -5986,7 +5999,7 @@ % \part{Implementation} % % -% \CheckSum{12435} +% \CheckSum{12443} %^^A %^^A Don't index TeX-primitives. %^^A @@ -6130,8 +6143,8 @@ % All files will have same date and version. % \begin{macrocode} %<*kernel|misc|doc> -\def\filedate{2024/05/25} -\def\fileversion{1.10b} +\def\filedate{2024/09/23} +\def\fileversion{1.10c} %</kernel|misc|doc> % \end{macrocode} % What we need and who we are. @@ -8918,9 +8931,16 @@ % \begin{macrocode} \def\lst@UM#1{\csname\@lst @um#1@\endcsname} % \end{macrocode} -% And all remaining standard characters. +% And all remaining standard characters. \lsthelper{Peter +% Cock}{2024/09/18}{Upright double-quotes in LaTeX listings} +% pointed to the discussion in +% \url{https://tex.stackexchange.com/questions/166790/how-can-i-get-straight-double-quotes-in-listings} +% about the lack of support for upright double quotes which are now +% implemented by the lines below. % \begin{macrocode} \lst@CCPutMacro + \lst@ProcessOther {"22}{\lst@ifupquote \textquotedbl + \else \char34\relax \fi} \lst@ProcessOther {"23}\# \lst@ProcessLetter{"24}\textdollar \lst@ProcessOther {"25}\% @@ -12654,7 +12674,9 @@ % \subsection{Line numbers} % % \begin{aspect}{labels} -% \lsthelper{Rolf~Niepraschk}{1997/04/24}{line numbers} asked for line numbers. +% \lsthelper{Rolf~Niepraschk}{1997/04/24}{line numbers} asked for line +% number, the relevant keys and `\textit{data}' commands are described in +% section \ref{rLineNumbers}, here is their implementation. % \begin{macrocode} %<*misc> \lst@BeginAspect{labels} @@ -12673,26 +12695,31 @@ right:\def\lst@PlaceNumber{\rlap{\normalfont \kern\linewidth \kern\lst@numbersep \lst@numberstyle{\thelstnumber}}}% - }{\PackageError{Listings}{Numbers #1 unknown}\@ehc}} + }{\PackageError{Listings}{value `#1' for keyword `numbers' not supported}\@ehc}} % \end{macrocode} % \end{lstkey} % +% \begin{lstkey}{stepnumber} +% \begin{lstkey}{numberfirstline} % \begin{lstkey}{numberstyle} % \begin{lstkey}{numbersep} -% \begin{lstkey}{stepnumber} % \begin{lstkey}{numberblanklines} -% \begin{lstkey}{numberfirstline} % Definition of the keys. % \begin{macrocode} +\lst@Key{stepnumber}{1}{\def\lst@stepnumber{#1\relax}} +\lst@Key{numberfirstline}{f}[t]{\lstKV@SetIf{#1}\lst@ifnumberfirstline} \lst@Key{numberstyle}{}{\def\lst@numberstyle{#1}} \lst@Key{numbersep}{10pt}{\def\lst@numbersep{#1}} -\lst@Key{stepnumber}{1}{\def\lst@stepnumber{#1\relax}} +\lst@Key{numberblanklines}{true}[t] + {\lstKV@SetIf{#1}\lst@ifnumberblanklines} +% \end{macrocode} +% If we use the `empty' style, the listing must start at line 1, so: +% \begin{macrocode} \lst@AddToHook{EmptyStyle}{\let\lst@stepnumber\@ne} % \end{macrocode} +% Later on we use this to prevent numbering of the first line for a second +% time. % \begin{macrocode} -\lst@Key{numberblanklines}{true}[t] - {\lstKV@SetIf{#1}\lst@ifnumberblanklines} -\lst@Key{numberfirstline}{f}[t]{\lstKV@SetIf{#1}\lst@ifnumberfirstline} \gdef\lst@numberfirstlinefalse{\let\lst@ifnumberfirstline\iffalse} % \end{macrocode} % \end{lstkey} @@ -12721,6 +12748,9 @@ % \end{macrocode} % \end{lstkey} % +% The key |name| is defined in section \ref{sec:list-listings}, the data +% command |\thelstnumber| below on page \pageref{iTheLstNumber}. +% % \begin{macro}{\lst@SetFirstNumber} % \begin{macro}{\lst@SaveFirstNumber} % \lsthelper{Boris~Veytsman}{1998/03/25}{continue line numbering: a.c b.c a.c} @@ -12749,7 +12779,9 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\thelstnumber} % \begin{macro}{\c@lstnumber} +% \label{iTheLstNumber}% % This counter keeps the current label number. We use it as current label to % make line numbers referenced by |\ref|. This was proposed by % \lsthelper{Boris~Veytsman}{1998/03/25}{make line numbers referenced via @@ -12805,6 +12837,7 @@ .\thelstnumber}} % \end{macrocode} % \end{macro} +% \end{macro} % % \begin{macro}{\lst@skipnumbers} % There are more things to do. We calculate how many lines must skip their @@ -13879,12 +13912,21 @@ % \end{macrocode} % Further parsing is done by |lst@GLI@|, the argument is |#1--\@nil| that % is the first element of the list augmented by a sentinel. This -% argument is parsed with the template |#1-#2-#3\@nil|. A linerange given -% as e.\,g. `|12-21|' leads to the argument |12-21--\@nil|, so it is parsed -% as \#1\(\leftarrow\) |12|, \#2\(\leftarrow\)|21|, and \#3\(\leftarrow\)|-|. +% argument is parsed with the template |#1-#2-#3\@nil|. +% % \begin{macrocode} \def\lst@GLI@#1-#2-#3\@nil{% % \end{macrocode} +% A linerange given as e.\,g. `|12-21|' leads to the argument +% |12-21--\@nil|, so it is parsed as \#1\(\leftarrow\) |12|, +% \#2\(\leftarrow\)|21|, and \#3\(\leftarrow\)|-|. +% +% Otherwise it is possible to define a range by arbitrary linerange markers +% like `|start-end|' which leads to the argument +% |12-21--\@nil|, so it is parsed as \#1\(\leftarrow\) |12|, +% \#2\(\leftarrow\)|21|, and \#3\(\leftarrow\)|-|. + + % First we test, if the linerange starts with a number (consisting of -, 1, % 2, 3, \ldots) or an arbitrary linerange marker. If a linerange starts % erroneously with a `|-|' character, the argument \#1 isn't set and so the @@ -13897,23 +13939,23 @@ \ifx\@empty#1\@empty \let\lst@firstline\@ne \else - \def\lst@firstline{#1\relax}% + \def\lst@firstline{#1\relax} \fi % \end{macrocode} % Now we know the starting number of the linerange. \#3 isn't set with a % linerange consisting of a single number, in all other cases \#2 defines % the last line (explicitly or implicitly). % \begin{macrocode} - \ifx\@empty#3\@empty% - \def\lst@lastline{9999999\relax}% + \ifx\@empty#3\@empty + \def\lst@lastline{9999999\relax} \ifx\@empty#2\@empty - \let\lst@lastline\lst@firstline% + \let\lst@lastline\lst@firstline \fi \else% \ifx\@empty#2\@empty \def\lst@lastline{9999999\relax} \else % doesn't happen(?) - \def\lst@lastline{#2\relax}% + \def\lst@lastline{#2\relax} \fi \fi }% @@ -13922,7 +13964,7 @@ % 9999999. This prevents (almost) anything from being printed for now. % \begin{macrocode} {% - \def\lst@firstline{9999999\relax}% + \def\lst@firstline{9999999\relax} \let\lst@lastline\lst@firstline % \end{macrocode} % We add the prefixes and suffixes to the markers. @@ -14017,10 +14059,10 @@ \ifnum\@tempcnta=\z@ \else \lst@nololtrue \advance\@tempcnta\lst@advancenumber - \edef\lst@firstnumber{\the\@tempcnta\relax}% - \fi% - \fi% - }% + \edef\lst@firstnumber{\the\@tempcnta\relax} + \fi + \fi + } } \def\lst@InitLstNumber{% \global\c@lstnumber\lst@firstnumber @@ -14366,7 +14408,8 @@ % \begin{macro}{\lst@HRefStepCounter} % This macro sets the listing number to a negative value since the user % shouldn't refer to such a listing. If the \packagename{hyperref} package -% is present, we use `lstlisting' (argument from above) to hyperref to. +% is present, we use `lstlisting.' (argument from above) concatenated with +% the current (negative) number to hyperref to. % The groups have been added to prevent other packages (namely % \packagename{tabularx}) from reading the locally changed counter % and writing it back globally. Thanks to \lsthelper{Michael~Niedermair} @@ -14374,14 +14417,17 @@ % this localization led to another bug, see |\theHlstnumber|. % \begin{macrocode} \def\lst@HRefStepCounter#1{% - \begingroup - \c@lstlisting\lst@neglisting - \advance\c@lstlisting\m@ne \xdef\lst@neglisting{\the\c@lstlisting}% - \ifx\hyper@refstepcounter\@undefined\else - \hyper@refstepcounter{#1}% - \fi - \endgroup} -\gdef\lst@neglisting{\z@}% init + \begingroup + \c@lstlisting\lst@neglisting + \advance\c@lstlisting\m@ne \xdef\lst@neglisting{\the\c@lstlisting}% + \ifx\hyper@refstepcounter\@undefined\else + \hyper@refstepcounter{#1}% + \fi + \endgroup +} +\gdef\lst@neglisting{\z@}% init, \z@ can be used both for 0pt and 0, + % remember: _neg_ative number, but no + % counter! % \end{macrocode} % \end{macro} % @@ -14776,7 +14822,8 @@ % \end{macro} % % -% \subsection{List of listings} +% \subsection{List of listings}% +% \label{sec:list-listings} % % \begin{lstkey}{name} % \begin{macro}{\lstname} @@ -15781,7 +15828,7 @@ \ifalgorithmicpkg \RequirePackage{algorithmic}\fi \iflgrind \RequirePackage{lgrind}\fi \RequirePackage{nameref} -\RequirePackage{url} +\RequirePackage{xurl} % allow URL breaks \renewcommand\ref{\protect\T@ref} \renewcommand\pageref{\protect\T@pageref} % \end{macrocode} @@ -17336,6 +17383,10 @@ % \item[1.10] from 2024/02/15 on % \item usage of |tocbasic| if loaded to improve compatibility with % KOMA-Script and also enhance functionality. +% \item differentiate between Python 2 and Python 3 +% \item add initial support for Scala 3.0 +% \item made |\lstinline{...}| work in tabular cells +% \item implemented upright double-quotes % \end{itemize} % \endgroup % diff --git a/macros/latex/contrib/listings/listings.pdf b/macros/latex/contrib/listings/listings.pdf Binary files differindex b4bfc0d79e..8e2038ce2d 100644 --- a/macros/latex/contrib/listings/listings.pdf +++ b/macros/latex/contrib/listings/listings.pdf diff --git a/macros/latex/contrib/listings/lstdrvrs.dtx b/macros/latex/contrib/listings/lstdrvrs.dtx index 8541b7a0b9..25c197c9d5 100644 --- a/macros/latex/contrib/listings/lstdrvrs.dtx +++ b/macros/latex/contrib/listings/lstdrvrs.dtx @@ -33,7 +33,7 @@ % \title{Language, Style and Format drivers\\ for \textsf{Listings}\\ % {\large by Carsten Heinz and individual authors:}} % \author{\InputIfFileExists{lstdrvrs.tmp}{}{}} -% \date{2024/05/25\enspace\enspace Version 1.10b\ \box\abstractbox} +% \date{2024/09/23\enspace\enspace Version 1.10c\ \box\abstractbox} % % \ifhyper % \hypersetup{pdftitle={Language, Style and Format drivers for the @@ -138,7 +138,7 @@ % \endgroup % We mainly define default dialects. % \begin{macrocode} -\ProvidesFile{listings.cfg}[2024/05/25 1.10b listings configuration] +\ProvidesFile{listings.cfg}[2024/09/23 1.10c listings configuration] \def\lstlanguagefiles {lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty} \lstset{defaultdialect=[R/3 6.10]ABAP, @@ -187,7 +187,7 @@ %<+lua-prf>\ProvidesFile{listings-lua.prf} %<+python-prf>\ProvidesFile{listings-python.prf} %<+rexx-prf>\ProvidesFile{listings-rexx.prf} -%<-config> [2024/05/25 1.10b listings language file] +%<-config> [2024/09/23 1.10c listings language file] % \end{macrocode} % % diff --git a/macros/latex/contrib/listings/lstdrvrs.pdf b/macros/latex/contrib/listings/lstdrvrs.pdf Binary files differindex 0315d2cad2..51d045113b 100644 --- a/macros/latex/contrib/listings/lstdrvrs.pdf +++ b/macros/latex/contrib/listings/lstdrvrs.pdf |