diff options
author | Norbert Preining <norbert@preining.info> | 2022-09-30 03:01:38 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-09-30 03:01:38 +0000 |
commit | d3a49f9b97d78b3719e84b2e704c59f0491190d5 (patch) | |
tree | bd50be75a1198c8104d7d3aa428106844ac69ad6 /macros/latex/contrib | |
parent | d7ca45f66f34e5ca724a739f420c99a7c9960a89 (diff) |
CTAN sync 202209300301
Diffstat (limited to 'macros/latex/contrib')
106 files changed, 813 insertions, 375 deletions
diff --git a/macros/latex/contrib/abntexto/README b/macros/latex/contrib/abntexto/README index 1ca1cc0bee..48f906c50f 100644 --- a/macros/latex/contrib/abntexto/README +++ b/macros/latex/contrib/abntexto/README @@ -1,7 +1,8 @@ Public Domain Software -2022-09-25 -1.0.0-alpha +2022-09-29 +1.1.0-alpha Elayson -elaysonabreu@gmail.com +abntexto dot classe at gmail dot com -abntexto is a LaTeX class for the elaboration of academic works according to the guidelines of the Associação Brasileira de Normas Técnicas (ABNT).
\ No newline at end of file +The abntexto is a LaTeX class for the elaboration of academic works according +to the guidelines of the Associação Brasileira de Normas Técnicas (ABNT).
\ No newline at end of file diff --git a/macros/latex/contrib/abntexto/abntexto-manual.pdf b/macros/latex/contrib/abntexto/abntexto-manual.pdf Binary files differindex 236d447268..a2282e2fd7 100644 --- a/macros/latex/contrib/abntexto/abntexto-manual.pdf +++ b/macros/latex/contrib/abntexto/abntexto-manual.pdf diff --git a/macros/latex/contrib/abntexto/abntexto-manual.tex b/macros/latex/contrib/abntexto/abntexto-manual.tex index 2038eed5d1..20ecc91f12 100644 --- a/macros/latex/contrib/abntexto/abntexto-manual.tex +++ b/macros/latex/contrib/abntexto/abntexto-manual.tex @@ -4,20 +4,24 @@ \usepackage[brazil]{babel} \usepackage[T1]{fontenc} -\usepackage[varqu,varl,scale=0.85]{inconsolata} -\usepackage[matchlowercase]{tgheros} \renewcommand\familydefault\sfdefault +\usepackage[scale=0.85]{inconsolata} +\usepackage[matchlowercase]{tgheros} \def\familydefault{\sfdefault} \usepackage{lipsum} \def\lip{\lipsum[1][1-2]} \usepackage{graphicx} \usepackage{xcolor} +\usepackage[style=abnt]{biblatex} \addbibresource{abntexto.bib} \usepackage[colorlinks]{hyperref} +%\let\href=\relax -% MARKUP DEFS +% MARKUP % ================================================ -\def\cs#1{{\ttfamily \string#1}} -\def\meta#1{\textsf{⟨\textit{\fontseries{c}\selectfont #1}⟩}} % ⟨#1⟩ -\def\cc#1{{\ttfamily \{\meta{#1}\}}} -\def\kk#1{{\ttfamily [\meta{#1}]}} +\def\ttnoligs{\ttfamily\@noligs} + +\def\cs#1{{\ttnoligs \string#1}} +\def\meta#1{{\ttnoligs <#1>}} % ⟨⟩ +\def\cc#1{{\ttnoligs \{\meta{#1}\}}} +\def\kk#1{{\ttnoligs [\meta{#1}]}} \def\arg{\cc{arg}} \def\opt{\kk{opt}} @@ -27,51 +31,50 @@ \def\opti{\kk{opti}} \def\optii{\kk{optii}} \def\optiii{\kk{optiii}} -\def\ccval#1{{\ttfamily \{#1\}}} -\def\kkval#1{{\ttfamily [#1]}} -\def\cls#1{\textsf{\textit{#1}}} -\def\pkg#1{\texttt{#1}} +\def\ccval#1{{\ttnoligs \{#1\}}} +\def\kkval#1{{\ttnoligs [#1]}} +\def\pkg#1{{\ttnoligs #1}} % VERBATIM % ================================================ \def\adef#1{\catcode`#1=13 \begingroup \lccode`\~=`#1\lowercase{\endgroup\def~}} \def\dodef#1{\catcode`#1=12 } -\def\verbcatcodes{\let\do=\dodef \dospecials\obeyspaces\catcode`\%=14 } +\def\verbcatcodes{\let\do=\dodef \dospecials \catcode`\%=14 \catcode`\|=0 } -\long\def\verbon{\par\begingroup \verbcatcodes - \catcode`\|=0 % escape char - \adef\^^I{\space\space\space\space}\adef\^^M{\par\leavevmode}% +\long\def\verbon{\par\begingroup \verbcatcodes\obeyspaces + \adef\^^I{\space\space\space}% + \adef\^^M{\par\leavevmode}% \startverb } {\catcode`\|=0 \catcode`\\=12 - |long|gdef|startverb#1\verboff{|verbbox{#1}|par|endgroup |verbreset} + |gdef|startverb#1\verboff{|verbbox{#1}|par|endgroup |verbreset} } \def\verbbox#1{\def\tnba@placewidth{\hsize \advance\hsize-3cm}% - \ifx\tnba@savedplace\empty \else \vskip\placeabovespace \fi + \ifx\tnba@savedplace\empty\else\vskip\placeabovespace\fi \parindent=0pt \ifx\tnba@savedplace\empty\else\tnba@makelegend\fi - \nobreak\par\nointerlineskip \kern10pt + \nobreak\nointerlineskip\vskip10pt {\verbfont{#1}}% - \nobreak\nointerlineskip - \ifx\tnba@savedsrc\empty \else \tnba@makesrc \vskip\placebelowspace \fi + \nobreak\nointerlineskip\vskip8pt + \ifx\tnba@savedsrc\empty\else\tnba@makesrc\vskip\placebelowspace\fi } \def\verbreset{% \let\tnba@savedplace=\empty \let\tnba@savedlegend=\empty \let\tnba@savedsrc=\empty - \let\@currentlabel=\relax + \let\@currentlabel=\empty } -\long\def\verbfont{\raggedright\leftskip=6pt \singlesp\ttfamily\@noligs\leftframed} +\def\verbfont{\raggedright\leftskip=6pt\singlesp\ttnoligs\leftframed} \long\def\leftframed#1{\setbox0=\vtop{#1}% \hbox{{\color{graybar}\kern1.5cm\vrule width1pt}\box0}% } -% PERSONAL DEFS +% MISC % ================================================ -\sizeselectordef\large{14pt}{17pt} -\sizeselectordef\Large{22pt}{25pt} +\sizeselectordef\large{14.4pt}{17pt} +\sizeselectordef\Large{20.74pt}{25pt} \sizeselectordef\LARGE{25pt}{30pt} \definecolor{graybar}{gray}{0.75} @@ -87,6 +90,9 @@ \clubpenalty=10000 \widowpenalty=10000 +\let\cite=\textcite +\def\appendixlabelwidth{7em} + \makeatother @@ -99,12 +105,12 @@ abntexto\\[0.4em] \Large\itshape\mdseries Classe para {\upshape\LaTeX}\\[2em] \normalfont\large Elayson\\[1ex] - \href{mailto:elaysonabreu@gmail.com}{elaysonabreu@gmail.com}\\[2.5ex] + \href{mailto:abntexto.classe@gmail.com}{abntexto dot classe at gmail dot com}\\[2.5ex] \today\par} \vskip3in -{\centering \large\ttfamily 1.0.0-alpha\par} +{\centering \large\ttfamily 1.1.0-alpha\par} \newpage @@ -114,17 +120,17 @@ \section{Apresentação} -O \cls{abntexto} é uma classe do \LaTeX\ criada para facilitar a utilização das normas da Associação Brasileira de Normas Técnicas (ABNT) em trabalhos acadêmicos (monografias, dissertações, teses). +O \pkg{abntexto} é uma classe do \LaTeX\ criada para facilitar a utilização das normas da Associação Brasileira de Normas Técnicas (ABNT) em trabalhos acadêmicos (monografias, dissertações, teses). -Este \emph{não} é um manual sobre \LaTeX\ (ou \TeX, a ferramenta que o constitui) nem tampouco uma descrição detalhada sobre as normas ABNT. Para aprender sobre \LaTeX\ leia \href{https://www.ctan.org/pkg/latex-via-exemplos}{\LaTeXe\ Via Exemplos} ou \href{https://www.ctan.org/pkg/latex2e-help-texinfo}{\LaTeXe: An unofficial reference manual}, disponível também em francês. Além disso, também se pode ler \href{https://www.ctan.org/pkg/texbytopic}{\TeX\ by Topic} para aprender sobre o sistema \TeX. +Este \emph{não} é um manual sobre \LaTeX\ (ou \TeX, a ferramenta que o constitui) nem tampouco uma descrição detalhada sobre as normas ABNT. Para aprender sobre \LaTeX\ leia \cite{viaexemplos} ou \cite{latex2eunnoficial}, disponível também em francês. Além disso, também se pode ler \cite{texbytopic} para aprender sobre o sistema \TeX\footnote{Note que os livros referenciados não foram realmente citados e isso não é aceito na Norma, no entanto este não é um trabalho acadêmico real, mas um manual.}. -Já existe uma classe para aplicação das normas ABNT cujo nome é \cls{abntex2}. Mas, diferente desta, o \cls{abntexto} não depende do \cls{memoir}, uma classe de código-fonte e manual extensos e que implementa funções as quais, em sua maioria, não são pertinentes a um documento que use as diretrizes da ABNT. +Já existe uma classe para aplicação das normas ABNT cujo nome é \pkg{abntex2}. Mas, diferente desta, o \pkg{abntexto} não depende do \pkg{memoir}, uma classe de código-fonte e manual extensos e que implementa funções as quais, em sua maioria, não são pertinentes a um documento que use as diretrizes da ABNT. -As normas ABNT as quais o \cls{abntexto} se propõe a seguir são aquelas em vigor até o momento da criação deste manual. +As normas ABNT as quais o \pkg{abntexto} se propõe a seguir são aquelas em vigor até o momento da criação deste manual. \section{Chamando a classe} -Digite as linhas em \ref{vb:início} e use \cls{abntexto}. +Digite as linhas em \ref{vb:início} e use \pkg{abntexto}. \legend{verb}{Início} \src\me \label{vb:início} @@ -209,13 +215,13 @@ Use o ambiente \cs{topics} para criar alíneas. Ele dispõe de dois níveis send \label{vb:topics} \verbon \begin{topics} - \item \label{alínea:x} 1 + \item \label{al:x} 1 \begin{topics} \item x \item y \item z \end{topics} - \item \label{alínea:y} 2 + \item \label{al:y} 2 \item 3 \end{topics}% \verboff @@ -241,11 +247,19 @@ Use \cs\place\ para inserir áreas de legenda como mostrado em \ref{vb:place}. M \section{Formatação de {\ttfamily\protect\textbackslash cite} e referências} -Até o momento esta classe não possui macros para formatação de \cs\cite\ e referências. Utilize \cs{\usepackage\{abnt2cite\}} ou \cs{\usepackage[style=abnt]\{biblatex\}}. +Até o momento o \pkg{abntexto} não possui macros para formatação de \cs\cite\ e referências. Utilize \cs{\usepackage\{abnt2cite\}} ou \cs{\usepackage[style=abnt]\{biblatex\}}. \section{Citações} -Para inserir aspas em citações diretas use \cs\qt\cc{texto}. Mas, se tratando de citações diretas com mais de três linhas, alterne para \cs\quote\ccval{enquoted text \cs\cite\cc{key}}. +Para inserir aspas em citações diretas use \cs\qt\ccval{texto}. Mas, se tratando de citações diretas com mais de três linhas, alterne para \cs\quote\ccval{texto \cs\cite\cc{key}}. + +\newpage + +{\def\section#1#2{\heading{#2}}% + \printbibliography\par} + +\newpage +\appendix \section{Código-fonte} diff --git a/macros/latex/contrib/abntexto/abntexto.bib b/macros/latex/contrib/abntexto/abntexto.bib new file mode 100644 index 0000000000..84b0e4d98d --- /dev/null +++ b/macros/latex/contrib/abntexto/abntexto.bib @@ -0,0 +1,25 @@ +@book{texbytopic, +author = {Viktor Eijkhout}, +title = {\TeX\ by topic: a \TeX nician’s reference}, +location = {England}, +publisher = {Addison-Wesley}, +date = {1992}, +url = {https://www.ctan.org/pkg/texbytopic}, +urldate = {2022-09-28} +} +@book{viaexemplos, +author = {Sadao Massago}, +title = {\LaTeXe\ Via Exemplos}, +location = {São Paulo}, +date = {2022-05-17}, +url = {https://www.ctan.org/pkg/latex-via-exemplos}, +urldate = {2022-09-28} +} +@book{latex2eunnoficial, +author = {Torsten Martinsen and Stephen Gilmore and Karl Berry}, +title = {\LaTeXe: An unofficial reference manual}, +date = {2022-05}, +url = {https://www.ctan.org/pkg/latex2e-help-texinfo}, +urldate = {2022-09-28} +} + diff --git a/macros/latex/contrib/abntexto/abntexto.cls b/macros/latex/contrib/abntexto/abntexto.cls index 09e3cf9750..9fa14dca86 100644 --- a/macros/latex/contrib/abntexto/abntexto.cls +++ b/macros/latex/contrib/abntexto/abntexto.cls @@ -1,8 +1,24 @@ %! Public Domain Software -%! 2022-09-25 -%! 1.0.0-alpha +%! 2022-09-29 +%! 1.1.0-alpha %! Elayson -%! elaysonabreu@gmail.com +%! abntexto dot classe at gmail dot com + +% ANNOUNCEMENT + +% The implementation of legend areas has been improved. + +% Inclusion of the \appendix and \annex macros. + +% Removal of \noprotrusion and \extfile macros. + +% Better compatibility with the hyperref package. + +% The functionality of topics has been improved. + +% Footnotes have been adjusted according to the Standard. + +% Additions to the manual. %! SUMÁRIO @@ -15,6 +31,7 @@ %! ALÍNEAS %! TABELAS %! ÁREAS DE LEGENDA +%! NOTAS DE RODAPÉ %! UTILIDADES %! IDENTIFICAÇÃO DO TRABALHO %! PATCHS, HOOKS @@ -23,26 +40,17 @@ % |sec PRÉ-CONFIGURAÇÕES % !======================================================= -% Identificação do formato |TeX| e da classe. Apenas o pacote |pkg=keyval= é carregado nesta classe. +% Identificação do formato |TeX| e da classe. Apenas o pacote |pkg keyval | é carregado no |pkg abntexto . % |bcode !------------------------------------------------ \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{abntexto}[2022-09-25 1.0.0-alpha Preparation of works in ABNT standards] +\ProvidesClass{abntexto}[2022-09-29 1.1.0-alpha Preparation of works in ABNT standards] \RequirePackage{keyval} % |ecode !------------------------------------------------ -% Macros auxiliares e sistema |dest=<key|eq val>=. - -\ifx\csstring\undefined - \def\tnba@csstring#1{\expandafter\tnba@csstringA\string#1//} - \def\tnba@csstringA#1#2//{#2} -\else - \let\tnba@csstring=\csstring -\fi - -% Definição do sistema |dest=keyval= e de um comando de |dest=debug=. +% Definição do sistema |emph chave|eq%valor | e de um comando de |emph debug . % |bcode !------------------------------------------------ \def\tnba@keyprefix{tnba} @@ -52,36 +60,24 @@ \def\tnba@setmacrokeys#1{\setkeys{\tnba@keyprefix @#1}} \def\advancecount#1{\global\advance#1by1 } -\edef\tnba@bslash{\tnba@csstring\\} -\def\tnba@addto#1#2{\expandafter\def\expandafter#1\expandafter {#1#2}} +\def\tnba@addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}} \def\tnba@tobdocument{\tnba@addto\tnba@bdocumenthook} -\AddToHook{begindocument}{\def\tnba@bdocument{}} +\let\tnba@bdocumenthook=\empty +\AddToHook{begindocument}{\def\tnba@inbody{}\tnba@bdocumenthook} \def\tnba@error{\ClassError{abntexto}} % |ecode !------------------------------------------------ -% |sec FONTES -% !================================================ - -\def\tnba@inputfonts#1{\@namedef{tnba@fonts@#1}} - -\tnba@inputfonts{Latin Modern}{\usepackage{amssymb,lmodern,bm}} - -\tnba@inputfonts{helvetica-clone}{\def\sfdefault{qhv}\def\familydefault{\sfdefault}} -\tnba@inputfonts{palatino-clone}{\usepackage{newpxtext,newpxmath,bm}} -\tnba@inputfonts{timesnewroman-clone}{\usepackage{newtxtext,newtxmath,bm}} - -\def\fonts#1{\ifcsname tnba@fonts@#1\endcsname - \csname tnba@fonts@#1\endcsname \else - \tnba@error{Fonte *#1* desconhecida}\relax \fi -} +% |sec FONTE TIPOGRÁFICA +% !======================================================= -% Apenas o tamanho 12|,pt está definido. Defina outros usando |cs=fontsizedef=|metac=size=|metac=defs=. +% Apenas o tamanho 12|,pt está definido. Defina outros usando |cs fontsizedef |metac size |metac defs . % |bcode !------------------------------------------------ \def\fontsizedef#1#2{\@namedef{tnba@fontsize@#1}{#2}} \def\sizeselectordef#1#2#3{\DeclareRobustCommand#1{\@setfontsize#1{#2}{#3}}} +\def\normalsizedef#1#2{\def\normalsize{\@setfontsize\normalsize{#1}{#2}}} \def\setfontsize#1{\ifcsname tnba@fontsize@#1\endcsname \def\tnba@setfontsizehook{\csname tnba@fontsize@#1\endcsname} \else \let\normalsize=\relax @@ -89,9 +85,8 @@ } \AddToHook{begindocument/before}{\tnba@setfontsizehook} -% |ecode !------------------------------------------------ -\def\spacing#1{\ifx\tnba@bdocument\undefined +\def\spacing#1{\ifx\tnba@inbody\undefined \def\tnba@spacinghook{\tnba@spacing{#1}} \else \tnba@spacing{#1}\fi \ignorespaces } @@ -102,10 +97,12 @@ \def\doublesp{\spacing{2}} \AddToHook{begindocument}{\csname tnba@spacinghook\endcsname} +% |ecode !------------------------------------------------ -% LAYOUT -% ================================================ +% |sec |emph LAYOUT +% !======================================================= +% |bcode !------------------------------------------------ \def\tnba@keyfamily{paper} \def\papersizedef#1(#2,#3){\def\tnba@keyfamily{paper}% @@ -136,7 +133,7 @@ \advance\headsep-\fontcharht\font`1 \ifx\pdfpagewidth\undefined \ifx\pagewidth\undefined - \tnba@error{O comando \tnba@bslash paper só suporta saída em PDF. Use o formato PDF ou carregue o pacote *geometry*}\expandafter\enddocument\relax \else + \tnba@error{O comando \@backslashchar paper só suporta saída em PDF. Use o formato PDF ou carregue o pacote *geometry*}\expandafter\enddocument\relax \else \horigin=0pt \vorigin=0pt \pagewidth=\paperwidth @@ -158,7 +155,9 @@ \ifx\tnba@twoside\undefined \else \csname @twoside\tnba@twoside\endcsname \fi } +% |ecode !------------------------------------------------ +% |bcode !------------------------------------------------ \def\pretextual{\paper{twoside=false}% \let\@oddhead=\empty \let\@evenhead=\empty @@ -173,13 +172,13 @@ \justifying \parindent=1.5cm } +% |ecode !------------------------------------------------ -% SUMÁRIO -% ================================================ +% |sec SUMÁRIO +% !======================================================= +% |bcode !------------------------------------------------ \def\thepage{\the\c@page} -\def\noprotrusion{\kern-1pt\kern1pt} -\def\extfile#1{\@starttoc{#1}} \def\extline#1#2#3#4{% \begingroup @@ -187,7 +186,7 @@ \extlineshape \hskip-\leftskip {#3}\nobreak \leaders\hbox{$\m@th \mkern4.5mu\hbox{.}\mkern4.5mu$}\hfil\nobreak - \hbox to1.55em{\hss #4\noprotrusion}\par + \hbox to1.55em{\hss #4\kern-1pt\kern1pt}\par \endgroup } \def\extlineshape{% @@ -204,7 +203,7 @@ \usetocifont \nobreak \extlineshape \hskip-\leftskip \maybeuctoc{#1}\nobreak\hfil\nobreak - \hbox to1.55em{\hss #2\noprotrusion}\par + \hbox to1.55em{\hss #2\kern-1pt\kern1pt}\par \endgroup } \def\l@subsection {\extline{toc}{2}} @@ -217,10 +216,12 @@ \def\tociiifont#1{\def\usetociiifont{#1}} \def\tocivfont#1{\def\usetocivfont{#1}} \def\tocvfont#1{\def\usetocvfont{#1}} +% |ecode !------------------------------------------------ -% SECIONAMENTO -% ================================================ +% |sec SECIONAMENTO +% !======================================================= +% |bcode !------------------------------------------------ \def\tnba@nbpar{\interlinepenalty=10000\par} \def\noindentfirst{\global\everypar={\tnba@wipeepar \setbox7=\lastbox}} \def\tnba@wipeepar{\global\everypar={}} @@ -236,7 +237,9 @@ \ifdim\savedlastskip>\dimen0 \vskip\savedlastskip \else #2\fi } \def\smartbelowskip#1{#1\global\savedtitleskip=\lastskip \penalty11333} +% |ecode !------------------------------------------------ +% |bcode !------------------------------------------------ \newcount\sectioncount \newcount\subsectioncount \newcount\subsubsectioncount @@ -254,12 +257,16 @@ \def\subsubsectionmark#1{} \def\paragraphmark#1{} \def\subparagraphmark#1{} +% |ecode !------------------------------------------------ +% |bcode !------------------------------------------------ \def\section#1{\par \smartaboveskip{\penalty351}{\vskip\sectionabove}\noindent \advancecount\sectioncount + \def\@currentlabel{seção~\thesection}% \setbox0=\hbox{\usesectionfont \thesection\quad}% {\usesectionfont \hangindent=\wd0 \box0 \maybeucsec{#1}\tnba@nbpar}% % \noindentfirst + \hreftocline{section}% \addcontentsline{toc}{section}{\protect\extlabelbox{\thesection\hss}#1}% \nobreak \smartbelowskip{\vskip\sectionbelow}% } @@ -268,6 +275,7 @@ \setbox0=\hbox{\usesubsectionfont \thesubsection\quad}% {\usesubsectionfont \hangindent=\wd0 \box0 #1\tnba@nbpar}% % \noindentfirst + \hreftocline{subsection}% \addcontentsline{toc}{subsection}{\protect\extlabelbox{\thesubsection\hss}#1}% \nobreak \smartbelowskip{\vskip\subsectionbelow}% } @@ -276,6 +284,7 @@ \setbox0=\hbox{\usesubsubsectionfont \thesubsubsection\quad}% {\usesubsubsectionfont \hangindent=\wd0 \box0 #1\tnba@nbpar}% % \noindentfirst + \hreftocline{subsubsection}% \addcontentsline{toc}{subsubsection}{\protect\extlabelbox{\thesubsubsection\hss}#1}% \nobreak \smartbelowskip{\vskip\subsubsectionbelow}% } @@ -284,6 +293,7 @@ \setbox0=\hbox{\useparagraphfont \theparagraph\quad}% {\useparagraphfont \hangindent=\wd0 \box0 #1\tnba@nbpar}% % \noindentfirst + \hreftocline{paragraph}% \addcontentsline{toc}{paragraph}{\protect\extlabelbox{\theparagraph\hss}#1}% \nobreak \smartbelowskip{\vskip\paragraphbelow}% } @@ -292,17 +302,23 @@ \setbox0=\hbox{\subsubparagraphfont \thesubparagraph\quad}% {\usesubparagraphfont \hangindent=\wd0 \box0 #1\tnba@nbpar}% % \noindentfirst + \hreftocline{subparagraph}% \addcontentsline{toc}{subparagraph}{\protect\extlabelbox{\thesubparagraph\hss}#1}% \nobreak \smartbelowskip{\vskip\subparagraphbelow}% } \def\heading#1{\noindent {\usesectionfont \centering \maybeucsec{#1}\tnba@nbpar}% -% \noindentfirst \nobreak \vskip\sectionbelow -% \addcontentsline{toc}{section}{\hbox to\extlabelwidth{}\maybeuctoc{#1}}% } +\def\hreftocline#1{\Hy@MakeCurrentHrefAuto{#1}% + \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}% +} +\tnba@tobdocument{\ifx\hypertarget\undefined \let\hreftocline=\@gobble \fi} +% |ecode !------------------------------------------------ + +% |bcode !------------------------------------------------ \def\tociuppercase{\def\maybeuctoc{\MakeUppercase}} \def\tocilowercase{\let\maybeuctoc=\relax} \def\sectionuppercase{\def\maybeucsec{\MakeUppercase}} @@ -319,27 +335,61 @@ \def\subsubsectionspaces#1#2{\def\subsubsectionabove{#1}\def\subsubsectionbelow{#2}} \def\paragraphspaces#1#2{\def\paragraphabove{#1}\def\paragraphbelow{#2}} \def\subparagraphspaces#1#2{\def\subparagraphabove{#1}\def\subparagraphbelow{#2}} +% |ecode !------------------------------------------------ + +% |bcode !------------------------------------------------ +\newcount\appendixcount +\newcount\annexcount + +\def\theappendix{\@Alph\appendixcount} +\def\theannex{\@Alph\annexcount} +\def\appendixlabelwidth{8em} +\def\annexlabelwidth{6.2em} + +\def\l@appendix{% + \let\extlabelwidth=\appendixlabelwidth + \def\extlabelbox##1{\hbox to\extlabelwidth{Apêndice~##1~---~\hfil}}% + \l@section +} +\def\l@annex{% + \let\extlabelwidth=\annexlabelwidth + \def\extlabelbox##1{\hbox to\extlabelwidth{Anexo~##1~---~\hfil}}% + \l@section +} + +\def\appendix{\def\section##1{\noindent \advance\appendixcount by1 + {\usesectionfont \centering \maybeucsec{Apêndice~\theappendix~---~##1}\tnba@nbpar}% + \addcontentsline{toc}{appendix}{\protect\extlabelbox{\theappendix}##1}% + \nobreak \vskip\sectionbelow + }% +} +\def\annex{\def\section##1{\noindent \advance\annexcount by1 + {\usesectionfont \centering \maybeucsec{Anexo~\theannex~---~##1}\tnba@nbpar}% + \addcontentsline{toc}{annex}{\protect\extlabelbox{\theannex}##1}% + \nobreak \vskip\sectionbelow + }% +} +% |ecode !------------------------------------------------ -% CITAÇÕES -% ================================================ +% |sec CITAÇÕES +% !======================================================= +% |bcode !------------------------------------------------ \def\qt#1{``#1''} \def\quote#1{\smartaboveskip{\penalty351}{\vskip\baselineskip}% -\hfill\vtop{\advance\hsize-4cm \noindent\small #1\getprev}\useprev + \hbox to\hsize{\hfil\vtop{\advance\hsize-4cm \noindent\small #1\getprev}}\useprev \smartbelowskip{\vskip\baselineskip}% } +% |ecode !------------------------------------------------ -% ALÍNEAS -% ================================================ +% |sec ALÍNEAS +% !======================================================= +% |bcode !------------------------------------------------ \newcount\topicsdepth \newcount\topicscount -\def\topicsindenti{\advance\leftskip\topicslabelwidth} -\def\topicsindentii{\advance\leftskip\topicslabelwidth \advance\leftskip\topicslabelwidth} -\def\topicslabelwidth{4ex} - \def\topicsitem{\par\leavevmode\noindent \advance\topicscount by1 \def\@currentlabel{alínea~\@alph\topicscount )}% \kern\dimexpr-\parindent-\topicslabelwidth\relax @@ -350,23 +400,26 @@ \def\topicslabelii{---} \def\topics{\par \advance\topicsdepth by1 - \leftskip=\parindent - \csname topicsindent\romannumeral\topicsdepth\endcsname + \ifnum\topicsdepth=1 \advance\leftskip\parindent \fi + \advance\leftskip\topicslabelwidth \edef\topicsmakelabel{\expandafter\noexpand\csname topicslabel\romannumeral\topicsdepth\endcsname}% \let\item=\topicsitem \tnba@addto\@esphack\ignorespaces } - \let\endtopics=\par +% |ecode !------------------------------------------------ % |sec TABELAS -% ! ================================================ +% !======================================================= +% |bcode !------------------------------------------------ \newenvironment{table}[1]{\begin{tabular}{#1}}{\end{tabular}} +% |ecode !------------------------------------------------ -% ÁREAS DE LEGENDA -% ================================================ +% |sec ÁREAS DE LEGENDA +% !======================================================= +% |bcode !------------------------------------------------ %\long\def\@makecaption#1#2{\sbox0{#1~—~#2}% % \ifdim\wd0>\hsize % #1~—~#2\par \else @@ -389,24 +442,28 @@ % \@nameedef{ftype@#1}{\the\numexpr\tnba@lastplacenum+1} % \@namedef{fnum@#1}{\csname #1name\endcsname ~\csname the#1\csname} } +% |ecode !------------------------------------------------ -\def\tnba@makelegend{\advancecount{\csname c@\tnba@savedplace\endcsname}% - \hfil \hbox{\vtop{\setbox0=\hbox{\legendlabel \tnba@savedlegend}% +% |bcode !------------------------------------------------ +\def\tnba@makelegend{\hbox to\hsize{\hfil\tnba@makelegendA\hfil}} +\def\tnba@makelegendA{\advancecount{\csname c@\tnba@savedplace\endcsname}% + \vtop{\setbox0=\hbox{\legendlabel \tnba@savedlegend}% \ifdim\wd0>\legendmaxwidth \hsize=\legendmaxwidth \else \hsize=\wd0 \fi - \setbox0=\hbox{\legendlabel}\legendlabel - \vtop{\advance\hsize-\wd0 \tnba@savedlegend}% - }}% + \legendlabel + \vtop{\setbox0=\hbox{\legendlabel}\advance\hsize-\wd0 \tnba@savedlegend}% + }% \addcontentsline{\csname ext@\tnba@savedplace\endcsname}% - {\tnba@savedplace}% - {\protect\extlabelbox\thelegend \tnba@savedlegend}% + {\tnba@savedplace}% + {\protect\extlabelbox\thelegend \tnba@savedlegend}% } -\def\tnba@makesrc{\vskip8pt - \hfil \hbox{\vtop{\hsize=\tnba@placewidth - \setbox0=\hbox{\srclabel}\srclabel - \vtop{\advance\hsize-\wd0 \tnba@savedsrc\getprev}% - }}\useprev + +\def\tnba@makesrc{\hbox to\hsize{\hfil\tnba@makesrcA\hfil}\useprev} +\def\tnba@makesrcA{\vtop{\hsize=\tnba@placewidth \srclabel + \vtop{\setbox0=\hbox{\srclabel}\advance\hsize-\wd0 \tnba@savedsrc \getprev}}% } +% |ecode !------------------------------------------------ +% |bcode !------------------------------------------------ \def\legend#1#2{% \ifdim\lastskip<0pt \else \ifnum\lastpenalty=11333 \vskip-\placeabovespace \else @@ -425,33 +482,49 @@ \def\tnba@savedsrc{#1}% } \def\srcname{Fonte} +% |ecode !------------------------------------------------ -\def\placespaces#1#2{\def\placeabovespace{#1}\def\placebelowspace{#2}} - +% |bcode !------------------------------------------------ \let\tnba@savedplace=\empty \let\tnba@savedlegend=\empty \let\tnba@savedsrc=\empty -\long\def\place#1{% - \ifx\tnba@savedplace\empty \else \vskip\placeabovespace \fi - \begingroup \setbox0=\hbox{\ignorespaces#1}\edef\tnba@placewidth{\the\wd0}% +\long\def\place#1{\setbox0=\hbox{\ignorespaces#1}\edef\tnba@placewidth{\the\wd0}% + \vskip\placeabovespace + \begingroup \parindent=0pt - \ifx\tnba@savedplace\empty\else\tnba@makelegend\fi - \nobreak\par\nointerlineskip - \hbox to\hsize{\hss\box0\hss}% - \nobreak\par\nointerlineskip - \ifx\tnba@savedsrc\empty \else \tnba@makesrc \vskip\placebelowspace \fi -\par + \ifx\tnba@savedplace\empty\else\tnba@makelegend\fi + \nointerlineskip\nobreak\vskip10pt + \hbox to\hsize{\hfil\box0\hfil}% + \nointerlineskip\nobreak\vskip8pt + \tnba@makesrc + \vskip\placebelowspace \endgroup \let\tnba@savedplace=\empty \let\tnba@savedlegend=\empty \let\tnba@savedsrc=\empty - \let\@currentlabel=\relax + \let\@currentlabel=\empy } +\def\placespaces#1#2{\def\placeabovespace{#1}\def\placebelowspace{#2}} +% |ecode !------------------------------------------------ + +% |sec NOTAS DE RODAPÉ +% !======================================================= + +% As notas de rodapé também foram modificadas. -% UTILIDADES -% ================================================ +% |bcode !------------------------------------------------ +\let\footnotesize=\relax +\def\@makefnmark{\hbox{\@textsuperscript{\selectfont\@thefnmark}}} +\def\@makefntext#1{\leavevmode \setbox0=\hbox{\@makefnmark\kern2pt}% +\hangindent=\wd0 \box0 \small #1} +\def\footnoterule{\kern18pt\hrule width5cm\kern2.6pt} +% |ecode !------------------------------------------------ + +% |sec UTILIDADES +% !======================================================= +% |bcode !------------------------------------------------ \def\getprev{\par\xdef\tnba@getprevA{\the\prevdepth}} \def\useprev{\par\prevdepth=\tnba@getprevA} @@ -468,10 +541,12 @@ \def\tnba@EnterS[#1]{\vskip#1\baselineskip} \def\twonewpage{\newpage\leavevmode\newpage} +% |ecode !------------------------------------------------ -% IDENTIFICAÇÃO DO TRABALHO -% ================================================ +% |sec IDENTIFICAÇÃO DO TRABALHO +% !======================================================= +% |bcode !------------------------------------------------ %\long\def\indexcarddebug#1{\hbox{\vrule\vbox to7.5cm{\hsize=\hsize %\advance\hsize-2cm \advance\hsize-0.8pt % \hrule\indexcardA{#1}\vss\indexcardbar\hrule}\vrule}% %} @@ -487,14 +562,15 @@ \def\indexcardbar{\hrule\kern1cm} \def\judgeline#1{\par{\centering \rule{.7\linewidth}{.6pt}\\ #1\Enter[1.5]}} +% |ecode !------------------------------------------------ -% |sec ? -% ! ================================================ +% |sec A VÍRGULA COMO SEPARADOR DECIMAL +% !======================================================= +% |bcode !------------------------------------------------ {\catcode`,=\active \gdef,{\futurelet\next\tnba@smartcomma} } - \def\tnba@smartcomma{% \ifx\next\@sptoken \else \ifx\next\space \else \mathord \fi\fi @@ -503,20 +579,23 @@ \mathchardef\tnba@mathcomma\mathcode`\, \mathcode`\,="8000 +% |ecode !------------------------------------------------ +% |bcode !------------------------------------------------ \ifx\XeTeXversion\undefined \AddToHook{begindocument/before}{ \let\tnba@hyper@linkstart=\hyper@linkstart \protected\def\hyper@linkstart#1#2{\lowercase{\tnba@hyper@linkstart{#1}{#2}}} } \fi +% |ecode !------------------------------------------------ % |sec INICIALIZAÇÃO -% ! ================================================ +% !======================================================= % |bcode !------------------------------------------------ \fontsizedef{12pt}{ - \sizeselectordef\normalsize{12pt}{14.5pt} + \normalsizedef{12pt}{14.5pt} \sizeselectordef\small{10pt}{12pt} } \setfontsize{12pt} @@ -568,19 +647,21 @@ \def\makelof{\heading{Lista de figuras} \def\extlabelwidth{12.5ex}% \def\extlabelbox##1{\hbox to\extlabelwidth{Figura ##1 ---\hfil}}% - \extfile{lof}\newpage + \@starttoc{lof}\twonewpage } \def\makelot{\heading{Lista de tabelas} - \def\extlabelwidth{12.5ex} + \def\extlabelwidth{12.5ex}% \def\extlabelbox##1{\hbox to\extlabelwidth{Tabela ##1 ---\hfil}}% - \extfile{lot}\newpage + \@starttoc{lot}\twonewpage } \def\maketoc{\heading{Sumário} - \def\extlabelwidth{4ex} + \def\extlabelwidth{4ex}% \def\extlabelbox##1{\hbox to\extlabelwidth{##1\hfil}}% - \extfile{toc}\newpage + \@starttoc{toc}\newpage } +\def\topicslabelwidth{4ex} + \arrayrulewidth=0.4pt \topskip=12pt diff --git a/macros/latex/contrib/colorframed/README.md b/macros/latex/contrib/colorframed/README.md index 1d5084a71a..be683de121 100644 --- a/macros/latex/contrib/colorframed/README.md +++ b/macros/latex/contrib/colorframed/README.md @@ -1,6 +1,6 @@ -% colorframed 0.9a +% colorframed 0.9b % Jean-François Burnol -% 2022/09/23 +% 2022/10/01 ## Usage @@ -11,20 +11,13 @@ For reporting issues, use the ## Purpose -The initial release fixes colour leak issues which one encounters +The package fixes colour leak issues which one encounters with the environments provided by the [framed](https://ctan.org/pkg/framed) package. -It is planned to extend `colorframed` with one more environment, -based upon [pict2e](https://ctan.org/pkg/pict2e), which will -provide breakable boxes with possibly rounded corners, optional -background colour, external or inset shadow, separate -customizability of the padding separations and border widths in -the four directions, ... - ## Copyright and License -Copyright (c) 2022 Jean-François Burnol +Copyright (C) 2022 Jean-François Burnol The colorframed [CTAN package](https://ctan.org/pkg/colorframed) is distributed under the diff --git a/macros/latex/contrib/colorframed/colorframed-doc.pdf b/macros/latex/contrib/colorframed/colorframed-doc.pdf Binary files differindex 640c47d683..59ad4f5fcd 100644 --- a/macros/latex/contrib/colorframed/colorframed-doc.pdf +++ b/macros/latex/contrib/colorframed/colorframed-doc.pdf diff --git a/macros/latex/contrib/colorframed/colorframed-doc.tex b/macros/latex/contrib/colorframed/colorframed-doc.tex index 3f00ea2706..787d428b91 100644 --- a/macros/latex/contrib/colorframed/colorframed-doc.tex +++ b/macros/latex/contrib/colorframed/colorframed-doc.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper,dvipdfmx,11pt,english]{article} +\documentclass[a4paper,dvipdfmx,10pt,english]{article} \usepackage{babel} \usepackage[T1]{fontenc} \usepackage{geometry} @@ -13,7 +13,9 @@ \colorlet{TFTitleColor}{purple} \def\colorframedTFconlabcolorcommand{\color{purple}} % shaded -\colorlet{shadecolor}{orange!10} +%\colorlet{shadecolor}{orange!10} +\colorlet{shadecolor}{lightgray!25} + % framed \FrameRule5pt\relax \FrameSep9pt\relax % this is framed.sty default anyhow, 3\fboxsep @@ -23,8 +25,8 @@ \title{The \colorframed package% \vadjust{\vtop to 0pt{\hbox - to\linewidth{\strut\footnotesize Release 0.9a of - 2022/09/23\hss report issues at \url{https://github.com/jfbu/colorframed}}\vss}}% + to\linewidth{\strut\footnotesize Release 0.9b of + 2022/10/01\hss report issues at \url{https://github.com/jfbu/colorframed/issues}}\vss}}% } \author{Jean-François Burnol} \date{} @@ -37,6 +39,12 @@ \usepackage{parskip} \usepackage{xspace} +\usepackage{metalogo} +\setlogokern{La}{-0.258em} +\setlogokern{aT}{-0.08em} +\setlogokern{eL}{-0.1em} +%\setlogokern{X2}{0em} +\usepackage{enumitem} \definecolor{joli}{RGB}{225,95,0} \definecolor{JOLI}{RGB}{225,95,0} @@ -44,30 +52,58 @@ \texorpdfstring{{\color{joli}\bfseries colorframed}}{colorframed}\xspace} -{\makeatletter\sbox0{\color{RawSienna}\xdef\foo{\current@color}}} - \edef\verbatimpushcolor{\special{color push \foo}} - \def\verbatimpopcolor{\special{color pop}} +% ATTENTION: dvipdfmx syntax here! +{\makeatletter + \sbox0{\color{RawSienna}% + \xdef\verbatimpushcolor{\special{color push \current@color}}}% +} +\def\verbatimpopcolor{\special{color pop}} \AddToHook{env/verbatim/before}{\verbatimpushcolor} \AddToHook{env/verbatim/end}{\verbatimpopcolor} + +\newcommand\ghissue[2][]{\href{https://github.com/jfbu/colorframed/issues/#2}{#1\##2}} + +\makeatletter + %\show\verbatim@font % pas changé at begin doc + \def\verbatim@font{\normalfont\ttfamily\color{RawSienna}}% +\makeatother + \begin{document} \maketitle +\vskip-1.75\baselineskip + +{\footnotesize +\halign{\tabskip1em\bfseries#\unskip&\hfil(#\unskip)\hfil&#\unskip\hfil\cr +0.9 & 2022/09/22 & initial release\cr +0.9a & 2022/09/23 & doc fixes, mention \ctanpackage{longfbox}\cr +0.9b & 2022/10/01 & - fix "placement of titled-frame title + is not backwards compatible" (\ghissue{2})\cr +\omit&\omit& - |\colorframedTitleBarFrame| as workaround to upstream issues with titled-frame + (\ghissue{3}, \ghissue{4})\cr +\omit&\omit& - add link to \ghissue{5} for usage with list items, other doc improvements + such as \ghissue{1}\cr +}} + +\vskip-\baselineskip\vskip0pt\relax + \section{Description} + This package fixes various colour leaks one encounters with the environments from Donald Arseneau's package \ctanpackage{framed}. Typically, colour leaks occur if using -|\color| (at top level) inside the environments, or more subtly also when -using |\textcolor| with an argument ending up being split at a -page break. +|\color| (at top level or whose scope involves a page break) inside the +environments, or more subtly also when using |\textcolor| with +an argument ending up being split at a page break. This latter type of colour leak (or colour disappearance) is the more challenging one as the fix requires modifications or replacements not only of some of the \ctanpackage{framed}.sty macros (such as its |\CustomFBox|, which \colorframed overwrites) -but also to some \LaTeX2e internals, as some environments of +but also to some \LaTeX{} internals, as some environments of \ctanpackage{framed}.sty rely on usage of |\fbox| or |\colorbox|. -Rather than overwriting internal \LaTeX2e macros such as +Rather than overwriting internal \LaTeX{} macros such as |\@frameb@x| or |\color@b@x|, \colorframed simply replaces |\fbox| and |\colorbox| in the \ctanpackage{framed}.sty environments by appropriate substitutes. @@ -75,14 +111,18 @@ appropriate substitutes. I am aware \ctanpackage{tcolorbox} package documentation explains at least one colour issue which looks similar to those fixed here in \ctanpackage{framed} context, and that the fix overthere uses -an extra colour stack, hence is not xelatex compatible +an extra colour stack, hence is not \XeLaTeX{} compatible currently. The problems are solved here without involving an extra -colour stack, hence the fixes work also with xelatex. +colour stack, hence the fixes work also with \XeLaTeX. \section{The environments from \ctanpackage{framed}} + We refer the reader to \ctanpackage{framed} for the official + documentation and provide here only a few relevant details, + particularly + regarding the `titled-frame' environment. \begin{titled-frame}{A list of the environments from package \ctanpackage{framed}} This list indicates which boxing macros are used in the original, and their replacement. @@ -90,7 +130,7 @@ colour stack, hence the fixes work also with xelatex. % preamble does not work) \halign{\bfseries#\hfil&(#\unskip)~\hfil&#\hfil\cr % - framed & |\fbox| & Replaced by specialization of own \rlap{\string\CustomFBox.}\cr + framed & |\fbox| & Replaced by specialization of own \rlap{\expandafter|\string\CustomFBox|.}\cr % oframed & |\CustomFBox| & \colorframed uses a redefined |\CustomFBox|.\cr % @@ -107,23 +147,64 @@ colour stack, hence the fixes work also with xelatex. leftbar & none & This one does not use any boxing macro.\cr } \end{titled-frame} - -\begin{shaded*} - We refer the reader to \ctanpackage{framed} documentation - and provide here only a few additional details, particularly - regarding the `titled-frame' environment as it is described - in \ctanpackage{framed} documentation more as being a - template than a user-level finalized environment. The above - box gives an example of its use. It is an environment with +The previous box gives an example of use of `titled-frame' environment. + It is an environment with one mandatory argument which provides the title of the frame, which is repeated after a page break with |(cont)| appended. The colours |TFFrameColor| and - |TFTitleColor| must be defined by user. To customize - further one will need to renew the environment definition, - which is left untouched by \colorframed (which modifies - rather |\TitleBarFrame| and |\CustomFBox|). Here is - how this environment is defined inside \ctanpackage{framed}.sty: (code and comments by Donald Arseneau)\par + |TFTitleColor| must have been defined by the user. + \colorframed adds the possibility to colorize separately the continuation + label. For example we used +\begin{verbatim} +\renewcommand\colorframedTFconlabcolorcommand{\color{purple}} +\end{verbatim} + and the default definition of this macro is to do nothing (and then the + symbol obeys the |TFFrameColor|). + +\medskip +% check why topsep influences separation of item 1 and 2 +% it shouldn't? hmm... ah yes I think framed itself uses \topsep... +%\begin{enumerate}[noitemsep,topsep=6pt,font=\normalcolor] +% j'utilise enumitem+noitemsep sinon je vois dans la partie ombrée +% de l'espace supplémentaire au début de l'item (peut-être aussi +% lié à l'emploi du package parskip) +% \colorlet{shadecolor}{lightgray!25} + \begin{footnotesize} +\begin{itemize}[noitemsep,topsep=3pt,% influences strangely item separation + parsep=3pt] +\begin{shaded} +\item +\emph{The current box is an example of \emph{`shaded'} + environment; The + |shadecolor| must have been defined by user. See the + \ghissue[repository issue ]{5} for some comments about how to use + such environment with list items, if the environment is to start + at start of the item, as here. } +\end{shaded} + +\begin{snugshade} +\item \emph{This is an example of \emph{`snugshade'} + environment. It shares with \emph{`shaded'} the usage of |shadecolor|.} +\end{snugshade} + +\begin{snugshade*} +\item \emph{This is an example of \emph{`snugshade*'}.} +\end{snugshade*} + +\begin{snugshade} +\item +% + The `titled-frame' environment was in effect broken in recent \LaTeX\ which + has modified how |\smash| behaves (the continuation label created a blank + line interrupting the framing); \colorframed fixes this infelicity in + passing. + + To customize + further usage of `titled-frame' one must renew its definition, + which is left untouched by \colorframed. + Here is its source from \ctanpackage{framed}.sty: (code and + comments by Donald Arseneau)% \begin{verbatim} % A particular type of titled frame with continuation marks. % Parameter #1 is the title, repeated on each page. @@ -141,122 +222,175 @@ colour stack, hence the fixes work also with xelatex. % could interfere with the width measurement. {\endMakeFramed} \end{verbatim} -% pas de \footnote dans les environnements de framed... -\normalcolor -Side note: this `titled-frame' environment was in effect -broken in recent \LaTeX\ which has modified how |\smash| -behaves; \colorframed fixes this infelicity in passing.\par - -\emph{(the current box is an example of \emph{`shaded*'} environment, next one is with -\emph{`snugshade*'}, both use a \emph{shadecolor} which must be defined by user)} -\par + The continuation label used in the `titled-frame' environment + is |$\blacktriangleright$| + (which despite its name reacts to current text colour setting). + It requires to + the best of the author knowledge loading \ctanpackage{amssymb} or + some other math symbols package and it is up to user to do it. +\end{snugshade} + +% \begin{shaded} % nesting does not work +\begin{framed} +\item +\emph{(one can not nest environments of \ctanpackage{framed}.sty, else we would + have done so here.)} + +\textcolor{blue}{(Here is an attempt to use the {`framed'} environment + around a list item; we can see an unexpected + induced indentation of the + paragraph. And, by the way, there is no {`snugframe'} environment which would + let the border fit not the whole width but only the indented item.)} +\end{framed} +% \end{shaded} % nesting does not work + +\begin{snugshade} +\item To customize the `titled-frame' output, one may simply redefine the + environment via suitable changes e.g. to the setting of |\fboxsep| and + |\fboxrule|. But doing so, one quickly discovers that the layout from + |\TitleBarFrame| has problems (see on this the repository issues \ghissue{3} + and \ghissue{4}). So \colorframed |0.9b| provides + |\colorframedTitleBarFrame|, which can be used as a replacement to + |\TitleBarFrame| in a redefined custom `titled-framed' environment. Check + the source code for comments. This alternative + obeys added customizing + macros whose defaults are shown here: +\begin{verbatim} +% (such \fboxsep should be set by environment itself, like titled-frame does) +\def\colorframedTFtitlesep{\fboxsep}% hor. distance of title from left border +\def\colorframedTFconlabsep{3pt}% hor. distance of continuation label from border +\end{verbatim} + This variant handles differently than its model the horizontal and vertical + placement of the title. It is provided as an exception + to the general rule that this package should take care only of fixing colour + problems (addition of \emph{new} environments may be considered in future, + but fixing existing environments will not be done beyond what is described here). + +\end{snugshade} +\end{itemize} + As was already + mentioned `titled-frame' had been broken some years ago by an + upstream \LaTeX\ change and we did not change it beyond + fixing this problem. The alternative |\colorframedTitleBarFrame| must be + opted-for explicitly by user in a re-definition of `titled-frame' + environment, the default remaining with the problematic + |\TitleBarFrame|. Or the user can do + |\let\TitleBarFrame\colorframedTitleBarFrame| + and use `titled-frame', not a new environment. + \par \end{footnotesize} -\end{shaded*} -% jeudi 22 septembre 2022 à 14:37:08 -% Il se passe des choses très bizarres avec snugshade* ou -% framed en premier après un \item qui me semblent être des -% bugs de framed. Dans Sphinx, je n'ai pas eu ces problèmes, -% au contraire je suis sûr que ça fonctionne avec les -% environnements que j'y ai définis reposant sur framed (et un -% \trivlist en général), j'ai testé plusieurs fois. -% Ce n'est pas induit par colorframed j'ai vérifié sans lui. -%\begin{enumerate} -%\item\relax% {\footnotesize Now testing the `snugshade*' environment.} -\begin{snugshade*} -\leavevmode\color{OliveGreen} - One does not need to dive into the details of the macros - used above to understand intuitively how they are supposed - to influence the final output. To modify this output, - simply redefine this environment with suitable changes. - - Notice in particular that |$\blacktriangleright$| - (which produces $\blacktriangleright$ and acquires thus a colour - despite its name) requires to - the best of my knowledge loading \ctanpackage{amssymb} or - some other math symbols package and it is up to user to do it, if - its usage is kept. -% - The original environment gives to this continuation label the - same colour as the frame. \colorframed adds the - possibility to customize this colour via suitably defining a - macro, like this for example:% le % pour éviter un bug lorsqu'un caractère - % espace est à la fin d'une ligne quasi-pleine, - % je soupçonne bug de TeX que j'ai déjà - % rencontré plusieurs fois, ou peut-être ici un - % problème du \trivlist de verbatim + + + +% The aim of \colorframed regarding \ctanpackage{framed} existing +% code base is strictly limited to fixing the colour leak issues, +% there is no general intent to modify the existing environments of +% \ctanpackage{framed} for them to acquire additional capabilities and +% customizability. + +Already we have mentioned \begin{verbatim} -\renewcommand\colorframedTFconlabcolorcommand{\color{purple}} +\colorframedTFconlabcolorcommand \end{verbatim} -\end{snugshade*} +whose default definition let it expands to nothing at all (the continuation label +then inherits the |TFFrameColor| colour). -\begin{framed} - This is an example of usage of the environment `framed'. +Regarding the `framed' environment, \colorframed adds the +\begin{verbatim} +\colorframedbordercolorcommand +\end{verbatim} +which expands by default to |\normalcolor|. It influences the colour of the +framing done by environment `framed', the original having no such +customizability. Do not redefine it to do nothing, it always should set some +colour, else the borders may display colour loss after a page break. - This environment allows customization of the border width - and of the separation with contents, via |\FrameRule| and - |\FrameSep|, but not of the colour of the border. The - \colorframed version adds this possibility: it is simply a - matter of redefining the |\colorframedbordercolorcommand| - macro, which defaults to |\normalcolor|. - -\footnotesize (|\color{blue}| in source) -\normalsize -\color{blue} - So the current frame was configured using: +For example \begin{verbatim} \setlength{\FrameRule}{5pt} \setlength{\FrameSep}{9pt} -\renewcommand\colorframedbordercolorcommand{\color{red!20}} +\renewcommand\colorframedbordercolorcommand{\color{gray!50}} \end{verbatim} -\begin{footnotesize}\normalcolor +configures the next usage of `framed'. + +\setlength{\FrameRule}{5pt} +\setlength{\FrameSep}{9pt} +\renewcommand\colorframedbordercolorcommand{\color{gray!50}} +\begin{framed} + This environment allows indeed customization of the border width + and of the separation with contents, via |\FrameRule| and + |\FrameSep|. + The length |\FrameSep| influences also `oframed', `shaded', and `shaded*', but `snugshade' and `snugshade*' employ |\fboxsep| rather. - As per |\FrameRule|, it influences `framed' and `oframed' but not - `titled-frame' which simply uses |\fboxrule| for its border width.\par -\end{footnotesize} - The text colour induced from a |\color{blue}| - will not leak out to the frame or to the text following this - environment, even in case of a pagebreak. + |\FrameRule| influences both `framed' and `oframed'. \end{framed} -The aim of \colorframed regarding \ctanpackage{framed} existing -code base is strictly limited to fixing the colour leak issues, -there is not intent to extend the existing environments of -\ctanpackage{framed} with additional capabilities and -customizability: we have mentioned already the two sole -customization additions. +\section{Technicalities, musings about future} -\section{TODO} +\begin{snugshade} +I first developed the analysis of the colour leaks/losses at page breaks with +\ctanpackage{framed} on occasion of some contributions I made to +the \href{https://github.com/sphinx-doc/sphinx}{Sphinx project} and I am +transferring here the gained knowledge. + +The key thing is that the boxes handled by \ctanpackage{framed}.sty may +contain isolated colour push or colour pop. We must make +sure an isolated colour push, if followed by colour changes, +is always followed by paired ones, and never by a colour pop +from a colour command originated "prior" and symmetrically that a sole +colour pop does not follow a yet unpaired colour push from some other +colour command related to the framing. + +This means we can not ever use things such as |\fbox|, |\colorbox| or +|\fcolorbox| (whether or not \ctanpackage{xcolor} is loaded) as they will +cause colour pops after a possibly isolated colour push contained in the +(already boxed) contents which are fetched to them as arguments by +\ctanpackage{framed}.sty internals. We must re-implement them otherwise. +This is what is done here, without touching the \LaTeX\ internal macros +themselves. + +Some portion of the macro file is occupied with the +`titled-frame' environment of \ctanpackage{framed}.sty, which was broken by an +upstream LaTeX change related to |\smash|, and has obvious problems +apart from that. +Further "obvious problems" do exist for the other \ctanpackage{framed}.sty +environments but it is not the matter of this package to fix them. +Perhaps in future another package will be provided based upon the +work here and adding a completely new environment fixing the "obvious +problems" (some of them being simply lack of customizability). The author has developed based upon usage of \ctanpackage{pict2e} breakable boxes with round corners, background colour, optional -shadow (possibly inset), and other goodies and is planning on -incorporating this environment into the package. -% -Of course, it will remain limited in comparison to the fully -customizable boxes provided by package \ctanpackage{tcolorbox} -but our testing showed significant speed-up in build time, which -may matter for long documents. +shadow (possibly inset), and other goodies and was planning on +incorporating this environment into the package at some time in future. % Hopefully this addition will be done when time will permit. -\thispagestyle{empty} -\enlargethispage{2\baselineskip} +% \thispagestyle{empty} +% \enlargethispage{2\baselineskip} -\colorlet{shadecolor}{lightgray!50} -\footnotesize -\begin{snugshade} - After initial release made it to CTAN on +%\colorlet{shadecolor}{lightgray!50} +% \footnotesize + But after initial release made it to CTAN on 2022/09/22 I became aware of \ctanpackage{longfbox} which provides already such \ctanpackage{pict2e} breakable boxes with rounded corners (even elliptical arcs), and furthermore with a CSS-like interface which is exactly what I had done on my side too... I need to check more \ctanpackage{longfbox} before a decision is made here! Perhaps it will be better to keep - \colorframed as it is currently and produce another package for - extras such as \ctanpackage{pict2e}-based boxes or a key-value - interface to `inline' or `display' box macros and environments. + \colorframed as it is currently and + extras such as new \ctanpackage{pict2e}-based boxes with a key-value + interface to `inline' or `display' boxing macros and environments + should make it to another package (loading \colorframed of course). + + Of course, such a package would remain limited in its graphics abilities + (and customizability) in comparison to the customizable boxing environments + provided by package \ctanpackage{mdframed} or \ctanpackage{tcolorbox} but + testing with my own \ctanpackage{pict2e}-based boxes showed significant + speed-up in build time compared to using \ctanpackage{framed}+|\tcbox| or + the "breakable" option of \ctanpackage{tcolorbox}. + \end{snugshade} \centerline{\hrulefill documentation ends here\hrulefill} \end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/colorframed/colorframed.sty b/macros/latex/contrib/colorframed/colorframed.sty index 677cdef8a2..6b6de47977 100644 --- a/macros/latex/contrib/colorframed/colorframed.sty +++ b/macros/latex/contrib/colorframed/colorframed.sty @@ -1,23 +1,10 @@ -% colorframed.sty v0.9a 2022/09/23 -% Copyright (c) 2022 Jean-François Burnol +% colorframed.sty v0.9b 2022/10/01 +% Copyright (C) 2022 Jean-François Burnol % Distributed under the terms of the LPPL 1.3c, see README.md \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{colorframed} - [2022/09/23 v0.9a fix `framed' breakable boxes colour leaks (JFB)] -% This is actually same as 0.9 release of 2022/09/22 apart from these -% comments: -% -% The analysis and original workarounds for using framed.sty -% with colours were developed by me in some contributions I made -% to the Sphinx project (\url{https://github.com/sphinx-doc/sphinx}) -% and I am transferring here the general idea. -% -% The key thing is that the boxes handled by framed.sty may -% contain isolated colour push or colour pop. We must make -% sure an isolated colour push, if followed by colour changes, -% is always followed by paired ones, and never by a colour pop -% from a colour command originated "prior". -% + [2022/10/01 v0.9b fix `framed' breakable boxes colour leaks (JFB)] +% Apart from code comments here, documentation is in colorframed-doc.pdf \RequirePackage{framed} \RequirePackage{color} % First we must make \MakeFramed/\endMakeFramed colour safe. @@ -123,8 +110,8 @@ \vbox{% \colorframedbordercolorcommand % defaults to \normalcolor \hrule\@height#3\relax - \kern-#3\relax #1% + \kern-#3\relax % see discussion of issue #2 \copy\z@ % deliberate overlap hrules+vrules to avoid anti-aliasing artefacts \kern-#4\relax #2% @@ -167,4 +154,63 @@ %}% <<<< REMOVED \endgroup } +% There are various issues with \TitleBarFrame/\TF@Title/TF@conlab +% we provide an alternative +\def\colorframedTFconlabsep{3pt} +\newcommand\colorframedTitleBarFrame[3][]{\begingroup + \ifx\delimiter#1\delimiter + \let\TF@conlab\@empty + \else + \def\TF@conlab{% + \nointerlineskip + \hbox{\colorframedTFconlabcolorcommand + \smash{\rlap{\kern\wd\@tempboxa + % 2\fboxrule, not \fboxrule\fboxsep! + \kern2\fboxrule + \kern\dimexpr\colorframedTFconlabsep\relax #1}}}% + }% + \fi + \def\colorframedbordercolorcommand{\color{TFFrameColor}}% + \CustomFBox + {\colorframed@TF@Title{#2}}{\TF@conlab}% + \fboxrule\fboxrule\fboxrule\fboxrule + {#3}% + \endgroup +} +% The title bar for \colorframedTitleBarFrame, it will wrap its argument +% as paragraphs in case it is too long, the horizontal placement is improved +% and it will be suitably vertically centered. Nota Bene: for #1 to be +% allowed to contain \par, the \textbf in titled-frame must be replaced by +% some \bfseries. +% Macro to customize the horizontal placement. For example +% \def\colorframedTFtitleshift{0pt} +% if \fboxrule is set by the environment to a high value. +% Don't use negative value, some parts of the title may then be hidden +% behind the left border. +\def\colorframedTFtitlesep{\fboxsep} +\newcommand\colorframed@TF@Title[1]{% + \ifx\delimiter#1\delimiter\else + %\kern-0.04pt\relax + \kern-.5\fboxrule + \begingroup + \setbox\@tempboxa\vbox{% + \kern0.8ex + \hbox{\kern\fboxrule + \kern\dimexpr\colorframedTFtitlesep\relax + \vbox{\hsize\dimexpr\linewidth-2\fboxrule- + 2\dimexpr\colorframedTFtitlesep\relax\relax + \noindent\color{TFTitleColor}% + #1\par}}% + \kern0.8ex}% + \hrule\@height\ht\@tempboxa + \kern-\ht\@tempboxa + \box\@tempboxa + \endgroup + %\nointerlineskip + %\kern-0.04pt\relax + \hrule\@height.5\fboxrule + \fi +} +% maybe provide a titled-frame variant using the above and acting like +% snugshade respective to being used in a list? \endinput diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md index e2e4f4a3b3..448e3d3325 100644 --- a/macros/latex/contrib/l3backend/CHANGELOG.md +++ b/macros/latex/contrib/l3backend/CHANGELOG.md @@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2022-09-28] + +### Changed +- Add support for media box setting + ## [2022-08-30] ### Added @@ -267,7 +272,8 @@ this project uses date-based 'snapshot' version identifiers. - Include `l3backend` in file names - Moved backend code to internal for each 'parent' module -[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-30...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2022-09-28...HEAD +[2022-09-28]: https://github.com/latex3/latex3/compare/2022-08-30...2022-09-28 [2022-08-30]: https://github.com/latex3/latex3/compare/2022-08-23...2022-08-30 [2022-08-23]: https://github.com/latex3/latex3/compare/2022-08-05...2022-08-23 [2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-01...2022-08-05 diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md index 5961e2ff7a..321c754bcd 100644 --- a/macros/latex/contrib/l3backend/README.md +++ b/macros/latex/contrib/l3backend/README.md @@ -1,7 +1,7 @@ LaTeX3 Backend Drivers ====================== -Release 2022-08-30 +Release 2022-09-28 This package forms parts of `expl3`, and contains the code used to interface with backends (drivers) across the `expl3` codebase. The functions here are diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx index 09672f0ac8..99abfca034 100644 --- a/macros/latex/contrib/l3backend/l3backend-basics.dtx +++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -70,27 +70,27 @@ % \begin{macrocode} \ProvidesExplFile %<*dvipdfmx> - {l3backend-dvipdfmx.def}{2022-08-30}{} + {l3backend-dvipdfmx.def}{2022-09-28}{} {L3 backend support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-dvips.def}{2022-08-30}{} + {l3backend-dvips.def}{2022-09-28}{} {L3 backend support: dvips} %</dvips> %<*dvisvgm> - {l3backend-dvisvgm.def}{2022-08-30}{} + {l3backend-dvisvgm.def}{2022-09-28}{} {L3 backend support: dvisvgm} %</dvisvgm> %<*luatex> - {l3backend-luatex.def}{2022-08-30}{} + {l3backend-luatex.def}{2022-09-28}{} {L3 backend support: PDF output (LuaTeX)} %</luatex> %<*pdftex> - {l3backend-pdftex.def}{2022-08-30}{} + {l3backend-pdftex.def}{2022-09-28}{} {L3 backend support: PDF output (pdfTeX)} %</pdftex> %<*xetex> - {l3backend-xetex.def}{2022-08-30}{} + {l3backend-xetex.def}{2022-09-28}{} {L3 backend support: XeTeX} %</xetex> % \end{macrocode} diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx index 4a41423fb0..b7748ef640 100644 --- a/macros/latex/contrib/l3backend/l3backend-box.dtx +++ b/macros/latex/contrib/l3backend/l3backend-box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf Binary files differindex 9862216c01..8ccb437311 100644 --- a/macros/latex/contrib/l3backend/l3backend-code.pdf +++ b/macros/latex/contrib/l3backend/l3backend-code.pdf diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx index a4eef23098..8f8ca477d1 100644 --- a/macros/latex/contrib/l3backend/l3backend-color.dtx +++ b/macros/latex/contrib/l3backend/l3backend-color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx index 952a849ec6..66fc78975c 100644 --- a/macros/latex/contrib/l3backend/l3backend-draw.dtx +++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx index 53e9c767ff..424c274044 100644 --- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx +++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -374,7 +374,7 @@ \@@_backend_loaded:n { \seq_set_from_clist:Nn \l_graphics_search_ext_seq - { .pdf , .eps , .ps , .png , .jpg ., jpeg , .bmp } + { .pdf , .eps , .ps , .png , .jpg , .jpeg , .bmp } } % \end{macrocode} % \end{variable} @@ -873,7 +873,7 @@ % \texttt{dvisvgm.def} for a more complex approach, needed if clipping, % \emph{etc.}, is covered at the graphic backend level). We have to deal % with the fact that the image reference point is at the \emph{top}, so -% there is a need for a veritcal shift to put it in the right place. +% there is a need for a vertical shift to put it in the right place. % The other issue is that |#1| must be quote-corrected. The % \texttt{dvisvgm:img} operation quotes the file name, but if it is already % quoted (contains spaces) then we have an issue: we simply strip off any diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx index aab4a1228c..04ef8f63a6 100644 --- a/macros/latex/contrib/l3backend/l3backend-header.dtx +++ b/macros/latex/contrib/l3backend/l3backend-header.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/contrib/l3backend/l3backend-opacity.dtx index e47475eece..d9726f5d9b 100644 --- a/macros/latex/contrib/l3backend/l3backend-opacity.dtx +++ b/macros/latex/contrib/l3backend/l3backend-opacity.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx index b31805b0fd..ed2339cb00 100644 --- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx +++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -1699,6 +1699,85 @@ %</dvisvgm> % \end{macrocode} % +% \subsection{PDF Page size (media box)} +% +% For setting the media box, the split between backends is somewhat different +% to other areas, thus we approach this separately. The code here assumes a +% recent \LaTeXe{}: that is ensured at the level above. +% +% \begin{macrocode} +%<*dvipdfmx|dvips> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% \begin{macro}[EXP]{\@@_backend_pagesize_set:n} +% This is done as a backend literal, so we deal with it using the shipout +% hook. The inclusion of \cs{tex_mag:D} here is essentially to work with +% (u)p\LaTeX{}, where this is used to adjust apparent font size. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 + { + \__kernel_backend_first_shipout:n + { + \__kernel_backend_literal:e + { +%<*dvipdfmx> + pdf:pagesize ~ + width ~ \@@_backend_pagesize_set:n {#1} ~ + height ~ \@@_backend_pagesize_set:n {#2} +%</dvipdfmx> +%<*dvips> + papersize = + \@@_backend_pagesize_set:n {#1} , + \@@_backend_pagesize_set:n {#2} +%</dvips> + } + } + } +\cs_new:Npn \@@_backend_pagesize_set:n #1 + { \fp_to_dim:n { \tex_mag:D / 1000 * (#1) } } +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macrocode} +%</dvipdfmx|dvips> +% \end{macrocode} +% +% \begin{macrocode} +%<*luatex|pdftex|xetex> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% Pass to the primitives. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 + { + \dim_set:Nn \tex_pagewidth:D {#1} + \dim_set:Nn \tex_pageheight:D {#2} + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</luatex|pdftex|xetex> +% \end{macrocode} +% +% \begin{macrocode} +%<*dvisvgm> +% \end{macrocode} +% +% \begin{macro}{\@@_backend_pagesize_set:nn} +% A no-op. +% \begin{macrocode} +\cs_new_protected:Npn \@@_backend_pagesize_set:nn #1#2 { } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%</dvisvgm> +% \end{macrocode} +% % \begin{macrocode} %</package> % \end{macrocode} diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md index 90ed2a8771..33b9759edd 100644 --- a/macros/latex/contrib/l3kernel/CHANGELOG.md +++ b/macros/latex/contrib/l3kernel/CHANGELOG.md @@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2022-09-28] + +### Added +- Set media box for test phase documents + +### Fixed +- Text case switching in `\text_titlecase_first:n` (issue + [\#1130](https://github.com/latex3/latex3/issues/1130)) + ## [2022-08-30] ### Added @@ -1199,7 +1208,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-30...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2022-09-28...HEAD +[2022-09-28]: https://github.com/latex3/latex3/compare/2022-08-30...2022-09-28 [2022-08-30]: https://github.com/latex3/latex3/compare/2022-08-23...2022-08-30 [2022-08-23]: https://github.com/latex3/latex3/compare/2022-08-05...2022-08-23 [2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-15...2022-08-05 diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md index b6538e1855..3553676388 100644 --- a/macros/latex/contrib/l3kernel/README.md +++ b/macros/latex/contrib/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2022-08-30 +Release 2022-09-28 Overview -------- diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx index ebf703b25f..b38c98239a 100644 --- a/macros/latex/contrib/l3kernel/expl3.dtx +++ b/macros/latex/contrib/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2022-08-30}% +\def\ExplFileDate{2022-09-28}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf Binary files differindex 5726610041..df634990ec 100644 --- a/macros/latex/contrib/l3kernel/expl3.pdf +++ b/macros/latex/contrib/l3kernel/expl3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf Binary files differindex 99e424d0c3..138489c04d 100644 --- a/macros/latex/contrib/l3kernel/interface3.pdf +++ b/macros/latex/contrib/l3kernel/interface3.pdf diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex index 64d4cff561..443c656a7b 100644 --- a/macros/latex/contrib/l3kernel/interface3.tex +++ b/macros/latex/contrib/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-30} +\date{Released 2022-09-28} \pagenumbering{roman} \maketitle diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx index b881dbcf1d..b971bdcc60 100644 --- a/macros/latex/contrib/l3kernel/l3basics.dtx +++ b/macros/latex/contrib/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx index 963aae5ddb..2c7ee330b8 100644 --- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx +++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx index bc0fbb7eb5..cc21049baf 100644 --- a/macros/latex/contrib/l3kernel/l3box.dtx +++ b/macros/latex/contrib/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx index 3279dda762..1bcbfc4ece 100644 --- a/macros/latex/contrib/l3kernel/l3candidates.dtx +++ b/macros/latex/contrib/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -1639,7 +1639,7 @@ % \begin{macro}{\tl_build_end:N, \tl_build_gend:N, \@@_build_end_loop:NN} % Get the data then clear the \meta{next~tl} recursively until finding % an empty one. It is perhaps wasteful to repeatedly use -% \cs{cs_to_sr:N}. The local/global scope is checked by +% \cs{cs_to_str:N}. The local/global scope is checked by % \cs{tl_set:Nx} or \cs{tl_gset:Nx}. % \begin{macrocode} \cs_new_protected:Npn \tl_build_end:N #1 diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx index 6bc41991e5..f7c26612b8 100644 --- a/macros/latex/contrib/l3kernel/l3cctab.dtx +++ b/macros/latex/contrib/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx index 4814d90427..643e98223e 100644 --- a/macros/latex/contrib/l3kernel/l3clist.dtx +++ b/macros/latex/contrib/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx index ded70d1248..1552a03c34 100644 --- a/macros/latex/contrib/l3kernel/l3coffins.dtx +++ b/macros/latex/contrib/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx index 08b4f523e0..a40f5fd381 100644 --- a/macros/latex/contrib/l3kernel/l3color.dtx +++ b/macros/latex/contrib/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx index 4867d5f563..767041cbb1 100644 --- a/macros/latex/contrib/l3kernel/l3debug.dtx +++ b/macros/latex/contrib/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx index ef7d77d064..02f353516f 100644 --- a/macros/latex/contrib/l3kernel/l3deprecation.dtx +++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx index 6fdf2e694f..f3182d54fb 100644 --- a/macros/latex/contrib/l3kernel/l3doc.dtx +++ b/macros/latex/contrib/l3kernel/l3doc.dtx @@ -85,7 +85,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % \maketitle % \tableofcontents % diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/contrib/l3kernel/l3doc.pdf Binary files differindex 115b0155b9..d2cfc22fed 100644 --- a/macros/latex/contrib/l3kernel/l3doc.pdf +++ b/macros/latex/contrib/l3kernel/l3doc.pdf diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx index b7dc2c2257..4d918812bb 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.dtx +++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf Binary files differindex 492c003636..6c75d44a1a 100644 --- a/macros/latex/contrib/l3kernel/l3docstrip.pdf +++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx index e975071462..6543b82274 100644 --- a/macros/latex/contrib/l3kernel/l3expan.dtx +++ b/macros/latex/contrib/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx index 7aaf7085de..5927ee425d 100644 --- a/macros/latex/contrib/l3kernel/l3file.dtx +++ b/macros/latex/contrib/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx index cbe5351708..c22d20e881 100644 --- a/macros/latex/contrib/l3kernel/l3flag.dtx +++ b/macros/latex/contrib/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx index 8fa46b49dd..90ab28c215 100644 --- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx index 63c97ba5c1..e5d18a8d85 100644 --- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx index 74bd289d7a..be408dda0a 100644 --- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx index f39b77b9ee..4ec2f5ec5e 100644 --- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx index ca6d5091c7..920993a13a 100644 --- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx index b24112a5a0..fef1d48c59 100644 --- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx index 6fb84bfb97..abd24f7219 100644 --- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx index facb50f0ea..75e61a6f2f 100644 --- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx index ae5b968eca..5f6ebaa316 100644 --- a/macros/latex/contrib/l3kernel/l3fp-random.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx index f6122647e9..cb76873a8a 100644 --- a/macros/latex/contrib/l3kernel/l3fp-round.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx index 1f0fbfa6a8..2845a9801f 100644 --- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % \maketitle % % \begin{documentation} diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx index f19a864aab..ce7c423ca8 100644 --- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx +++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx index da64860f8c..bce8ddb14b 100644 --- a/macros/latex/contrib/l3kernel/l3fp.dtx +++ b/macros/latex/contrib/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx index 293154cad0..ee47549dac 100644 --- a/macros/latex/contrib/l3kernel/l3fparray.dtx +++ b/macros/latex/contrib/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx index 7fce0b7a2d..359b0671b5 100644 --- a/macros/latex/contrib/l3kernel/l3int.dtx +++ b/macros/latex/contrib/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx index be1fe6f7e3..ae476fb771 100644 --- a/macros/latex/contrib/l3kernel/l3intarray.dtx +++ b/macros/latex/contrib/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx index d122477aeb..d7c0879fc2 100644 --- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx +++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx index f626c9bdb2..f7ed4e7fbd 100644 --- a/macros/latex/contrib/l3kernel/l3keys.dtx +++ b/macros/latex/contrib/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -806,7 +806,7 @@ % setting, even though these keys have the same path. For example, with % a set of keys defined using % \begin{verbatim} -% \keys define:nn { mymodule } +% \keys_define:nn { mymodule } % { % key-one .code:n = { \my_func:n {#1} } , % key-two .tl_set:N = \l_my_a_tl , @@ -820,7 +820,7 @@ % arbitrary sets which are independent of the key tree. Thus modifying the % example to read % \begin{verbatim} -% \keys define:nn { mymodule } +% \keys_define:nn { mymodule } % { % key-one .code:n = { \my_func:n {#1} } , % key-one .groups:n = { first } , diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx index 3d37094612..8cf6620f80 100644 --- a/macros/latex/contrib/l3kernel/l3legacy.dtx +++ b/macros/latex/contrib/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx index bb5779f09e..175fa42d86 100644 --- a/macros/latex/contrib/l3kernel/l3luatex.dtx +++ b/macros/latex/contrib/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx index 32f66edd92..b369bb560d 100644 --- a/macros/latex/contrib/l3kernel/l3msg.dtx +++ b/macros/latex/contrib/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx index 5566ead50c..f5ab42eade 100644 --- a/macros/latex/contrib/l3kernel/l3names.dtx +++ b/macros/latex/contrib/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf Binary files differindex 11ac8695c2..9bb99485aa 100644 --- a/macros/latex/contrib/l3kernel/l3news.pdf +++ b/macros/latex/contrib/l3kernel/l3news.pdf diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf Binary files differindex 23221ecb1f..4ee70dc6ee 100644 --- a/macros/latex/contrib/l3kernel/l3news01.pdf +++ b/macros/latex/contrib/l3kernel/l3news01.pdf diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf Binary files differindex 8443ef5802..2a0fa6436a 100644 --- a/macros/latex/contrib/l3kernel/l3news02.pdf +++ b/macros/latex/contrib/l3kernel/l3news02.pdf diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf Binary files differindex b085e34232..08404d7013 100644 --- a/macros/latex/contrib/l3kernel/l3news03.pdf +++ b/macros/latex/contrib/l3kernel/l3news03.pdf diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf Binary files differindex 223cf69281..4b2ae23422 100644 --- a/macros/latex/contrib/l3kernel/l3news04.pdf +++ b/macros/latex/contrib/l3kernel/l3news04.pdf diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf Binary files differindex 17dac20b2c..e8fefe11ee 100644 --- a/macros/latex/contrib/l3kernel/l3news05.pdf +++ b/macros/latex/contrib/l3kernel/l3news05.pdf diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf Binary files differindex b8514e2cc3..c0c4a9506f 100644 --- a/macros/latex/contrib/l3kernel/l3news06.pdf +++ b/macros/latex/contrib/l3kernel/l3news06.pdf diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf Binary files differindex 753717acd7..7dd8191920 100644 --- a/macros/latex/contrib/l3kernel/l3news07.pdf +++ b/macros/latex/contrib/l3kernel/l3news07.pdf diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf Binary files differindex 136b9e6c8a..4181681985 100644 --- a/macros/latex/contrib/l3kernel/l3news08.pdf +++ b/macros/latex/contrib/l3kernel/l3news08.pdf diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf Binary files differindex 83f867b7f0..0f8e475609 100644 --- a/macros/latex/contrib/l3kernel/l3news09.pdf +++ b/macros/latex/contrib/l3kernel/l3news09.pdf diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf Binary files differindex 99341027da..a04326f21e 100644 --- a/macros/latex/contrib/l3kernel/l3news10.pdf +++ b/macros/latex/contrib/l3kernel/l3news10.pdf diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf Binary files differindex dc636b1ddb..17e1d46497 100644 --- a/macros/latex/contrib/l3kernel/l3news11.pdf +++ b/macros/latex/contrib/l3kernel/l3news11.pdf diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf Binary files differindex 07aeb8ed1f..5ea38f32af 100644 --- a/macros/latex/contrib/l3kernel/l3news12.pdf +++ b/macros/latex/contrib/l3kernel/l3news12.pdf diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx index f02362df38..091ece8b43 100644 --- a/macros/latex/contrib/l3kernel/l3pdf.dtx +++ b/macros/latex/contrib/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -493,9 +493,52 @@ % \end{macrocode} % \end{macro} % +% \subsection{PDF Page size (media box)} +% +% Everything here is delayed to the start of the document so that the +% backend will definitely be loaded. +% \begin{macrocode} +\cs_if_exist:NT \@kernel@before@begindocument + { + \tl_gput_right:Nn \@kernel@before@begindocument + { + \bool_lazy_all:nT + { + { \cs_if_exist_p:N \stockheight } + { \cs_if_exist_p:N \stockwidth } + { \cs_if_exist_p:N \IfDocumentMetadataTF } + { \IfDocumentMetadataTF { \c_true_bool } { \c_false_bool } } + } + { + \bool_lazy_and:nnTF + { \dim_compare_p:nNn \stockheight > { 0pt } } + { \dim_compare_p:nNn \stockwidth > { 0pt } } + { + \@@_backend_pagesize_set:nn + \stockwidth \stockheight + } + { + \bool_lazy_or:nnF + { \dim_compare_p:nNn \stockheight < { 0pt } } + { \dim_compare_p:nNn \stockwidth < { 0pt } } + { + \bool_lazy_and:nnT + { \dim_compare_p:nNn \paperheight > { 0pt } } + { \dim_compare_p:nNn \paperwidth > { 0pt } } + { + \@@_backend_pagesize_set:nn + \paperwidth \paperheight + } + } + } + } + } + } +% \end{macrocode} +% % \subsection{Deprecated functions} % -% \begin{variable}{\g_@@_object_prop} +% \begin{variable}{\g_@@_obejct_prop} % For tracking objects. % \begin{macrocode} \prop_new:N \g_@@_object_prop diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf Binary files differindex 7aebfbe9bc..40c5daf8f9 100644 --- a/macros/latex/contrib/l3kernel/l3prefixes.pdf +++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx index cb0d282a3c..b1e789bba9 100644 --- a/macros/latex/contrib/l3kernel/l3prg.dtx +++ b/macros/latex/contrib/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx index 6964f9ae47..6c97ea7ea7 100644 --- a/macros/latex/contrib/l3kernel/l3prop.dtx +++ b/macros/latex/contrib/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx index 9723e11509..a2d23c521b 100644 --- a/macros/latex/contrib/l3kernel/l3quark.dtx +++ b/macros/latex/contrib/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx index 5da0fa163f..c1f668f21b 100644 --- a/macros/latex/contrib/l3kernel/l3regex.dtx +++ b/macros/latex/contrib/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx index 218bf5e507..d8d696d104 100644 --- a/macros/latex/contrib/l3kernel/l3seq.dtx +++ b/macros/latex/contrib/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx index e829802de1..08e5504b2f 100644 --- a/macros/latex/contrib/l3kernel/l3skip.dtx +++ b/macros/latex/contrib/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx index fac7fb0d1f..75574e3251 100644 --- a/macros/latex/contrib/l3kernel/l3sort.dtx +++ b/macros/latex/contrib/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx index 78f6a12649..f2d3793461 100644 --- a/macros/latex/contrib/l3kernel/l3str-convert.dtx +++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx index 1ffa124f9e..ea62c4946d 100644 --- a/macros/latex/contrib/l3kernel/l3str.dtx +++ b/macros/latex/contrib/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf Binary files differindex 3a082655fd..6a572e6ba7 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.pdf +++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex index c7352e8c42..bba7fc00b9 100644 --- a/macros/latex/contrib/l3kernel/l3styleguide.tex +++ b/macros/latex/contrib/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-30} +\date{Released 2022-09-28} \begin{document} diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf Binary files differindex 459cdc2b01..3df33c43d9 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex index 83cca7ef05..ce7d578d7b 100644 --- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex +++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-30} +\date{Released 2022-09-28} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx index 2e9b5b939d..28e4f0b83c 100644 --- a/macros/latex/contrib/l3kernel/l3sys.dtx +++ b/macros/latex/contrib/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf Binary files differindex b940dadaf5..26aadf38b0 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf +++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex index a4d96e4164..8fcf1fd489 100644 --- a/macros/latex/contrib/l3kernel/l3term-glossary.tex +++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-30} +\date{Released 2022-09-28} \newcommand{\TF}{\textit{(TF)}} diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx index 8a5615a1f6..cad0ed2954 100644 --- a/macros/latex/contrib/l3kernel/l3text-case.dtx +++ b/macros/latex/contrib/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % @@ -158,7 +158,8 @@ % { % \@@_change_case_switch_lower:nnNnnnn , % \@@_change_case_switch_upper:nnNnnnn , -% \@@_change_case_switch_title:nnNnnnn +% \@@_change_case_switch_title:nnNnnnn , +% \@@_change_case_switch_titleonly:nnNnnnn % } % \begin{macro}[EXP] % { @@ -518,6 +519,11 @@ \@@_change_case_store:n {#7} \@@_change_case_loop:nnw {#1} {#2} } +\cs_new:Npn \@@_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7 + { + \@@_change_case_store:n {#7} + \@@_change_case_break:w + } % \end{macrocode} % Letter-like commands may still be present: they are set up using a simple % lookup approach, so can easily be handled with no loop. If there is no diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/contrib/l3kernel/l3text-map.dtx index 8d8da0122f..3373f7508c 100644 --- a/macros/latex/contrib/l3kernel/l3text-map.dtx +++ b/macros/latex/contrib/l3kernel/l3text-map.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx index 3b5f5cb8c9..7caaeb0b5e 100644 --- a/macros/latex/contrib/l3kernel/l3text-purify.dtx +++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx index 3e89563a5e..d4b841adfe 100644 --- a/macros/latex/contrib/l3kernel/l3text.dtx +++ b/macros/latex/contrib/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx index 912436441f..612ab5e724 100644 --- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx +++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx index 8bdbf5098b..bf9708a153 100644 --- a/macros/latex/contrib/l3kernel/l3tl.dtx +++ b/macros/latex/contrib/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx index eb2ef81b19..0312bf9874 100644 --- a/macros/latex/contrib/l3kernel/l3token.dtx +++ b/macros/latex/contrib/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx index 737f970484..069301057d 100644 --- a/macros/latex/contrib/l3kernel/l3unicode.dtx +++ b/macros/latex/contrib/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-30} +% \date{Released 2022-09-28} % % \maketitle % diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf Binary files differindex d262f0d76f..2baa614c2a 100644 --- a/macros/latex/contrib/l3kernel/source3.pdf +++ b/macros/latex/contrib/l3kernel/source3.pdf diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex index 090cb47785..51e9ca106d 100644 --- a/macros/latex/contrib/l3kernel/source3.tex +++ b/macros/latex/contrib/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-30} +\date{Released 2022-09-28} \pagenumbering{roman} \maketitle |