texlive[66436] Master/texmf-dist: microtype (7mar23)
commits+karl at tug.org
commits+karl at tug.org
Tue Mar 7 23:20:41 CET 2023
Revision: 66436
http://tug.org/svn/texlive?view=revision&revision=66436
Author: karl
Date: 2023-03-07 23:20:41 +0100 (Tue, 07 Mar 2023)
Log Message:
-----------
microtype (7mar23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/microtype/README.md
trunk/Master/texmf-dist/doc/latex/microtype/microtype-code.pdf
trunk/Master/texmf-dist/doc/latex/microtype/microtype.pdf
trunk/Master/texmf-dist/doc/latex/microtype/test-microtype.tex
trunk/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
trunk/Master/texmf-dist/source/latex/microtype/microtype.dtx
trunk/Master/texmf-dist/source/latex/microtype/microtype.ins
trunk/Master/texmf-dist/tex/latex/microtype/letterspace.sty
trunk/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def
trunk/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
trunk/Master/texmf-dist/tex/latex/microtype/microtype-show.sty
trunk/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def
trunk/Master/texmf-dist/tex/latex/microtype/microtype.cfg
trunk/Master/texmf-dist/tex/latex/microtype/microtype.lua
trunk/Master/texmf-dist/tex/latex/microtype/microtype.sty
trunk/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-EBGaramond.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-NewComputerModern.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-Palatino.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-basic.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-empty.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
trunk/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
Modified: trunk/Master/texmf-dist/doc/latex/microtype/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/microtype/README.md 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/doc/latex/microtype/README.md 2023-03-07 22:20:41 UTC (rev 66436)
@@ -4,7 +4,7 @@
**Subliminal refinements towards typographical perfection**
- (v3.0f -- 2022/06/23)
+ (v3.1 -- 2023/03/06)
Overview
@@ -82,4 +82,4 @@
(2) the identification string is changed.
------------------------------------------------------
-Copyright (c) 2004--2022 R Schlicht `<w.m.l at gmx.net>`
+Copyright (c) 2004--2023 R Schlicht `<w.m.l at gmx.net>`
Modified: trunk/Master/texmf-dist/doc/latex/microtype/microtype-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/microtype/microtype.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/microtype/test-microtype.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/microtype/test-microtype.tex 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/doc/latex/microtype/test-microtype.tex 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -30,6 +30,7 @@
%% You may do with it whatever you want.
%% ------------------------------------------------------------------------
%%
+%% \item
\documentclass{article}
%% options are passed through to microtype
\usepackage[stretch=50]{microtype-show}
Modified: trunk/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/source/latex/microtype/microtype-utf.dtx 2023-03-07 22:20:41 UTC (rev 66436)
@@ -3,7 +3,7 @@
% ------------------------------------------------------------------------
% The `microtype' package
% Subliminal refinements towards typographical perfection
-% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -27,7 +27,7 @@
\ProvidesFile
%</!EBGaramond>
%<*driver>
- {\jobname.dtx}[2022/06/23 v3.0f]
+ {\jobname.dtx}[2023/03/06 v3.1]
%</driver>
%<CharisSIL> {mt-CharisSIL.cfg}[2017/07/07 v1.1 microtype config. file: Charis SIL (RS)]
%<LatinModernRoman> {mt-LatinModernRoman.cfg}[2021/02/21 v1.1 microtype config. file: Latin Modern Roman (RS)]
Modified: trunk/Master/texmf-dist/source/latex/microtype/microtype.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/microtype/microtype.dtx 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/source/latex/microtype/microtype.dtx 2023-03-07 22:20:41 UTC (rev 66436)
@@ -3,7 +3,7 @@
% ------------------------------------------------------------------------
% The `microtype' package
% Subliminal refinements towards typographical perfection
-% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%
% This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -37,7 +37,7 @@
%<lua-> {microtype-luatex.def}
%<xe-> {microtype-xetex.def}
%<*package|letterspace|m-t|pdf-|lua-|xe-|show>
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
%<package> Micro-typographical refinements
%<letterspace> Robust letterspacing
%<show> Visual debugging for the microtype package
@@ -52,8 +52,8 @@
%<luafile>local microtype = microtype
%<luafile>microtype.module = {
%<luafile> name = "microtype",
-%<luafile> version = "3.0f",
-%<luafile> date = "2022/06/23",
+%<luafile> version = "3.1",
+%<luafile> date = "2023/03/06",
%<luafile> description = "microtype module.",
%<luafile> author = "E. Roux, R. Schlicht and P. Gesang",
%<luafile> copyright = "E. Roux, R. Schlicht and P. Gesang",
@@ -343,7 +343,7 @@
\ifcodedoc
Numbers in upright shape refer to the \textit{page} where the corresponding entry
is described (bold face) resp. occurs.
- Numbers in italics refer to the \textit{code line} where the corresponding entry
+ Numbers in italic shape refer to the \textit{code line} where the corresponding entry
is defined (underlined) resp. used.
Numbers prefixed with `U' refer to the User manual.
\fi
@@ -616,7 +616,8 @@
\DeclareMicrotypeSetDefault,\SetProtrusion,\SetExpansion,\SetTracking,
\SetExtraKerning,\SetExtraSpacing,\DisableLigatures,\DeclareCharacterInheritance,
\DeclareMicrotypeVariants,\DeclareMicrotypeAlias,\DeclareMicrotypeBabelHook,
- \LoadMicrotypeFile,\microtypecontext,\textmicrotypecontext,\textls,\lsstyle,\lslig,
+ \LoadMicrotypeFile,\DeclareMicrotypeFilePrefix,\microtypecontext,\textmicrotypecontext,
+ \textls,\lsstyle,\lslig,
\leftprotrusion,\rightprotrusion,\noprotrusion,\noprotrusionifhmode,
\Microtype at Hook},
keywordstyle=[0]\color{thegreen},
@@ -670,7 +671,7 @@
pdfkeywords={TeX, LaTeX, pdfTeX, LuaTeX, XeTeX, typography, micro-typography,
character protrusion, margin kerning, optical alignment, font expansion,
font scaling, hz, kerning, spacing, glue, letterspacing, tracking, ligatures},
- pdfcopyright={\textcopyright\ 2004--2022 R Schlicht\textLF
+ pdfcopyright={\textcopyright\ 2004--2023 R Schlicht\textLF
This work may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version.\textLF
@@ -723,7 +724,8 @@
\def\mailtoRS{\href % some PDF viewers don't like spaces:
{mailto:Robert\%20Schlicht\%3cw.m.l at gmx.net\%3e?subject=[microtype\%20\fileversion]}
{\texttt{w.m.l at gmx.net}}}
- % the samples in the introduction, utilising nested optional content groups (aka. layers):
+ % the samples in the introduction, utilising nested optional content groups (aka. layers)
+ % (nowadays, I would be using one of the ocg packages, but none of them existed back then (2005)):
\ifnum\pdftexversion<140 \else
\def\mt at layer#1#2{\pdfliteral page{/OC/#1 BDC}#2\pdfliteral page{EMC}}
\ifx\mt at objects\@undefined\let\mt at objects\@empty\fi
@@ -960,7 +962,7 @@
% other extensions (see section~\ref{sec:lettersp}\ifcodedoc\space of the User manual\fi).
%
%\bigskip\noindent
-% This package is copyright \textcopyright\ 2004\kern.09em--2022 R Schlicht.
+% This package is copyright \textcopyright\ 2004\kern.09em--2023 R Schlicht.
% It may be distributed and/or modified under the conditions of the
% \IfFileExists{lppl.tex}{\hyperref[LPPL:LPPL]}{\href{https://www.latex-project.org/lppl/}}
% {\LaTeX\ Project Public License},
@@ -2506,6 +2508,12 @@
% section~\ref{sub:hook}.}
% This command will load the file `|mt-|\meta{font name}|.cfg|'.
%
+%\medskip
+%\Describe{Macro}{\DeclareMicrotypeFilePrefix}{prefix}
+% Or, in fact, it will load the file `\meta{prefix}|-|\meta{file name}|.cfg|'.
+% The \meta{prefix} may be changed, which, however, you should only do
+% if you have your own set of configuration files that you want to be
+% loaded \emph{instead of} any of those provided with the package.
%
%\section{Context-sensitive setup}\label{sec:context}
%
@@ -2639,8 +2647,8 @@
%\medskip
%\Describe{Macro}{\lslig}{ligature}
% Since the commands \cs{textls} and \cs{lsstyle} will also evaluate the
-% `\texttt{no ligatures}' key for the respective font (cf.
-% section~\ref{sub:tracking}), you usually need not worry
+% `\texttt{no ligatures}' key for the respective font (as well as all other
+% options mentioned in section~\ref{sub:tracking}), you usually need not worry
% about protecting or breaking ligatures with most fonts. However, in certain
% situations, there may be a conflict of ligatures beginning with the same
% letter, where some of them should be inhibited, while others should not. For
@@ -2648,17 +2656,17 @@
% `ck', `tz' and `sz'~(`\textfrak{sz}') should never be broken up; you also usually
% see the `st'~(`\textfrak{st}') ligature in letterspaced text. Furthermore, at
% least the \pkg{yfonts} package realises the short~s~(`\textfrak{s:}') as the
-% ligature~`|s:|'. On the other hand, the `ct'~ligature and the other `long~s'
+% pseudo-ligature~`|s:|'. On the other hand, the `ct'~ligature and the other `long~s'
% ligatures often found in Fraktur fonts should be suppressed. There are two
% ways of solving this problem: either don't disable the `|s|' and/or `|c|'
% ligatures and break those that need to be broken up by inserting
-% `|{\kern0pt}|' or \pkg{babel}'s \verb="|= shortcut; or disable them and
+% `|{\kern0pt}|' or \pkg{babel}'s~\verb="|= shortcut; or disable them and
% protect those ligatures that need to be protected by enclosing them in the
% \cs{lslig} command. So, the following two solutions have the same result
% (namely, `\textls{\def\!#1{\textcolor{thegreen}{\lslig{#1}}}^^A
% \def\?#1{\textcolor{thered}{#1}}^^A
% \textfrak{Au\!{s:}\?{si}\!{ch}t\!{s:}lo\?{si}gkeit}}',
-% with ligatures here highlighted in green, inhibited ligatures in red).
+% with ligatures here highlighted in green, inhibited ligatures in red):
%
%\begin{verbatim}[morekeywords={[0]{\kern}}]
%\SetTracking[no\xA0ligatures={f}]{encoding = LY, family = yfrak}{120}
@@ -2759,8 +2767,8 @@
%
%\medskip\noindent
% The \microtype\ package defines a number of patches in order to get protrusion
-% right (with dedicated patches for the classes and packages indicated in
-% parentheses; they may still work with other classes or packages):
+% right (indicated in parentheses are dedicated patches for classes and packages
+% beyond the standard ones; they may still work with other classes or packages):
%\begingroup
%\list{}{\labelwidth=3em \itemindent\z@ \leftmargin=\labelwidth
% \def\makelabel#1{\hskip\labelsep\texttt{#1}\hss}}
@@ -2773,13 +2781,15 @@
% slightly shifted to the right.
% This patch also affects environments such as |quote| or |flushleft|, which are
% implemented in \LaTeX\ as lists starting with an implicit empty item.
-% \MTsupp{standard classes, \cls{beamer}, \cls{simplecv}}
+% \MTsupp{\cls{beamer}, \cls{simplecv}}
% \item[toc] Adds protrusion at the left margins of sectioning titles in the Table of Contents
% and similar Lists of \meta{Things}.
-% \MTsupp{standard classes, \cls{memoir}}
+% \MTsupp{\cls{memoir}}
% \item[footnote] Protrusion for the first line of footnote text (visible in particular
% when the footnote text is set in block paragraphs, like in this document).
-% \MTsupp{standard classes, \cls{memoir}, <\cls{KOMA}> classes, \cls{beamer}, \pkg{hyperref}}
+% \MTsupp{\cls{memoir}, <\cls{KOMA}> classes, \cls{beamer}, \pkg{hyperref}}
+% \item[verbatim] Disables protrusion and expansion in verbatim environments.
+% \MTsupp{\pkg{alltt}}
% \item[eqnum] Protrusion for equation numbers on either side. If you are using the
% interface provided by \pkg{mathtools}, insert the relevant commands
% yourself, \eg:
@@ -2786,7 +2796,7 @@
%\begin{verbatim}[belowskip=-\smallskipamount]
%\newtagform{mytag}[\textbf]{\leftprotrusion{(}}{\rightprotrusion{)}}
%\end{verbatim}^^A
-% \MTsupp{standard classes, \pkg{amsmath}, \cls{IEEEtran}}
+% \MTsupp{\pkg{amsmath}, \cls{IEEEtran}}
%\endlist\endgroup
%
%\medskip\noindent
@@ -2924,8 +2934,8 @@
%\end{verbatim}
%\fi
%
+%\iffalse
%\changes{v1.9}{2005/07/10}{add hint about \texttt{verbatim} environment}
-%\todo{option to patch \texttt{verbatim}?} ^^A for Karl
%\paragraph{You might want to disable protrusion in \texttt{verbatim} environments.}
% As you know by now, \microtype\ will by default activate character protrusion
% for all fonts contained in the font set `|alltext|'. This also includes the
@@ -2949,6 +2959,7 @@
% If you are using the \pkg{fancyvrb} or the \pkg{listings} package, this is
% not necessary, since their implementation of the corresponding environments
% will inhibit protrusion anyway.
+%\fi
%
%\changes{v1.9e}{2006/07/10}{add hint about unknown encodings}
%\paragraph{Settings for Greek/Thai/Armenian etc. encodings are not yet included.}
@@ -3038,29 +3049,6 @@
%\lstset{style=message}
% \item
%\begin{verbatim}
-%! Font csnameendcsname=<cmr10+20 at 10.0pt> not loadable: Metric (TFM) file not found.
-%\end{verbatim}
-%\changes{v1.9a}{2005/11/15}{add explanation for error message in <DVI> mode}
-% This error message will occur if you are trying to employ font expansion
-% while creating <DVI> output. Remember that \emph{automatic} font expansion
-% only works when running \pdftex\ or \luatex\ in <PDF> mode. Although expansion is also
-% possible in <DVI> mode with \pdftex, it requires that all instances of the expanded fonts
-% exist on your \TeX\ system.
-%
-% \item
-%\begin{verbatim}
-%! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.
-%\end{verbatim}
-%\changes{v2.2}{2007/06/13}{add hint about error message with \pdftex\ 1.40}
-% Automatic font expansion has been improved in \pdftex\ 1.40, in that it now
-% not only works with Type\,1 fonts but also with TrueType, OpenType and even
-% non-embedded fonts. The above error message indicates either that you are
-% trying to apply expansion to a bitmap~(|pk|) font, which is still not
-% possible, or that the font isn't found at all, \eg, because of missing map
-% entries.
-%
-% \item
-%\begin{verbatim}
%Package microtype Warning: Unknown slot number of character
%(microtype) `<\k A>'
%(microtype) in font encoding `TU' in inheritance list
@@ -3083,7 +3071,45 @@
% inheritance and protrusion settings specific to the font in question.
%
% \item
+%\begin{verbatim}[deletekeywords={[1]{patch}}]
+%Package microtype Warning: Unable to apply patch `<eqnum>' on input line <29>.
+%\end{verbatim}
+%\changes{v3.1}{2021/09/15}{add hint about protrusion patch warnings}
+% As described in chapter~\ref{sec:pedantic} above, \microtype\ tries to patch a number
+% of commands to enable or disable protrusion in certain situations. If you receive a warning
+% like the above, you should first make sure (as always) that the package is up to date.
+% If it is, consider filing a \href{\githuburl/issues}{bug report}.
+% Until a fix is available, or if you are, for whatever reason, unable or unwilling
+% to update, the easiest solution to get rid of the warning is to disable the
+% problematic patch with the \opt{nopatch} option, \eg:
+%\begin{verbatim}[style=microtype]
+%\microtypesetup{nopatch={eqnum}}
+%\end{verbatim}
+%
+%% \item
%\begin{verbatim}
+%! Font csnameendcsname=<cmr10+20 at 10.0pt> not loadable: Metric (TFM) file not found.
+%\end{verbatim}
+%\changes{v1.9a}{2005/11/15}{add explanation for error message in <DVI> mode}
+% This error message will occur if you are trying to employ font expansion
+% while creating <DVI> output. Remember that \emph{automatic} font expansion
+% only works when running \pdftex\ or \luatex\ in <PDF> mode. Although expansion is also
+% possible in <DVI> mode with \pdftex, it requires that all instances of the expanded fonts
+% exist on your \TeX\ system.
+%
+% \item
+%\begin{verbatim}
+%! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.
+%\end{verbatim}
+%\changes{v2.2}{2007/06/13}{add hint about error message with \pdftex\ 1.40}
+% Beginning with \pdftex\ 1.40, font expansion not only works with Type\,1 fonts
+% but also with TrueType, OpenType and even non-embedded fonts.
+% The above error message indicates either that you are trying to apply expansion to
+% a bitmap~(|pk|) font, which is still not possible, or that the font isn't found
+% at all, \eg, because of missing map entries.
+%
+% \item
+%\begin{verbatim}
%Warning: pdflatex: font <ptmr8r> cannot be expanded (not an included Type1 font)
%\end{verbatim}
%\changes{v2.0}{2006/12/13}{qualify hints about expansion error messages with
@@ -3122,7 +3148,6 @@
%! TeX capacity exceeded, sorry [maximum internal font number (font_max)=<2000>].
%\end{verbatim}
% Memory parameter `|font_max|' too small.
-%\pagebreak ^^A layout
% \item
%\begin{verbatim}
%! TeX capacity exceeded, sorry [PDF memory size (pdf_mem_size)=<65536>].
@@ -3338,9 +3363,12 @@
% \contributor Nelson Lago <@\at @>, ^^A https://github.com/urrameu
% \contributor Brian Dunn <@\at @>, ^^A https://github.com/bdtc
% \contributor Ralf Steinle <rasteinle\at web.de>,
-% \contributor Denis Bitouz\'e <@\at @> ^^A https://tex.stackexchange.com/users/18401/denis-bitouz%c3%a9
+% \contributor Denis Bitouz\'e <@\at @>, ^^A https://tex.stackexchange.com/users/18401/denis-bitouz%c3%a9
+% \contributor Christophe Dervieux <@\at @>, ^^A https://github.com/cderv
+% \contributor Shen Zhou Hong <@\at @>, ^^A https://github.com/ShenZhouHong
+% \contributor David Purton <@\at @> ^^A https://github.com/dcpurton
% and
-% \contributor Christophe Dervieux <@\at @>. ^^A https://github.com/cderv
+% `\contributor rallg <@\at @>'. ^^A https://github.com/rallg
%
%\iffalse
%\section{History of micro-typography} ^^A some time ...
@@ -3421,7 +3449,7 @@
%
% \bibitem[\LaTeXe\ font selection]{fntguide}
% \LaTeX\ Project Team, \emph{\LaTeXe\ font selection},
-% March 2021.
+% August 2022.
% (\ctanurl{macros/latex/base/fntguide.pdf})
%
% \bibitem[\pkg{fontspec}]{fontspec}
@@ -3433,7 +3461,7 @@
% \bibitem[\pkg{luaotfload}]{luaotfload}
% \LaTeX3 Project, \'Elie Roux, Khaled Hosny, Philipp Gesang, Ulrike Fischer, Marcel Kr\"uger,
% \emph{The \pkg{luaotfload} package},
-% 15~June 2022.
+% 3~October 2022.
% (\ctanpkgurl{luaotfload})
%
% \bibitem[\pkg{pdfcprot}]{pdfcprot}
@@ -3442,13 +3470,9 @@
% (\ctanpkgurl{pdfcprot})
%
% \bibitem[\pkg{soul}]{soul}
-% Melchior Franz, \emph{The \pkg{soul} package},
-% 17 November 2003.
+% [Melchior Franz,] Heiko Oberdiek, \emph{The \pkg{soul} package},
+% 18 February 2023.
% (\ctanpkgurl{soul}).
-%\changes{v2.3a}{2008/01/06}{mention \pkg{soulutf8}}
-% See also Heiko Oberdiek's extension of this package,
-% \pkg{soulutf8}, which adds Unicode support.
-% (\ctanpkgurl{soulutf8})
%
%\end{thebibliography}
%
@@ -3485,8 +3509,14 @@
%
%\begin{History}
%
-%\VersionDate{\expandafter\@gobble\fileversion}{\filedate}
+%\Version{\expandafter\@gobble\fileversion}{\filedate}
+% \item New command \cs{DeclareMicrotypeFilePrefix} to change the prefix of the
+% configuration files \refsection{\ref{sub:config-file}}
+% \item New protrusion patch |verbatim| to switch off protrusion
+% and expansion in |verbatim| environments \refsection{\ref{sec:pedantic}}
%
+%\VersionDate{3.0f}{2022/06/23}
+%
%\VersionDate{3.0e}{2022/06/20}
%
%\VersionDate{3.0d}{2022/03/14}
@@ -3740,8 +3770,8 @@
%^^A be loaded at any time)
%^^A \item \cs{microtypesetup} now sets the correct level of protrusion
%^^A \refsection{\ref{sub:options-cmd}}
-% \item New option: `\opt{final}'
-% \refsection{\ref{sub:options-misc}}
+%^^A \item New option: `\opt{final}'
+%^^A \refsection{\ref{sub:options-misc}}
%
%\VersionDate{1.3}{2004/10/27}
%
@@ -3847,8 +3877,9 @@
% \inputlineno,\interlinepenalty,\jobname,\kern,\lastbox,\lastkern,\lastskip,\lccode,
% \leaders,\let,\long,\lowercase,\maxdimen,\meaning,\multiply,\newlinechar,\noexpand,
% \noindent,\number,\or,\parfillskip,\pretolerance,\relax,\setbox,\showboxdepth,
-% \splittopskip,\string,\the,\tolerance,\unhbox,\unkern,\unskip,\unvbox,\uppercase,
-% \vbadness,\vbox,\vfuzz,\vrule,\vsplit,\wd,\widowpenalty,\write,\xdef}
+% \splittopskip,\string,\the,\tolerance,\tracingmacros,\unhbox,\unkern,\unskip,
+% \unvbox,\uppercase,\vbadness,\vbox,\vfuzz,\vrule,\vsplit,\vss,\wd,\widowpenalty,
+% \write,\xdef}
%^^A\DoNotIndex{\font,\fontdimen,\fontname,\nullfont,\sfcode,\spacefactor,
%^^A \spaceskip,\xspaceskip} ^^A tex
%\DoNotIndex{\currentgrouplevel,\currentgrouptype,\currentiflevel,\detokenize,
@@ -3878,30 +3909,42 @@
% \@undefined,\@unprocessedoptions,\@unusedoptionlist,\@xobeysp,\check at icr,
% \color at begingroup,\color at endgroup,\g at addto@macro,\hmode at bgroup,\m at ne,\maybe at ic,
% \maybe at ic@,\nfss at text,\not at math@alphabet,\on at line,\p@,\set at display@protect,
-% \strip at prefix,\strip at pt,\@text at composite,\tw@,\z@,\z at skip,\zap at space,
-% \active,\bfseries,\documentclass,\dotfill,\fbox,\fboxrule,\fboxsep,\fmtversion,
+% \strip at prefix,\strip at pt,\@text at composite,\tw@,\@verbatim,\z@,\z at skip,\zap at space,
+% \active,\bfseries,\documentclass,\dotfill,\em,\emph,\fbox,\fboxrule,\fboxsep,\fmtversion,
% \fontseriesforce,\fontshapeforce,\footnotesize,\huge,\Huge,\itshape,\large,\Large,
-% \LARGE,\leavevmode,\llap,\makeatletter,\makebox,\mathrm,\mbox,\mdseries,\medskip,
-% \newbox,\newcommand,\newcount,\newdimen,\newif,\newline,\newskip,\newtoks,\nobreak,
-% \nonfrenchspacing,\normalbaselineskip,\normalshape,\normalsize,\numberline,\obeylines,
-% \par,\parbox,\providecommand,\quad,\raggedright,\renewcommand,\rmfamily,\scalebox,
-% \sffamily,\scriptsize,\scshape,\slshape,\small,\space,\sscshape,\strut,\swshape,
-% \textwidth,\texttt,\tiny,\tracingnone,\ttfamily,\upshape,\ulcshape,\usefont,\tiny,
-% \AddToHook,\AtBeginDocument,\AtEndOfPackage,\CheckCommand,\CurrentOption,\DeclareOption,
-% \DeclareRobustCommand,\IfFileExists,\IfFormatAtLeastTF,\InputIfFileExists,\MessageBreak,
-% \PackageError,\PackageInfo,\PackageWarning,\PassOptionsToPackage,\ProcessOptions,
-% \RawNoindent,\RequirePackage,\UnicodeEncodingName}
+% \LARGE,\leavevmode,\llap,\makeatletter,\makebox,\marginparsep,\mathrm,\mbox,\mdseries,
+% \medskip,\newbox,\newcommand,\newcount,\newdimen,\newif,\newline,\newskip,\newtoks,
+% \nobreak,\nonfrenchspacing,\normalbaselineskip,\normalshape,\normalsize,\numberline,
+% \obeylines,\par,\parbox,\providecommand,\quad,\raggedright,\renewcommand,\rmfamily,
+% \scalebox,\sffamily,\scriptsize,\scshape,\slshape,\small,\space,\sscshape,\strut,\swshape,
+% \textbf,\textit,\textmd,\textnormal,\textrm,\textsc,\textsf,\textsl,\textssc,\textsw,
+% \textulc,\textup,\textwidth,\texttt,\tiny,\tracingnone,\ttfamily,\upshape,\ulcshape,
+% \usefont,\tiny,\AddToHook,\AtBeginDocument,\AtEndOfPackage,\CheckCommand,\CurrentOption,
+% \DeclareOption,\DeclareRobustCommand,\IfFileExists,\IfFormatAtLeastTF,\InputIfFileExists,
+% \MakeLowercase,\MakeUppercase,\MakeTitlecase,\MessageBreak,\PackageError,\PackageInfo,
+% \PackageWarning,\PassOptionsToPackage,\ProcessOptions,\RawNoindent,\RequirePackage,
+% \UnicodeEncodingName}
%^^A\DoNotIndex{\add at accent,\cf at encoding,\curr at fontshape,\define at newfont,
%^^A \do at subst@correction,\f at encoding,\f at family,\f at size,\font at name,\fontencoding,
%^^A \fontseries,\fontshape,\glb at currsize,\glb at settings,\normalfont,\pickup at font,
%^^A \remove at tlig,\selectfont,\seriesdefault,\shapedefault,\set at fontsize,\showhyphens} ^^A latex
%\DoNotIndex{\normalpdfoutput,\normalpdftexversion,\normalpdftexrevision} ^^A tex live 2004
+%\DoNotIndex{\alltt} ^^A alltt
+%\DoNotIndex{\eqref,\tagform@} ^^A amsmath
%\DoNotIndex{\foreign at language,\languagename,\select at language,\shorthandoff} ^^A babel
%\DoNotIndex{\percentsign} ^^A babel/spanish,galician,mexican
-%\DoNotIndex{\polyglossia at language@switched} ^^A polyglossia
+%\DoNotIndex{\beamer@@callorigitem,\beamer at callorigitem,
+% \beamer at framefootnotetext} ^^A beamer
%\DoNotIndex{\CJK at ifundefined,\CJK at plane,\CJK at temp,\CJK at addcmap} ^^A CJK,CJKutf8
%\DoNotIndex{\color} ^^A color
-%\DoNotIndex{\csqQQ,\csq at bqgroup,\csq at eqgroup,\@disablequotes} ^^A csquotes
+%\DoNotIndex{\csqQQ,\csq at bqgroup,\csq at eqgroup,\@disablequotes,
+% \enquote,\foreignquote,\foreigntextquote,\foreigntextcquote,
+% \hyphenquote,\hyphentextquote,\hyphentextcquote,\textquote,\textcquote} ^^A csquotes
+%\DoNotIndex{\meta} ^^A doc
+%\DoNotIndex{\apptocmd,\gappto,\ifdefmacro,\ifdefparam,\patchcmd} ^^A etoolbox
+%\DoNotIndex{\txfigures,\lnfigures,\tbfigures,\prfigures,\fontfigurestyle,
+% \fontfigurealignment,\fontbasefamily,\figureversion,\textfigures,
+% \liningfigures,\tabularfigures,\proportionalfigures} ^^A fontaxes
%\DoNotIndex{\hyper@@anchor,\hyper at nopatch@footnote,\Hy at footnote@currentHref,
% \ifHy at hyperfootnotes,\ifHy at implicit,\pdfstringdefDisableCommands,
% \pdfstringdefWarn} ^^A hyperref
@@ -3914,30 +3957,41 @@
%\DoNotIndex{\define at key,\KV@@sp at def,\setkeys} ^^A keyval
%\DoNotIndex{\l at dunhbox@line} ^^A ((r)e)ledmac,((r)e)ledpar
%\DoNotIndex{\lst at ProcessLetter} ^^A listings
+%\DoNotIndex{\cs,\marg,\oarg,\parg} ^^A ltxdoc
%\DoNotIndex{\newluafunction} ^^A luatexbase
+%\DoNotIndex{\tistyle,\ltstyle,\ofstyle,\altstyle,\regstyle,\embossstyle,
+% \ornamentalstyle,\qtstyle,\shstyle,\tmstyle,\tvstyle,\swashstyle,
+% \lnstyle,\osstyle,\instyle,\sustyle,\lstyle,\ostyle,\pstyle,\tstyle,
+% \plstyle,\postyle,\tlstyle,\tostyle,\scolshape,\olshape,\sishape,\ushape,
+% \scushape,\uishape,\rishape,\dfshape,\swstyle,\nwwidth,\cdwidth,\ecwidth,
+% \ucwidth,\etwidth,\epwidth,\exwidth,\uxwidth,\regwidth,\mbweight,\dbweight,
+% \sbweight,\ebweight,\ubweight,\lgweight,\elweight,\ulweight,
+% \textti,\textlt,\textof,\textalt,\textreg,\emboss,\textorn,\ornament,
+% \textqt,\textsh,\texttm,\texttv,\textswash,\textln,\textos,\textin,\textsu,
+% \textl,\texto,\textp,\textt,\textpl,\textpo,\texttl,\textto,\textol,\textsi,
+% \textu,\textscu,\textui,\textri,\textdf,\textnw,\textcd,\textec,\textuc,
+% \textet,\textep,\textex,\textux,\textrw,\textmb,\textdb,\textsb,\texteb,
+% \textub,\textlg,\textel,\textul} ^^A nfssext-cfr
%\DoNotIndex{\pdf at escapestring} ^^A pdftexcmds
%\DoNotIndex{\py at macron} ^^A pinyin
+%\DoNotIndex{\polyglossia at language@switched} ^^A polyglossia
+%\DoNotIndex{\@topic at item} ^^A simplecv
%\DoNotIndex{\SOUL@,\SOUL at doword,\soulregister} ^^A soul
%\DoNotIndex{\tikz at expandcount} ^^A tikz
%\DoNotIndex{\conditionally at traceoff} ^^A trace
%\DoNotIndex{\@xspace,\@xspace at firsttrue} ^^A xspace
-%\DoNotIndex{\frakfamily,\swabfamily,\gothfamily} ^^A yfonts
-%\DoNotIndex{\apptocmd,\gappto,\ifdefmacro,\ifdefparam,\patchcmd} ^^A etoolbox
-%\DoNotIndex{\beamer@@callorigitem,\beamer at callorigitem,
-% \beamer at framefootnotetext} ^^A beamer
-%\DoNotIndex{\eqref,\tagform@} ^^A amsmath
-%\DoNotIndex{\@topic at item} ^^A simplecv
+%\DoNotIndex{\frakfamily,\gothfamily,\swabfamily,\textfrak,\textgoth,\textswab}^^A yfonts
%\DoNotIndex{\booknumberline,\chapternumberline,\foottextfont,\partnumberline,
% \cftbookafterpnum,\cftchapterafterpnum,\cftfigureafterpnum,\cftparagraphafterpnum,
% \cftpartafterpnum,\cftsectionafterpnum,\cftsubparagraphafterpnum,\cftsubsectionafterpnum,
% \cftsubsubsectionafterpnum,\cfttableafterpnum} ^^A memoir
-%\DoNotIndex{\setuptoc,\unsettoc,\scr at saved@footnotetext} ^^A koma (tocbasic)
+%\DoNotIndex{\KOMAClassName,\setuptoc,\unsettoc,\scr at saved@footnotetext} ^^A koma (tocbasic)
%\DoNotIndex{\theequationdis,\theIEEEsubequationdis} ^^A IEEEtran
%\DoNotIndex{\x,\MT at dinfo,\MT at dinfo@nl,\tracingmicrotype,\tracingmicrotypeinpdf,
% \ifMT at inannot,\MT at inannottrue,\MT at inannotfalse,\MT at addto@annot,\MT at pdf@annot,
% \MT at show@pdfannot,\iftracingmicrotypeinpdfall,\tracingmicrotypeinpdfalltrue,
% \tracingmicrotypeinpdfallfalse,\DeclareMicroTypeAlias,\DeclareMicroTypeSet,
-% \LoadMicroTypeFile,\UseMicroTypeSet,\MicroType at Hook} ^^A microtype
+% \LoadMicroTypeFile,\DeclareMicrotypeFilePrefix,\UseMicroTypeSet,\MicroType at Hook}^^A microtype
%
% ^^A -------------------------------------------------------------------------
%
@@ -4069,6 +4123,7 @@
\newcommand*\DeclareMicrotypeVariants[1]{}
\newcommand*\DeclareMicrotypeAlias[2]{}
\newcommand*\LoadMicrotypeFile[1]{}
+\newcommand*\DeclareMicrotypeFilePrefix[1]{}
\newcommand*\DeclareMicrotypeBabelHook[2]{}
\newcommand*\microtypesetup[1]{}
\newcommand*\microtypecontext[1]{}
@@ -4102,6 +4157,7 @@
\@onlypreamble\DisableLigatures
\@onlypreamble\DeclareMicrotypeVariants
\@onlypreamble\DeclareMicrotypeBabelHook
+\@onlypreamble\DeclareMicrotypeFilePrefix
% \end{macrocode}
% Don't load \letterspace.
% \begin{macrocode}
@@ -6378,10 +6434,12 @@
\MT at glet\MT at setupfont@hook\@empty
% \end{macrocode}
% \microtype\ is so so loquacious~\dots\
-% Sometimes you just want to silence it when debugging a document.
+% Sometimes you just want to silence it when debugging a document.\footnote{
+% Cf. \url{https://www.youtube.com/watch?v=7FQLnggVgDE&t=38m24s}}
+% \index{Mittelbach=\textit {Frank Mittelbach} (contributor)|hyperpage}
% \begin{macrocode}
- %\gdef\MT at setupfont@hook{\tracingnone
- % \MT at info{Silently doing my `magic' (Mittelbach) for font\MessageBreak\MT@@font}}%
+ %\gdef\MT at setupfont@hook{\ifnum\tracingmacros>\z@\tracingnone
+ % \MT at info{->Silently doing my `magic' (Mittelbach) for font\MessageBreak->\MT@@font}\fi}%
\MT at if@false
\MT at with@babel at and@T{spanish} \MT at if@true
\MT at with@babel at and@T{galician}\MT at if@true
@@ -6566,7 +6624,7 @@
\newif\ifMT at patch@ok
\def\MT at patch@info#1{\MT at info{Applying patch `#1'}}
\def\MT at patch@warn#1{\MT at warning{Unable to apply patch `#1'}}
-\def\MT at patch@undef#1{\MT at warning{Patch `#1' undefined. Cannot apply it}}
+\def\MT at patch@undef#1{\MT at warning{Patch `#1' undefined.\MessageBreak Cannot apply it}}
\def\MT at patch@info at undo#1{\MT at info{Reverting patch `#1'}}
% \end{macrocode}
%\end{macro}
@@ -6579,12 +6637,18 @@
% Define a patch and add it to the list of patches.
% The third argument may contain more revert commands, but will
% mostly be empty.
+%\changes{v3.1}{2022/09/26}{define patches globally}
+%\changes{v3.1}{2022/09/26}{check if patch defined}
% \begin{macrocode}
\let\MT at patches@def\@gobble
\def\MT at define@patch#1#2#3{%
- \g at addto@macro\MT at patches@def{,#1}%
- \MT at def@n{MT at patch@@#1}{#2}%
- \MT at def@n{MT at patch@undo@@#1}{#3}%
+ \MT at ifdefined@n at TF{MT at patch@@#1}{%
+ \MT at warning{Patch `#1' already defined.\MessageBreak Cannot define it}%
+ }{%
+ \g at addto@macro\MT at patches@def{,#1}%
+ \MT at gdef@n{MT at patch@@#1}{#2}%
+ \MT at gdef@n{MT at patch@undo@@#1}{#3}%
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -6599,8 +6663,12 @@
\let\MT at redefined@patches\@empty
\def\MT at redefine@patch#1#2#3{%
\g at addto@macro\MT at redefined@patches{%
- \MT at def@n{MT at patch@@#1}{#2}%
- \MT at def@n{MT at patch@undo@@#1}{#3}%
+ \MT at ifdefined@n at TF{MT at patch@@#1}{%
+ \MT at gdef@n{MT at patch@@#1}{#2}%
+ \MT at gdef@n{MT at patch@undo@@#1}{#3}%
+ }{%
+ \MT at warning{Patch `#1' undefined.\MessageBreak Cannot redefine it}%
+ }%
}%
}
% \end{macrocode}
@@ -6869,11 +6937,13 @@
\MT at exp@cs\MT at patch@patch{beamerx@\string\@mpfootnotetext}
{\ignorespaces}{\ignorespaces\leftprotrusion}}
% \end{macrocode}
-% \item the <\cls{KOMA}> classes (which load \pkg{scrkbase})
+% \item the <\cls{KOMA}> classes
%\changes{v3.0a}{2021/12/02}{fix protrusion patch \texttt{footnote} with <\cls{KOMA}> classes
% (reported by \contributor MisterFiLou <@\at @>) \githubissue{2}}
+%\changes{v3.1}{2022/08/03}{fix test for <\cls{KOMA}> classes in protrusion patch \texttt{footnote}
+% (also reported by \contributor David Purton <@\at @>) \githubissue{26}}
% \begin{macrocode}
- {\@ifpackageloaded{scrkbase}
+ {\MT at ifdefined@c at TF\KOMAClassName
{\MT at patch@patch\scr at saved@footnotetext{\ignorespaces}{\ignorespaces\leftprotrusion}}%
% \end{macrocode}
% \item the base classes
@@ -6883,13 +6953,33 @@
}{}%
% \end{macrocode}
% \end{itemize}
+% \item [|verbatim|] disable all microtypographic extensions in
+% verbatim blocks. (This could have been a nice opportunity
+% to use the new \LaTeX\ hook management, however, the hook
+% here is executed too early -- namely, before the |\par| in
+% \cmd\@verbatim, which may result in spilling the
+% microtypographic settings to the preceding paragraph -- so
+% we're resorting to patching, again.)
+%\changes{v3.1}{2022/09/29}{new protrusion patch \texttt{verbatim}}
+% \begin{itemize}
+% \item Appending to \cmd\@verbatim\ works for, at least, the standard
+% classes, \pkg{verbatim} (and \cls{memoir}); the implementations
+% in \pkg{fancvrb} and \pkg{listings} don't allow protrusion anyway.
+% \begin{macrocode}
+ \MT at define@patch{verbatim}{%
+ \MT at append@patch\@verbatim{\microtypesetup{activate=false}}%
+% \end{macrocode}
+% \item package \pkg{alltt}
+% \begin{macrocode}
+ \MT at with@package at T{alltt}{\MT at append@patch\alltt{\microtypesetup{activate=false}}}%
+ }{}
+% \end{macrocode}
+% \end{itemize}
+%\end{description}
% Finally, execute any redefinitions.
% \begin{macrocode}
\MT at redefined@patches
}}
-% \end{macrocode}
-%\end{description}
-% \begin{macrocode}
%</package>
%</package|letterspace>
% \end{macrocode}
@@ -7142,8 +7232,8 @@
% won't work, and we could skip the settings (for example, the \pkg{dsfont}
% fonts don't specify this dimension; this is probably a bug -- the \pkg{fourier}
% and \pkg{newpx}/\pkg{newtx} packages have been fixed in the meantime).
-% However, we can fix it ourselves -- only tracking still doesn't work (it seems
-% that \cmd\letterspacefont\ uses the \fontdim6 from the original font).
+% However, we can fix it ourselves (and since \pdftex\ 1.40.23, this also works
+% for \cmd\letterspacefont). ^^A https://mailman.ntg.nl/pipermail/ntg-pdftex/2021-June/004335.html
% \xetex\ doesn't provide an equivalent to \cmd\pdffontsize, so we use the
% nominal size instead.
% \begin{macrocode}
@@ -8006,10 +8096,11 @@
%\end{macro}
%\begin{macro}{\MT at set@pr at prefixes}
%\begin{macro}{\MT at set@pr at prefixes@}
-% Add |charwidth(inheriting char)-charwidth(base char)| to either left or
-% right side or half the amount to both sides. For \xetex, we may have to
-% translate to glyph numbers because \cmd\fontcharwd\ doesn't have the nice
-% feature of understanding the `|U|' or `|/|' prefixes.
+% Add |charwidth(|\meta{inheriting char}|)-charwidth(|\meta{base char}|)|
+% to either left or right side or half the amount to both sides.
+% For \xetex, we may have to translate to glyph numbers because
+% \cmd\fontcharwd\ doesn't have the nice feature of understanding the
+% `|U|' or `|/|' prefixes.
% \begin{macrocode}
%<*pdf-|lua-|xe-|show>
%<pdf-|lua-|xe->\def\MT at set@pr at prefixes#1{\MT at set@pr at prefixes@#1}
@@ -8107,6 +8198,9 @@
}
% \end{macrocode}
%\end{macro}
+%
+%\subsubsection{Manual protrusion}\label{ssub:setup-protcmd}
+%
%\begin{macro}{\noprotrusion}
%\changes{v3.0}{2021/05/15}{provide command for older \LaTeX\ versions}
% This command may be used to inhibit protrusion on either side. It's part
@@ -8125,7 +8219,6 @@
\DeclareRobustCommand\noprotrusionifhmode{\relax\ifhmode\kern-\p@\kern\p@\fi}
% \end{macrocode}
%\end{macro}
-%\begin{macro}{\ifMT at prot@}
%\begin{macro}{\leftprotrusion}
%\changes{v3.0}{2021/05/15}{new command}
% This command may be used to add protrusion on the left hand side.
@@ -8140,25 +8233,46 @@
% \begin{macrocode}
\DeclareRobustCommand\leftprotrusion{%
\MT at toks{}%
- \MT at prot@false
+ \MT at prot@toks{}%
+ \let\MT at prot@l\MT at prot@l@
+ \let\MT at maybe@textcmd\@firstofone
\MT at prot@get at firstgroup
}
-\newif\ifMT at prot@
% \end{macrocode}
%\end{macro}
-%\end{macro}
-%\begin{macro}{\MT at prot@l}
+%\begin{macro}{\MT at prot@l@}
%\changes{v3.0b}{2021/12/05}{make \cmd\long\ again
% (reported by \contributor Akira Yokosawa <@\at @>) \githubissue{3}}
%\changes{v3.0c}{2022/01/14}{next try at removing \cmd\long}
% This probably doesn't need to be \cmd\long\ any longer.
% \begin{macrocode}
-\def\MT at prot@l#1{%
+\def\MT at prot@l@#1{%
\MT at get@prot{#1}{left}%
#1%
}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\MT at prot@toks}
+%\begin{macro}{\MT at prot@l at tc}
+%\changes{v3.1}{2023/03/06}{new macro: for text commands}
+%\begin{macro}{\MT at gobble@to at nil}
+% If \cs{leftprotrusion} is followed by a text command,
+% we trial-typeset only the first glyph, then actually typeset
+% the whole argument, which we've saved in \cs{MT at prot@toks},
+% and finally gobble anything that might still be left in the
+% input stream (see \cs{MT at prot@check at F} below).
+% \begin{macrocode}
+\newtoks\MT at prot@toks
+\def\MT at prot@l at tc#1{%
+ \MT at get@prot{\MT at maybe@textcmd{#1}}{left}%
+ \the\MT at prot@toks
+ \MT at gobble@to at nil
+}
+\def\MT at gobble@to at nil#1\MT at nil{}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+%\end{macro}
%\begin{macro}{\rightprotrusion}
%\changes{v3.0}{2021/05/15}{new command}
%\begin{macro}{\MT at prot@r}
@@ -8196,7 +8310,7 @@
%\begin{macro}{\MT at prot@hook}
% Furthermore, we have a hook for compatibility fixes (currently used for \pkg{csquotes} only),
%\begin{macro}{\MT at csq@eqgroup}
-%\changes{v3.0c}{2022/01/06}{compatibility for \pkg{csquotes}, again
+%\changes{v3.0c}{2022/01/06}{compatibility with \pkg{csquotes}, again
% (reported by \contributor NightShade <@\at @>)}
% ^^A https://tex.stackexchange.com/questions/629068/microtype-quotation-marks-in-itemize-not-aligned-properly-at-begin-of-an-item
% and a dedicated command to end \pkg{csquotes}'s group (because we actually typeset
@@ -8208,7 +8322,10 @@
%\changes{v3.0c}{2022/01/14}{use \cmd\RawNoindent, if available \githubissue{8}}
% Finally, \LaTeX's new paragraph hooks require special attention, as they're
% (currently?) unable to distinguish between real typesetting and trial runs.
-% In our case, fortunately, we really don't want to trigger the hooks.
+% In our case, fortunately, we really don't want to trigger the hooks.\footnote{
+% Well, in some cases we do, but this indeed `needs further analysis'
+% (cf. \url{https://github.com/latex3/latex2e/issues/880}).}
+%\todo{fix use of \cmd\RawNoindent}
% Also, as far as I can tell, we don't need a \cmd\RawParEnd\ at the end
% (as suggested in \file{ltpara}), because none of our commands are \cmd\long\ anymore.
% \begin{macrocode}
@@ -8330,9 +8447,9 @@
\expandafter\expandafter\expandafter\@tempa
\expandafter\MT at getthird\MT at prot@next\relax\@nil
\MT at exp@two at c\ifx\@car\@tempa\relax\@nil\@text at composite
- \def\MT at temp*##1##2{\MT at prot@l{\the\MT at toks##1##2}}%
+ \def\MT at temp*##1##2{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2}}%
\else
- \def\MT at temp*##1{\MT at prot@l{\the\MT at toks##1}}%
+ \def\MT at temp*##1{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1}}%
\fi
}%
}
@@ -8343,7 +8460,7 @@
% (reported by \contributor Torsten Schuetze <torsten.schuetze\at gmx.net>)}
% ^^A private mail, 2021/11/18
% ^^A also on the non-public dante-ev mailing list: https://lists.dante.de/mailman/listinfo/dante-ev
-% If we have a group, we inject \cs{MT at prot@get at firsttoken} at the
+% If we have a group, we inject \cs{MT at prot@get at firstgroup} again at the
% beginning and don't bother about the rest. This still allows,
% \eg, |\verb|, |verbatim| or |lstlistings| material.
% The downside of being this cautious is that we'll miss lots of cases.
@@ -8353,16 +8470,19 @@
%\changes{v3.0d}{2022/02/26}{no brace delimiting
% (reported by \contributor Nelson Lago <@\at @>) \githubissue{10}}
%\changes{v3.0e}{2022/06/16}{only add group if very first token}
+%\changes{v3.1}{2023/03/06}{allow multiple groups}
% \begin{macrocode}
-\def\MT at prot@addgroup{\bgroup\afterassignment\MT at prot@get at firsttoken\let\MT at temp= }
+\def\MT at prot@addgroup{\bgroup\afterassignment\MT at prot@get at firstgroup\let\MT at temp= }
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT at prot@get at firstgroup}
+%\begin{macro}{\MT at prot@get at firstgroup@tc}
%\begin{macro}{\MT at prot@get at firsttoken}
%\begin{macro}{\MT at prot@get at nexttoken}
% Scan token by token.
% \begin{macrocode}
\def\MT at prot@get at firstgroup{\futurelet\MT at prot@next\MT at prot@get at first@group}
+\def\MT at prot@get at firstgroup@tc{\futurelet\MT at prot@next\MT at prot@get at first@group at tc}
\def\MT at prot@get at firsttoken{\futurelet\MT at prot@next\MT at prot@get at first@token}
\def\MT at prot@get at nexttoken{\futurelet\MT at prot@next\MT at prot@get at next@token}
% \end{macrocode}
@@ -8369,15 +8489,18 @@
%\end{macro}
%\end{macro}
%\end{macro}
+%\end{macro}
%\begin{macro}{\MT at prot@check}
+%\changes{v3.1}{2022/12/17}{allow replacement command}
%\begin{macro}{\MT at prot@check@}
% We map through a list of commands that should be copied into the toks.
+% \meta{\#3} will be \cmd\relax\ by default, but can also indicate
+% a replacement command.
% \begin{macrocode}
-\def\MT at prot@check#1{\MT at prot@check@#1}
-\def\MT at prot@check@#1#2{%
+\def\MT at prot@check#1{\MT at prot@check@#1\relax\@nil}
+\def\MT at prot@check@#1#2#3\@nil{%
\ifx\MT at prot@next#2%
- \MT at prot@true
- \csname MT at prot@check@#1\endcsname
+ \csname MT at prot@check@#1\endcsname #3%
\let\MT at prot@ifmacro\@gobble
\expandafter\MT at tlist@break
\fi
@@ -8385,51 +8508,142 @@
% \end{macrocode}
%\end{macro}
%\end{macro}
+% Beware that the following nomenclature is rather arcane.
+%\begin{itemize}
+% \item
%\begin{macro}{\MT at prot@check at I}
% This is for commands to be \textbf{I}gnored.
% \begin{macrocode}
\def\MT at prot@check at I{%
- \def\MT at temp*##1{\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1{\MT at prot@get at firstgroup}%
}
% \end{macrocode}
%\end{macro}
+% \item
%\begin{macro}{\MT at prot@check at S}
% Add a \textbf{S}ingle command (without an argument).
% \begin{macrocode}
\def\MT at prot@check at S{%
- \def\MT at temp*##1{\MT at toks\expandafter{\the\MT at toks##1}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1{\MT at toks\expandafter{\the\MT at toks##1}\MT at prot@get at firstgroup}%
}
% \end{macrocode}
%\end{macro}
+% \item
%\begin{macro}{\MT at prot@check at X}
% Add a command with \textbf{O}ne argument.
% \begin{macrocode}
\def\MT at prot@check at O{%
- \def\MT at temp*##1##2{\MT at toks\expandafter{\the\MT at toks##1{##2}}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1##2{\MT at toks\expandafter{\the\MT at toks##1{##2}}\MT at prot@get at firstgroup}%
}
% \end{macrocode}
%\end{macro}
+% \item
%\begin{macro}{\MT at prot@check at T}
% Add a command with \textbf{T}wo arguments.
% \begin{macrocode}
\def\MT at prot@check at T{%
- \def\MT at temp*##1##2##3{\MT at toks\expandafter{\the\MT at toks##1{##2}{##3}}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1##2##3{\MT at toks\expandafter{\the\MT at toks##1{##2}{##3}}\MT at prot@get at firstgroup}%
}
% \end{macrocode}
%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at E}
+%\changes{v3.1}{2022/11/29}{new macro: take care of commands that enclose their argument}
+% This is for commands that \textbf{E}nclose their argument in something, \eg, in braces,
+% and which we trial-typeset without any contents.
+% \begin{macrocode}
+\def\MT at prot@check at E{%
+ \def\MT at temp*##1{\MT at prot@l{##1}}%
+}
+% \end{macrocode}
+%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at e}
+%\changes{v3.1}{2022/11/29}{new macro: take care of starred commands that enclose their argument}
+% Same for starred commands (the main candidate here is \pkg{csquotes}'s \cmd\enquote).
+% \begin{macrocode}
+\def\MT at prot@check at e{%
+ \def\MT at temp*##1{\@ifstar{\MT at prot@l{##1*}}{\MT at prot@l{##1}}}%
+}
+% \end{macrocode}
+%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at eX}
+%\changes{v3.1}{2022/12/28}{new macro: replace enclosing commands}
+% Here we replace the `integrated interface' (\pkg{csquotes}) with the regular one.
+% \begin{macrocode}
+\def\MT at prot@check at eX#1{%
+ \def\MT at temp*##1{\@ifstar
+ {\MT at get@prot{#1*}{left}##1*}
+ {\MT at get@prot{#1}{left}##1}}}
+% \end{macrocode}
+%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at l}
+%\changes{v3.1}{2022/12/26}{new macro: for commands that enclose their second argument}
+%\begin{macro}{\MT at prot@check at l@}
+% \pkg{csquotes} provides a couple of commands for quotations in foreign
+% \textbf{l}anguages (lowercase, because it may be starred), whose first argument
+% (the language) we also have to evaluate before trial typesetting.
+% \begin{macrocode}
+\def\MT at prot@check at l{%
+ \def\MT at temp*##1{\@ifstar{\MT at prot@check at l@{##1*}}{\MT at prot@check at l@{##1}}}}
+\def\MT at prot@check at l@#1#2{\MT at prot@l{#1{#2}}}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at lX}
+%\changes{v3.1}{2022/12/28}{new macro: replace language-switching enclosing commands}
+%\begin{macro}{\MT at prot@check at lX@}
+% Another macro for \pkg{csquotes} commands: replace integrated language-switching
+% commands with their regular variants.
+% \begin{macrocode}
+\def\MT at prot@check at lX#1{%
+ \def\MT at temp*##1{\@ifstar
+ {\def\MT at temp{##1*}\MT at prot@check at lX@{#1*}}
+ {\def\MT at temp{##1}\MT at prot@check at lX@{#1}}}}
+\def\MT at prot@check at lX@#1#2{%
+ \MT at get@prot{#1{#2}}{left}\MT at temp{#2}}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+% \item
+%\begin{macro}{\MT at prot@check at F}
+%\changes{v3.1}{2022/03/06}{new macro: for text commands}
+% Here we deal with \textbf{F}ont switching commands (\ie, text commands,
+% which take an argument).
+% We (a) remember the text command, (b) save the full text,
+% and then (c) continue inspecting the contents of the argument.
+% Nested text commands still don't work.
+% \begin{macrocode}
+\def\MT at prot@check at F{%
+ \ifx\MT at prot@l\MT at prot@l at tc
+ \def\MT at temp*{\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
+ \else
+ \let\MT at prot@l\MT at prot@l at tc
+ \def\MT at temp*##1##2{%
+ \let\MT at maybe@textcmd##1%
+ \MT at prot@toks{##1{##2}}%
+ \MT at prot@get at firstgroup@tc##2\MT at nil}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%\end{itemize}
%\begin{macro}{\MT at prot@check at cmds}
%\changes{v3.0e}{2022/06/09}{new macro: make list of commands extensible}
%\changes{v3.0e}{2022/05/13}{ignore \cmd\@empty}
%\changes{v3.0e}{2022/06/15}{add standard font selection commands}
%\changes{v3.0f}{2022/06/22}{add \microtype's commands}
-% Here's the list of commands to be added to our toks.
-% We'll postpone the handling of commands whose argument would have
-% to be processed (\eg, \cmd\textrm).
+%\changes{v3.1}{2023/01/07}{add \cmd\em}
+%\changes{v3.1}{2023/03/06}{add \cmd\MakeUppercase\ and friends}
+% And here's the list of commands that we can deal with.
% \begin{macrocode}
\def\MT at prot@check at cmds{%
{I\ignorespaces}{I\relax}{I\@empty}%
{S\rmfamily}{S\sffamily}{S\ttfamily}{S\mdseries}{S\bfseries}%
- {S\upshape}{S\slshape}{S\itshape}{S\scshape}%
+ {S\upshape}{S\itshape}{S\slshape}{S\scshape}{S\em}%
{S\normalfont}{S\selectfont}%
{S\lsstyle}%
{S\tiny}{S\scriptsize}{S\footnotesize}{S\small}{S\normalsize}%
@@ -8437,22 +8651,102 @@
{O\fontencoding}{O\fontfamily}{O\fontseries}{O\fontshape}%
{O\microtypesetup}{O\microtypecontext}%
{T\fontsize}%
+ {F\textrm}{F\textsf}{F\texttt}{F\textnormal}%
+ {F\textbf}{F\textmd}{F\textit}{F\textsl}{F\textsc}{F\textup}{F\emph}%
+ {F\MakeUppercase}{F\MakeLowercase}%
}
% \end{macrocode}
-% \LaTeX\ 2020/02/02 introduced some more commands.
-%\changes{v3.0f}{2022/06/22}{add new NFSS commands}
+% \LaTeX\ 2020/02/02 introduced some more text commands
+%\changes{v3.0f}{2022/06/22}{add new <NFSS> commands}
+% (adopted from \pkg{fontaxes}, which provides some more, see below).
+%\changes{v3.1}{2023/01/08}{add \pkg{fontaxes} commands}
% \begin{macrocode}
\IfFormatAtLeastTF{2020/02/02}
{\g at addto@macro\MT at prot@check at cmds{%
{S\swshape}{S\ulcshape}{S\sscshape}{S\normalshape}%
- {O\fontseriesforce}{O\fontshapeforce}}}{}
+ {F\textulc}{F\textsw}{F\textssc}%
+ {O\fontseriesforce}{O\fontshapeforce}}}
+ \relax
+\IfFormatAtLeastTF{2022/11/01}
+ {\g at addto@macro\MT at prot@check at cmds{{F\MakeTitlecase}}}\relax
% \end{macrocode}
-% If \pkg{yfonts} is loaded, we add the relevant commands (again, only those that
-% don't take an argument).
+% The \cls{ltxdoc} class and the \pkg{doc} package provide some abbreviations.
+% Unfortunately, the \cmd\cmd\ command doesn't work.
+%\changes{v3.1}{2022/12/04}{add \cls{ltxdoc} and \pkg{doc} abbreviations}
% \begin{macrocode}
+\@ifclassloaded{ltxdoc}
+ {\g at addto@macro\MT at prot@check at cmds{{E\enquote}{E\marg}{E\oarg}{E\parg}{E\cs}}}\relax
\MT at addto@setup{%
+ \MT at with@package at T{doc}
+ {\g at addto@macro\MT at prot@check at cmds{{E\meta}}}%
+% \end{macrocode}
+% The additional \pkg{fontaxes} commands.
+% \begin{macrocode}
+ \MT at with@package at T{fontaxes}
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\txfigures}{S\lnfigures}{S\tbfigures}{S\prfigures}%
+ {O\fontfigurestyle}{O\fontfigurealignment}{O\fontbasefamily}%
+ {O\figureversion}%
+ {F\textsw}{F\textssc}{F\textulc}%
+ {F\textfigures}{F\liningfigures}{F\tabularfigures}{F\proportionalfigures}}%
+ \IfFormatAtLeastTF{2020/02/02}\relax
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\swshape}{S\ulcshape}{S\sscshape}%
+ {F\textulc}{F\textsw}{F\textssc}}}}
+% \end{macrocode}
+% The \pkg{nfssext-cfr} package (an extension of the \pkg{nfssext} package,
+% which is part of Philipp Lehman's \pkg{fontinstallationguide} but was never
+% publicised separately as far as I can tell) adds many more commands on top
+% of the <NFSS>.
+%\changes{v3.1}{2023/01/16}{add \pkg{nfssext-cfr} commands}
+% \begin{macrocode}
+ \MT at with@package at T{nfssext-cfr}
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\tistyle}{S\ltstyle}{S\ofstyle}{S\altstyle}{S\regstyle}{S\embossstyle}%
+ {S\ornamentalstyle}{S\qtstyle}{S\shstyle}{S\tmstyle}{S\tvstyle}{S\swashstyle}%
+ {S\lnstyle}{S\osstyle}{S\instyle}{S\sustyle}{S\lstyle}{S\ostyle}%
+ {S\pstyle}{S\tstyle}{S\plstyle}{S\postyle}{S\tlstyle}{S\tostyle}%
+ {S\scolshape}{S\olshape}{S\sishape}{S\ushape}{S\scushape}%
+ {S\uishape}{S\rishape}{S\dfshape}{S\swstyle}%
+ {S\nwwidth}{S\cdwidth}{S\ecwidth}{S\ucwidth}%
+ {S\etwidth}{S\epwidth}{S\exwidth}{S\uxwidth}{S\regwidth}%
+ {S\mbweight}{S\dbweight}{S\sbweight}{S\ebweight}%
+ {S\ubweight}{S\lgweight}{S\elweight}{S\ulweight}%
+ {F\textti}{F\textlt}{F\textof}{F\textalt}{F\textreg}{F\emboss}%
+ {F\textorn}{O\ornament}{F\textqt}{F\textsh}{F\texttm}{F\texttv}{F\textswash}%
+ {F\textln}{F\textos}{F\textin}{F\textsu}{F\textl}{F\texto}%
+ {F\textp}{F\textt}{F\textpl}{F\textpo}{F\texttl}{F\textto}%
+ {F\textol}{F\textsi}{F\textu}{F\textscu}%
+ {F\textui}{F\textri}{F\textdf}%
+ {F\textnw}{F\textcd}{F\textec}{F\textuc}%
+ {F\textet}{F\textep}{F\textex}{F\textux}{F\textrw}%
+ {F\textmb}{F\textdb}{F\textsb}{F\texteb}%
+ {F\textub}{F\textlg}{F\textel}{F\textul}}%
+ \IfFormatAtLeastTF{2020/02/02}\relax
+ {\g at addto@macro\MT at prot@check at cmds{{S\swshape}{F\textsw}}}}
+% \end{macrocode}
+% If \pkg{yfonts} is loaded, we add the relevant commands.
+% \begin{macrocode}
\MT at with@package at T{yfonts}
- {\g at addto@macro\MT at prot@check at cmds{{S\frakfamily}{S\swabfamily}{S\gothfamily}}}%
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\frakfamily}{S\swabfamily}{S\gothfamily}%
+ {F\textfrak}{F\textswab}{F\textgoth}}}%
+% \end{macrocode}
+% \pkg{csquotes}'s \cmd\enquote\ command.
+% It would take precedence over the one provided by \cls{ltxdoc}.
+%\changes{v3.1}{2022/11/29}{add \pkg{csquotes}'s commands
+% (reported by \contributor Shen Zhou Hong <@\at @>)
+% \githubissue{25}}
+% \begin{macrocode}
+ \MT at with@package at T{csquotes}
+ {\@ifclassloaded{ltxdoc}
+ {\patchcmd\MT at prot@check at cmds{E\enquote}{e\enquote}\relax\relax}
+ {\g at addto@macro\MT at prot@check at cmds{{e\enquote}}}%
+ \g at addto@macro\MT at prot@check at cmds{{e\textquote}%
+ {l\foreignquote}{l\hyphenquote}{l\foreigntextquote}{l\hyphentextquote}%
+ {{eX}\textcquote\textquote}%
+ {{lX}\foreigntextcquote\foreigntextquote}%
+ {{lX}\hyphentextcquote\hyphentextquote}}}%
}
% \end{macrocode}
%\end{macro}
@@ -8470,13 +8764,30 @@
}
% \end{macrocode}
%\end{macro}
+%\begin{macro}{\MT at prot@get at first@group at tc}
+% The variant for text commands (in case they start with another group).
+% \begin{macrocode}
+\def\MT at prot@get at first@group at tc{%
+ \MT at prot@ifcat\bgroup{%
+ \def\MT at temp*##1##2\MT at nil{\MT at ifempty{##1}\relax
+ {{\MT at prot@get at firstgroup@tc##1\MT at nil}}}%
+ }{%
+ \def\MT at temp*{\MT at prot@get at first@token}%
+ }%
+ \MT at temp*%
+}
+% \end{macrocode}
+%\end{macro}
%\begin{macro}{\MT at prot@get at first@token}
%\changes{v3.0e}{2022/06/15}{don't gobble previously captured content}
+%\changes{v3.1}{2023/03/06}{expand toks once}
% This can be called repeatedly.
% We add a letter or other character, \dots
% \begin{macrocode}
\def\MT at prot@get at first@token{%
- \def\MT at temp*{\ifMT at prot@\MT at prot@l{\the\MT at toks}\fi}%
+ \def\MT at temp*{\MT at exp@one at n\MT at ifempty{\the\MT at toks}
+ {\MT at exp@one at n\MT at ifempty{\the\MT at prot@toks}\relax{\the\MT at prot@toks\MT at gobble@to at nil}}
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}}%
\MT at prot@ifcat{a}{%
\def\MT at temp*{\MT at prot@addtoken at first}%
}{%
@@ -8487,7 +8798,7 @@
% a space character, \dots
% \begin{macrocode}
\MT at prot@ifx\@sptoken{%
- \def\MT at temp* {\MT at prot@get at firsttoken}%
+ \def\MT at temp* {\MT at prot@get at firstgroup}%
}{%
% \end{macrocode}
% commands, \dots
@@ -8499,20 +8810,21 @@
% \begin{macrocode}
\MT at prot@ifmacro{%
\MT at prot@iffirstcmd\UTFviii at two@octets{%
- \def\MT at temp*##1##2{\MT at prot@l{\the\MT at toks##1##2}}%
+ \def\MT at temp*##1##2{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2}}%
}{%
\MT at prot@iffirstcmd\UTFviii at three@octets{%
- \def\MT at temp*##1##2##3{\MT at prot@l{\the\MT at toks##1##2##3}}%
+ \def\MT at temp*##1##2##3{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2##3}}%
}{%
\MT at prot@iffirstcmd\UTFviii at four@octets{%
- \def\MT at temp*##1##2##3##4{\MT at prot@l{\the\MT at toks##1##2##3##4}}%
+ \def\MT at temp*##1##2##3##4{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2##3##4}}%
}{%
% \end{macrocode}
-% (this is for \pkg{csquotes})
+% (this is for chars made active by \pkg{csquotes}, via \cmd\MakeAutoQuote\ or
+% \cmd\MakeOuterQuote)
% \begin{macrocode}
- \MT at prot@iffirstcmd\csqQQ{\def\MT at temp*##1{\MT at prot@l{\the\MT at toks##1}}}{%
+ \MT at prot@iffirstcmd\csqQQ{\def\MT at temp*##1{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1}}}{%
% \end{macrocode}
-% or, finally, a <LICR> command.
+% or, finally, a <LICR> command.
% \begin{macrocode}
\MT at prot@iflicrcmd
}%
@@ -8543,7 +8855,7 @@
\def\MT at temp*{\MT at prot@addtoken at next}%
\MT at prot@ifcat{a}\relax{%
\MT at prot@ifcat{!}\relax{%
- \def\MT at temp*{\MT at prot@l{\the\MT at toks}}%
+ \def\MT at temp*{\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}%
}%
\MT at temp*%
@@ -8559,12 +8871,18 @@
%<*pdf-|lua-|xe->
\def\MT at prot@addtoken at next#1{%
\MT at toks\expandafter{\the\MT at toks#1}%
- \setbox\MT at tempbox\hbox{\the\MT at toks
+ \setbox\MT at tempbox\hbox{%
+% \end{macrocode}
+% We disable italic correction, which would prevent us from
+% seeing the ligature (with text commands).
+% \begin{macrocode}
+ \let\maybe at ic\relax
+ \MT at exp@one at n\MT at maybe@textcmd{\the\MT at toks}%
%<pdf-|xe-> \relax
%<lua-> }\setbox\MT at tempbox\hbox{\unhbox\MT at tempbox
\ifnum\lastnodetype=7 \aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi}%
\MT at prot@get at nexttoken
- {\MT at prot@l{\the\MT at toks}}%
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}
%</pdf-|lua-|xe->
% \end{macrocode}
@@ -10185,6 +10503,7 @@
% font family has already been loaded}
% Micro-typographic settings may be written into a file |mt-|\meta{font family}|.cfg|.
%\changes{v1.8}{2005/04/16}{no longer wrap names in commands}
+%\changes{v3.1}{2023/02/13}{simplify}
%\begin{macro}{\MT at file@list}
% We must also record whether we've already loaded the file.
% \begin{macrocode}
@@ -10204,23 +10523,20 @@
\MT at begin@catcodes
\let\MT at begin@catcodes\relax
\let\MT at end@catcodes\relax
- \InputIfFileExists{mt-#1.cfg}{%
- \edef\MT at curr@file{mt-#1.cfg}%
+ \MT at xadd\MT at file@list{#1,}%
+ \InputIfFileExists{\MT at cfg@prefix-#1.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-#1.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
- \MT at xadd\MT at file@list{#1,}%
}{%
\MT at get@basefamily#1\@empty\@empty\@empty\@nil
\MT at exp@one at n\MT at in@clist\@tempa\MT at file@list
- \ifMT at inlist@
- \MT at xadd\MT at file@list{#1,}%
- \else
- \InputIfFileExists{mt-\@tempa.cfg}{%
- \edef\MT at curr@file{mt-\@tempa.cfg}%
+ \ifMT at inlist@ \else
+ \InputIfFileExists{\MT at cfg@prefix-\@tempa.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-\@tempa.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
- \MT at xadd\MT at file@list{\@tempa,#1,}%
+ \MT at xadd\MT at file@list{\@tempa,}%
}{%
- \MT at vinfo{... No configuration file mt-#1.cfg}%
- \MT at xadd\MT at file@list{#1,}%
+ \MT at vinfo{... No configuration file \MT at cfg@prefix-#1.cfg}%
}%
\fi
}%
@@ -11601,6 +11917,7 @@
%</package>
}
%<plain>}\relax
+%</package|letterspace>
%<*package>
% \end{macrocode}
%\end{macro}
@@ -11646,6 +11963,7 @@
\expandafter\MT at rem@from at clist\MT at font\MT at font@list
\fi
}
+%</package>
% \end{macrocode}
%\end{macro}
%
@@ -11653,9 +11971,18 @@
%
% Here are the variants for context-sensitive setup.
%\begin{macro}{\MT at active@features}
-% The activated features are stored in this command.
+% The activated features are stored in a command.
+%\changes{v3.1}{2022/07/24}{always activate contexts for tracking}
+% We always allow contexts for tracking, because \cmd\textls\ may
+% be used without activating the feature.
% \begin{macrocode}
-\let\MT at active@features\@empty
+%<*pdf-|lua-|xe->
+%<pdf->\MT at requires@pdftex6
+%<lua->\MT at requires@luatex3
+%<pdf-|lua-> {\def\MT at active@features{,tr}}{%
+ \let\MT at active@features\@empty
+%<pdf-|lua-> }
+%</pdf-|lua-|xe->
% \end{macrocode}
%\end{macro}
%\begin{macro}{\MT at check@font at cx}
@@ -11666,6 +11993,7 @@
% This should be more efficient than book-keeping the fonts in lists associated
% with the combination of contexts, as we've done it before.
% \begin{macrocode}
+%<*package>
\def\MT at check@font at cx{%
\MT at if@true
\MT at map@clist at c\MT at active@features{%
@@ -12493,6 +12821,9 @@
}
% \end{macrocode}
%\end{macro}
+%
+%\subsubsection{Configuration file management}
+%
%\begin{macro}{\LoadMicrotypeFile}
%\changes{v1.7}{2005/03/22}{new command (suggested by
% \contributor Andreas B\"uhmann <andreas.buehmann\at web.de>)}
@@ -12505,24 +12836,36 @@
\@onelevel at sanitize\@tempa
\MT at exp@one at n\MT at in@clist\@tempa\MT at file@list
\ifMT at inlist@
- \MT at vinfo{... Configuration file mt-\@tempa.cfg already loaded}%
+ \MT at vinfo{... Configuration file \MT at cfg@prefix-\@tempa.cfg already loaded}%
\else
\MT at xadd\MT at file@list{\@tempa,}%
\MT at begin@catcodes
- \InputIfFileExists{mt-\@tempa.cfg}{%
- \edef\MT at curr@file{mt-\@tempa.cfg}%
+ \InputIfFileExists{\MT at cfg@prefix-\@tempa.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-\@tempa.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
}{%
- \MT at warning{Configuration file mt-\@tempa.cfg\MessageBreak
+ \MT at warning{Configuration file \MT at cfg@prefix-\@tempa.cfg\MessageBreak
does not exist}%
}%
\MT at end@catcodes
\fi
}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\MT at cfg@prefix}
+%\begin{macro}{\DeclareMicrotypeFilePrefix}
+%\changes{v3.1}{2023/03/01}{new command (suggested by
+% \contributor rallg <@\at @>) \githubissue{28}}
+% The configuration files' prefix may be customised.
+% \begin{macrocode}
+\def\MT at cfg@prefix{mt}
+\def\DeclareMicrotypeFilePrefix#1{%
+ \def\MT at cfg@prefix{#1}%
+}
%</package>
-%</package|letterspace>
% \end{macrocode}
%\end{macro}
+%\end{macro}
%
%\subsubsection{Disabling ligatures}
%
@@ -14802,7 +15145,6 @@
%<lua->\MT at requires@luatex3{%
\def\MT at setup@tracking{%
\ifMT at tracking
- \edef\MT at active@features{\MT at active@features,tr}%
\MT at info@nl{Tracking enabled}%
\MT at check@active at set{tr}%
% \end{macrocode}
@@ -19984,7 +20326,7 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \CheckSum{12598}
+% \CheckSum{12962}
%
% \Finale
%
@@ -20034,6 +20376,7 @@
# - Latin Modern Roman (OpenType)
# - Charis SIL (OpenType)
# - EB Garamond (OpenType)
+# - New Computer Modern (OpenType)
# - TeX Gyre Pagella (OpenType) ]
# (8) To create the code index and history run
makeindex -r -s microtype-gind.ist -t microtype-code.ilg -o microtype-code.ind microtype.idx microtype-code.idx
Modified: trunk/Master/texmf-dist/source/latex/microtype/microtype.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/microtype/microtype.ins 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/source/latex/microtype/microtype.ins 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
The `microtype' package
Subliminal refinements towards typographical perfection
- Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+ Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/letterspace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/letterspace.sty 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/letterspace.sty 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -34,9 +34,10 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{letterspace}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Robust letterspacing
(RS)]
+%% \item
\def\MT at MT
{letterspace}
\let\MT at restore@catcodes\@empty
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype-luatex.def 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -31,10 +31,11 @@
%%
\ProvidesFile
{microtype-luatex.def}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Definitions specific to
luatex
(RS)]
+%% \item
\let\MT at lua\directlua
\def\MT at luatex@no{6}
\ifnum\luatexversion<110
@@ -267,11 +268,13 @@
}
\def\MT at prot@addtoken at next#1{%
\MT at toks\expandafter{\the\MT at toks#1}%
- \setbox\MT at tempbox\hbox{\the\MT at toks
+ \setbox\MT at tempbox\hbox{%
+ \let\maybe at ic\relax
+ \MT at exp@one at n\MT at maybe@textcmd{\the\MT at toks}%
}\setbox\MT at tempbox\hbox{\unhbox\MT at tempbox
\ifnum\lastnodetype=7 \aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi}%
\MT at prot@get at nexttoken
- {\MT at prot@l{\the\MT at toks}}%
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}
\def\MT at expansion{\MT at maybe@do{ex}}
\def\MT at set@ex at codes@s{%
@@ -791,6 +794,10 @@
{1114111 }
\def\MT at max@slot
{1114111 }
+\MT at requires@luatex3
+ {\def\MT at active@features{,tr}}{%
+ \let\MT at active@features\@empty
+ }
\def\DisableLigatures{%
\MT at begin@catcodes
\MT at DisableLigatures
@@ -1185,7 +1192,6 @@
\MT at requires@luatex3{%
\def\MT at setup@tracking{%
\ifMT at tracking
- \edef\MT at active@features{\MT at active@features,tr}%
\MT at info@nl{Tracking enabled}%
\MT at check@active at set{tr}%
\ifMT at protrusion\else\MT at protrudechars\@ne\fi
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype-pdftex.def 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -31,10 +31,11 @@
%%
\ProvidesFile
{microtype-pdftex.def}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Definitions specific to
pdftex
(RS)]
+%% \item
\def\MT at pdftex@no{8}
\ifnum\pdftexversion = 140
\ifnum\pdftexrevision < 23
@@ -353,11 +354,13 @@
}
\def\MT at prot@addtoken at next#1{%
\MT at toks\expandafter{\the\MT at toks#1}%
- \setbox\MT at tempbox\hbox{\the\MT at toks
+ \setbox\MT at tempbox\hbox{%
+ \let\maybe at ic\relax
+ \MT at exp@one at n\MT at maybe@textcmd{\the\MT at toks}%
\relax
\ifnum\lastnodetype=7 \aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi}%
\MT at prot@get at nexttoken
- {\MT at prot@l{\the\MT at toks}}%
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}
\def\MT at expansion{\MT at maybe@do{ex}}
\def\MT at set@ex at codes@s{%
@@ -985,6 +988,10 @@
{127 }
\def\MT at max@slot
{255 }
+\MT at requires@pdftex6
+ {\def\MT at active@features{,tr}}{%
+ \let\MT at active@features\@empty
+ }
\MT at requires@pdftex5{
\def\DisableLigatures{%
\MT at begin@catcodes
@@ -1482,7 +1489,6 @@
\MT at requires@pdftex6{%
\def\MT at setup@tracking{%
\ifMT at tracking
- \edef\MT at active@features{\MT at active@features,tr}%
\MT at info@nl{Tracking enabled}%
\MT at check@active at set{tr}%
\ifMT at protrusion\else\MT at protrudechars\@ne\fi
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype-show.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype-show.sty 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype-show.sty 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -34,9 +34,10 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{microtype-show}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Visual debugging for the microtype package
(RS)]
+%% \item
\RequirePackage{iftex}
\ifetex\else
\PackageError{microtype-show}
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype-xetex.def 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -31,10 +31,11 @@
%%
\ProvidesFile
{microtype-xetex.def}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Definitions specific to
xetex
(RS)]
+%% \item
\def\MT at ifint#1{%
\if!\ifnum9<1#1!\else?\fi
\expandafter\@firstoftwo
@@ -227,11 +228,13 @@
}
\def\MT at prot@addtoken at next#1{%
\MT at toks\expandafter{\the\MT at toks#1}%
- \setbox\MT at tempbox\hbox{\the\MT at toks
+ \setbox\MT at tempbox\hbox{%
+ \let\maybe at ic\relax
+ \MT at exp@one at n\MT at maybe@textcmd{\the\MT at toks}%
\relax
\ifnum\lastnodetype=7 \aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi}%
\MT at prot@get at nexttoken
- {\MT at prot@l{\the\MT at toks}}%
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}
\DeclareRobustCommand\lsstyle{%
\MT at error{Letterspacing currently doesn't work with xetex}
@@ -287,6 +290,7 @@
{1114111 }
\def\MT at max@slot
{1114111 }
+ \let\MT at active@features\@empty
\renewcommand*\DisableLigatures[2][]{%
\MT at error{Disabling ligatures of a font is only possible\MessageBreak
with pdftex version 1.30 or newer.\MessageBreak
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -41,9 +41,10 @@
%%
\ProvidesFile
{microtype.cfg}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
microtype main configuration file
(RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% FONT SETS
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype.lua 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype.lua 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
--
-- The `microtype' package
-- Subliminal refinements towards typographical perfection
--- Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+-- Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
--
-- This work may be distributed and/or modified under the conditions of the
-- LaTeX Project Public License, either version 1.3c of this license or (at
@@ -35,8 +35,8 @@
local microtype = microtype
microtype.module = {
name = "microtype",
- version = "3.0f",
- date = "2022/06/23",
+ version = "3.1",
+ date = "2023/03/06",
description = "microtype module.",
author = "E. Roux, R. Schlicht and P. Gesang",
copyright = "E. Roux, R. Schlicht and P. Gesang",
@@ -43,6 +43,7 @@
license = "LPPL",
}
luatexbase.provides_module(microtype.module)
+-- \item
function microtype.info(...)
luatexbase.module_info("microtype",...)
Modified: trunk/Master/texmf-dist/tex/latex/microtype/microtype.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/microtype.sty 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/microtype.sty 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -30,9 +30,10 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage
{microtype}
- [2022/06/23 v3.0f
+ [2023/03/06 v3.1
Micro-typographical refinements
(RS)]
+%% \item
\def\MT at MT
{microtype}
\let\MT at restore@catcodes\@empty
@@ -74,6 +75,7 @@
\newcommand*\DeclareMicrotypeVariants[1]{}
\newcommand*\DeclareMicrotypeAlias[2]{}
\newcommand*\LoadMicrotypeFile[1]{}
+\newcommand*\DeclareMicrotypeFilePrefix[1]{}
\newcommand*\DeclareMicrotypeBabelHook[2]{}
\newcommand*\microtypesetup[1]{}
\newcommand*\microtypecontext[1]{}
@@ -96,6 +98,7 @@
\@onlypreamble\DisableLigatures
\@onlypreamble\DeclareMicrotypeVariants
\@onlypreamble\DeclareMicrotypeBabelHook
+\@onlypreamble\DeclareMicrotypeFilePrefix
\expandafter\let\csname ver at letterspace.sty\endcsname\@empty
\def\MT at old@cmd#1#2{%
\newcommand*#1{\MT at error{%
@@ -511,8 +514,8 @@
\MT at with@package at T{xunicode}\MT at xunicodetrue
\MT at with@package at T{fontspec}\MT at fontspectrue
\MT at glet\MT at setupfont@hook\@empty
- %\gdef\MT at setupfont@hook{\tracingnone
- % \MT at info{Silently doing my `magic' (Mittelbach) for font\MessageBreak\MT@@font}}%
+ %\gdef\MT at setupfont@hook{\ifnum\tracingmacros>\z@\tracingnone
+ % \MT at info{->Silently doing my `magic' (Mittelbach) for font\MessageBreak->\MT@@font}\fi}%
\MT at if@false
\MT at with@babel at and@T{spanish} \MT at if@true
\MT at with@babel at and@T{galician}\MT at if@true
@@ -594,19 +597,27 @@
\newif\ifMT at patch@ok
\def\MT at patch@info#1{\MT at info{Applying patch `#1'}}
\def\MT at patch@warn#1{\MT at warning{Unable to apply patch `#1'}}
-\def\MT at patch@undef#1{\MT at warning{Patch `#1' undefined. Cannot apply it}}
+\def\MT at patch@undef#1{\MT at warning{Patch `#1' undefined.\MessageBreak Cannot apply it}}
\def\MT at patch@info at undo#1{\MT at info{Reverting patch `#1'}}
\let\MT at patches@def\@gobble
\def\MT at define@patch#1#2#3{%
- \g at addto@macro\MT at patches@def{,#1}%
- \MT at def@n{MT at patch@@#1}{#2}%
- \MT at def@n{MT at patch@undo@@#1}{#3}%
+ \MT at ifdefined@n at TF{MT at patch@@#1}{%
+ \MT at warning{Patch `#1' already defined.\MessageBreak Cannot define it}%
+ }{%
+ \g at addto@macro\MT at patches@def{,#1}%
+ \MT at gdef@n{MT at patch@@#1}{#2}%
+ \MT at gdef@n{MT at patch@undo@@#1}{#3}%
+ }%
}
\let\MT at redefined@patches\@empty
\def\MT at redefine@patch#1#2#3{%
\g at addto@macro\MT at redefined@patches{%
- \MT at def@n{MT at patch@@#1}{#2}%
- \MT at def@n{MT at patch@undo@@#1}{#3}%
+ \MT at ifdefined@n at TF{MT at patch@@#1}{%
+ \MT at gdef@n{MT at patch@@#1}{#2}%
+ \MT at gdef@n{MT at patch@undo@@#1}{#3}%
+ }{%
+ \MT at warning{Patch `#1' undefined.\MessageBreak Cannot redefine it}%
+ }%
}%
}
\@onlypreamble\MT at define@patch
@@ -736,11 +747,15 @@
{\ignorespaces}{\ignorespaces\leftprotrusion}%
\MT at exp@cs\MT at patch@patch{beamerx@\string\@mpfootnotetext}
{\ignorespaces}{\ignorespaces\leftprotrusion}}
- {\@ifpackageloaded{scrkbase}
+ {\MT at ifdefined@c at TF\KOMAClassName
{\MT at patch@patch\scr at saved@footnotetext{\ignorespaces}{\ignorespaces\leftprotrusion}}%
{\MT at patch@patch\@footnotetext{\ignorespaces}{\ignorespaces\leftprotrusion}}%
\MT at patch@patch\@mpfootnotetext{\ignorespaces}{\ignorespaces\leftprotrusion}}}}%
}{}%
+ \MT at define@patch{verbatim}{%
+ \MT at append@patch\@verbatim{\microtypesetup{activate=false}}%
+ \MT at with@package at T{alltt}{\MT at append@patch\alltt{\microtypesetup{activate=false}}}%
+ }{}
\MT at redefined@patches
}}
\expandafter\ifx\the\font\nullfont\normalfont\fi
@@ -1045,14 +1060,22 @@
\DeclareRobustCommand\noprotrusionifhmode{\relax\ifhmode\kern-\p@\kern\p@\fi}
\DeclareRobustCommand\leftprotrusion{%
\MT at toks{}%
- \MT at prot@false
+ \MT at prot@toks{}%
+ \let\MT at prot@l\MT at prot@l@
+ \let\MT at maybe@textcmd\@firstofone
\MT at prot@get at firstgroup
}
-\newif\ifMT at prot@
-\def\MT at prot@l#1{%
+\def\MT at prot@l@#1{%
\MT at get@prot{#1}{left}%
#1%
}
+\newtoks\MT at prot@toks
+\def\MT at prot@l at tc#1{%
+ \MT at get@prot{\MT at maybe@textcmd{#1}}{left}%
+ \the\MT at prot@toks
+ \MT at gobble@to at nil
+}
+\def\MT at gobble@to at nil#1\MT at nil{}
\DeclareRobustCommand\rightprotrusion{\MT at prot@r}
\def\MT at prot@r#1{%
{#1}%
@@ -1123,41 +1146,71 @@
\expandafter\expandafter\expandafter\@tempa
\expandafter\MT at getthird\MT at prot@next\relax\@nil
\MT at exp@two at c\ifx\@car\@tempa\relax\@nil\@text at composite
- \def\MT at temp*##1##2{\MT at prot@l{\the\MT at toks##1##2}}%
+ \def\MT at temp*##1##2{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2}}%
\else
- \def\MT at temp*##1{\MT at prot@l{\the\MT at toks##1}}%
+ \def\MT at temp*##1{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1}}%
\fi
}%
}
-\def\MT at prot@addgroup{\bgroup\afterassignment\MT at prot@get at firsttoken\let\MT at temp= }
+\def\MT at prot@addgroup{\bgroup\afterassignment\MT at prot@get at firstgroup\let\MT at temp= }
\def\MT at prot@get at firstgroup{\futurelet\MT at prot@next\MT at prot@get at first@group}
+\def\MT at prot@get at firstgroup@tc{\futurelet\MT at prot@next\MT at prot@get at first@group at tc}
\def\MT at prot@get at firsttoken{\futurelet\MT at prot@next\MT at prot@get at first@token}
\def\MT at prot@get at nexttoken{\futurelet\MT at prot@next\MT at prot@get at next@token}
-\def\MT at prot@check#1{\MT at prot@check@#1}
-\def\MT at prot@check@#1#2{%
+\def\MT at prot@check#1{\MT at prot@check@#1\relax\@nil}
+\def\MT at prot@check@#1#2#3\@nil{%
\ifx\MT at prot@next#2%
- \MT at prot@true
- \csname MT at prot@check@#1\endcsname
+ \csname MT at prot@check@#1\endcsname #3%
\let\MT at prot@ifmacro\@gobble
\expandafter\MT at tlist@break
\fi
}
\def\MT at prot@check at I{%
- \def\MT at temp*##1{\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1{\MT at prot@get at firstgroup}%
}
\def\MT at prot@check at S{%
- \def\MT at temp*##1{\MT at toks\expandafter{\the\MT at toks##1}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1{\MT at toks\expandafter{\the\MT at toks##1}\MT at prot@get at firstgroup}%
}
\def\MT at prot@check at O{%
- \def\MT at temp*##1##2{\MT at toks\expandafter{\the\MT at toks##1{##2}}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1##2{\MT at toks\expandafter{\the\MT at toks##1{##2}}\MT at prot@get at firstgroup}%
}
\def\MT at prot@check at T{%
- \def\MT at temp*##1##2##3{\MT at toks\expandafter{\the\MT at toks##1{##2}{##3}}\MT at prot@get at firsttoken}%
+ \def\MT at temp*##1##2##3{\MT at toks\expandafter{\the\MT at toks##1{##2}{##3}}\MT at prot@get at firstgroup}%
}
+\def\MT at prot@check at E{%
+ \def\MT at temp*##1{\MT at prot@l{##1}}%
+}
+\def\MT at prot@check at e{%
+ \def\MT at temp*##1{\@ifstar{\MT at prot@l{##1*}}{\MT at prot@l{##1}}}%
+}
+\def\MT at prot@check at eX#1{%
+ \def\MT at temp*##1{\@ifstar
+ {\MT at get@prot{#1*}{left}##1*}
+ {\MT at get@prot{#1}{left}##1}}}
+\def\MT at prot@check at l{%
+ \def\MT at temp*##1{\@ifstar{\MT at prot@check at l@{##1*}}{\MT at prot@check at l@{##1}}}}
+\def\MT at prot@check at l@#1#2{\MT at prot@l{#1{#2}}}
+\def\MT at prot@check at lX#1{%
+ \def\MT at temp*##1{\@ifstar
+ {\def\MT at temp{##1*}\MT at prot@check at lX@{#1*}}
+ {\def\MT at temp{##1}\MT at prot@check at lX@{#1}}}}
+\def\MT at prot@check at lX@#1#2{%
+ \MT at get@prot{#1{#2}}{left}\MT at temp{#2}}
+\def\MT at prot@check at F{%
+ \ifx\MT at prot@l\MT at prot@l at tc
+ \def\MT at temp*{\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
+ \else
+ \let\MT at prot@l\MT at prot@l at tc
+ \def\MT at temp*##1##2{%
+ \let\MT at maybe@textcmd##1%
+ \MT at prot@toks{##1{##2}}%
+ \MT at prot@get at firstgroup@tc##2\MT at nil}%
+ \fi
+}
\def\MT at prot@check at cmds{%
{I\ignorespaces}{I\relax}{I\@empty}%
{S\rmfamily}{S\sffamily}{S\ttfamily}{S\mdseries}{S\bfseries}%
- {S\upshape}{S\slshape}{S\itshape}{S\scshape}%
+ {S\upshape}{S\itshape}{S\slshape}{S\scshape}{S\em}%
{S\normalfont}{S\selectfont}%
{S\lsstyle}%
{S\tiny}{S\scriptsize}{S\footnotesize}{S\small}{S\normalsize}%
@@ -1165,14 +1218,71 @@
{O\fontencoding}{O\fontfamily}{O\fontseries}{O\fontshape}%
{O\microtypesetup}{O\microtypecontext}%
{T\fontsize}%
+ {F\textrm}{F\textsf}{F\texttt}{F\textnormal}%
+ {F\textbf}{F\textmd}{F\textit}{F\textsl}{F\textsc}{F\textup}{F\emph}%
+ {F\MakeUppercase}{F\MakeLowercase}%
}
\IfFormatAtLeastTF{2020/02/02}
{\g at addto@macro\MT at prot@check at cmds{%
{S\swshape}{S\ulcshape}{S\sscshape}{S\normalshape}%
- {O\fontseriesforce}{O\fontshapeforce}}}{}
+ {F\textulc}{F\textsw}{F\textssc}%
+ {O\fontseriesforce}{O\fontshapeforce}}}
+ \relax
+\IfFormatAtLeastTF{2022/11/01}
+ {\g at addto@macro\MT at prot@check at cmds{{F\MakeTitlecase}}}\relax
+\@ifclassloaded{ltxdoc}
+ {\g at addto@macro\MT at prot@check at cmds{{E\enquote}{E\marg}{E\oarg}{E\parg}{E\cs}}}\relax
\MT at addto@setup{%
+ \MT at with@package at T{doc}
+ {\g at addto@macro\MT at prot@check at cmds{{E\meta}}}%
+ \MT at with@package at T{fontaxes}
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\txfigures}{S\lnfigures}{S\tbfigures}{S\prfigures}%
+ {O\fontfigurestyle}{O\fontfigurealignment}{O\fontbasefamily}%
+ {O\figureversion}%
+ {F\textsw}{F\textssc}{F\textulc}%
+ {F\textfigures}{F\liningfigures}{F\tabularfigures}{F\proportionalfigures}}%
+ \IfFormatAtLeastTF{2020/02/02}\relax
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\swshape}{S\ulcshape}{S\sscshape}%
+ {F\textulc}{F\textsw}{F\textssc}}}}
+ \MT at with@package at T{nfssext-cfr}
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\tistyle}{S\ltstyle}{S\ofstyle}{S\altstyle}{S\regstyle}{S\embossstyle}%
+ {S\ornamentalstyle}{S\qtstyle}{S\shstyle}{S\tmstyle}{S\tvstyle}{S\swashstyle}%
+ {S\lnstyle}{S\osstyle}{S\instyle}{S\sustyle}{S\lstyle}{S\ostyle}%
+ {S\pstyle}{S\tstyle}{S\plstyle}{S\postyle}{S\tlstyle}{S\tostyle}%
+ {S\scolshape}{S\olshape}{S\sishape}{S\ushape}{S\scushape}%
+ {S\uishape}{S\rishape}{S\dfshape}{S\swstyle}%
+ {S\nwwidth}{S\cdwidth}{S\ecwidth}{S\ucwidth}%
+ {S\etwidth}{S\epwidth}{S\exwidth}{S\uxwidth}{S\regwidth}%
+ {S\mbweight}{S\dbweight}{S\sbweight}{S\ebweight}%
+ {S\ubweight}{S\lgweight}{S\elweight}{S\ulweight}%
+ {F\textti}{F\textlt}{F\textof}{F\textalt}{F\textreg}{F\emboss}%
+ {F\textorn}{O\ornament}{F\textqt}{F\textsh}{F\texttm}{F\texttv}{F\textswash}%
+ {F\textln}{F\textos}{F\textin}{F\textsu}{F\textl}{F\texto}%
+ {F\textp}{F\textt}{F\textpl}{F\textpo}{F\texttl}{F\textto}%
+ {F\textol}{F\textsi}{F\textu}{F\textscu}%
+ {F\textui}{F\textri}{F\textdf}%
+ {F\textnw}{F\textcd}{F\textec}{F\textuc}%
+ {F\textet}{F\textep}{F\textex}{F\textux}{F\textrw}%
+ {F\textmb}{F\textdb}{F\textsb}{F\texteb}%
+ {F\textub}{F\textlg}{F\textel}{F\textul}}%
+ \IfFormatAtLeastTF{2020/02/02}\relax
+ {\g at addto@macro\MT at prot@check at cmds{{S\swshape}{F\textsw}}}}
\MT at with@package at T{yfonts}
- {\g at addto@macro\MT at prot@check at cmds{{S\frakfamily}{S\swabfamily}{S\gothfamily}}}%
+ {\g at addto@macro\MT at prot@check at cmds{%
+ {S\frakfamily}{S\swabfamily}{S\gothfamily}%
+ {F\textfrak}{F\textswab}{F\textgoth}}}%
+ \MT at with@package at T{csquotes}
+ {\@ifclassloaded{ltxdoc}
+ {\patchcmd\MT at prot@check at cmds{E\enquote}{e\enquote}\relax\relax}
+ {\g at addto@macro\MT at prot@check at cmds{{e\enquote}}}%
+ \g at addto@macro\MT at prot@check at cmds{{e\textquote}%
+ {l\foreignquote}{l\hyphenquote}{l\foreigntextquote}{l\hyphentextquote}%
+ {{eX}\textcquote\textquote}%
+ {{lX}\foreigntextcquote\foreigntextquote}%
+ {{lX}\hyphentextcquote\hyphentextquote}}}%
}
\def\MT at prot@get at first@group{%
\MT at prot@ifcat\bgroup{%
@@ -1182,8 +1292,19 @@
}%
\MT at temp*%
}
+\def\MT at prot@get at first@group at tc{%
+ \MT at prot@ifcat\bgroup{%
+ \def\MT at temp*##1##2\MT at nil{\MT at ifempty{##1}\relax
+ {{\MT at prot@get at firstgroup@tc##1\MT at nil}}}%
+ }{%
+ \def\MT at temp*{\MT at prot@get at first@token}%
+ }%
+ \MT at temp*%
+}
\def\MT at prot@get at first@token{%
- \def\MT at temp*{\ifMT at prot@\MT at prot@l{\the\MT at toks}\fi}%
+ \def\MT at temp*{\MT at exp@one at n\MT at ifempty{\the\MT at toks}
+ {\MT at exp@one at n\MT at ifempty{\the\MT at prot@toks}\relax{\the\MT at prot@toks\MT at gobble@to at nil}}
+ {\MT at exp@one at n\MT at prot@l{\the\MT at toks}}}%
\MT at prot@ifcat{a}{%
\def\MT at temp*{\MT at prot@addtoken at first}%
}{%
@@ -1191,21 +1312,21 @@
\def\MT at temp*{\MT at prot@addtoken at first}%
}{%
\MT at prot@ifx\@sptoken{%
- \def\MT at temp* {\MT at prot@get at firsttoken}%
+ \def\MT at temp* {\MT at prot@get at firstgroup}%
}{%
\let\MT at prot@ifmacro\MT at prot@ifmacro@
\MT at map@tlist at c\MT at prot@check at cmds\MT at prot@check
\MT at prot@ifmacro{%
\MT at prot@iffirstcmd\UTFviii at two@octets{%
- \def\MT at temp*##1##2{\MT at prot@l{\the\MT at toks##1##2}}%
+ \def\MT at temp*##1##2{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2}}%
}{%
\MT at prot@iffirstcmd\UTFviii at three@octets{%
- \def\MT at temp*##1##2##3{\MT at prot@l{\the\MT at toks##1##2##3}}%
+ \def\MT at temp*##1##2##3{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2##3}}%
}{%
\MT at prot@iffirstcmd\UTFviii at four@octets{%
- \def\MT at temp*##1##2##3##4{\MT at prot@l{\the\MT at toks##1##2##3##4}}%
+ \def\MT at temp*##1##2##3##4{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1##2##3##4}}%
}{%
- \MT at prot@iffirstcmd\csqQQ{\def\MT at temp*##1{\MT at prot@l{\the\MT at toks##1}}}{%
+ \MT at prot@iffirstcmd\csqQQ{\def\MT at temp*##1{\MT at exp@one at n\MT at prot@l{\the\MT at toks##1}}}{%
\MT at prot@iflicrcmd
}%
}%
@@ -1225,7 +1346,7 @@
\def\MT at temp*{\MT at prot@addtoken at next}%
\MT at prot@ifcat{a}\relax{%
\MT at prot@ifcat{!}\relax{%
- \def\MT at temp*{\MT at prot@l{\the\MT at toks}}%
+ \def\MT at temp*{\MT at exp@one at n\MT at prot@l{\the\MT at toks}}%
}%
}%
\MT at temp*%
@@ -1300,23 +1421,20 @@
\MT at begin@catcodes
\let\MT at begin@catcodes\relax
\let\MT at end@catcodes\relax
- \InputIfFileExists{mt-#1.cfg}{%
- \edef\MT at curr@file{mt-#1.cfg}%
+ \MT at xadd\MT at file@list{#1,}%
+ \InputIfFileExists{\MT at cfg@prefix-#1.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-#1.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
- \MT at xadd\MT at file@list{#1,}%
}{%
\MT at get@basefamily#1\@empty\@empty\@empty\@nil
\MT at exp@one at n\MT at in@clist\@tempa\MT at file@list
- \ifMT at inlist@
- \MT at xadd\MT at file@list{#1,}%
- \else
- \InputIfFileExists{mt-\@tempa.cfg}{%
- \edef\MT at curr@file{mt-\@tempa.cfg}%
+ \ifMT at inlist@ \else
+ \InputIfFileExists{\MT at cfg@prefix-\@tempa.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-\@tempa.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
- \MT at xadd\MT at file@list{\@tempa,#1,}%
+ \MT at xadd\MT at file@list{\@tempa,}%
}{%
- \MT at vinfo{... No configuration file mt-#1.cfg}%
- \MT at xadd\MT at file@list{#1,}%
+ \MT at vinfo{... No configuration file \MT at cfg@prefix-#1.cfg}%
}%
\fi
}%
@@ -1794,7 +1912,6 @@
\expandafter\MT at rem@from at clist\MT at font\MT at font@list
\fi
}
-\let\MT at active@features\@empty
\def\MT at check@font at cx{%
\MT at if@true
\MT at map@clist at c\MT at active@features{%
@@ -2220,20 +2337,24 @@
\@onelevel at sanitize\@tempa
\MT at exp@one at n\MT at in@clist\@tempa\MT at file@list
\ifMT at inlist@
- \MT at vinfo{... Configuration file mt-\@tempa.cfg already loaded}%
+ \MT at vinfo{... Configuration file \MT at cfg@prefix-\@tempa.cfg already loaded}%
\else
\MT at xadd\MT at file@list{\@tempa,}%
\MT at begin@catcodes
- \InputIfFileExists{mt-\@tempa.cfg}{%
- \edef\MT at curr@file{mt-\@tempa.cfg}%
+ \InputIfFileExists{\MT at cfg@prefix-\@tempa.cfg}{%
+ \edef\MT at curr@file{\MT at cfg@prefix-\@tempa.cfg}%
\MT at vinfo{... Loading configuration file \MT at curr@file}%
}{%
- \MT at warning{Configuration file mt-\@tempa.cfg\MessageBreak
+ \MT at warning{Configuration file \MT at cfg@prefix-\@tempa.cfg\MessageBreak
does not exist}%
}%
\MT at end@catcodes
\fi
}
+\def\MT at cfg@prefix{mt}
+\def\DeclareMicrotypeFilePrefix#1{%
+ \def\MT at cfg@prefix{#1}%
+}
\def\DeclareMicrotypeBabelHook#1#2{%
\MT at map@clist at n{#1}{%
\KV@@sp at def\@tempa{##1}%
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-CharisSIL.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-EBGaramond.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-EBGaramond.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-EBGaramond.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -11,7 +11,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -41,6 +41,7 @@
%%
\ProvidesFile
{mt-EBGaramond.cfg}[2021/10/25 v2.0 microtype config. file: EB Garamond / Adobe Garamond (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% CHARACTER INHERITANCE
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-NewComputerModern.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-NewComputerModern.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-NewComputerModern.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-Palatino.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-Palatino.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-Palatino.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-basic.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-basic.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-basic.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-empty.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-empty.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-TU-empty.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-bch.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-bch.cfg}[2007/03/03 v1.5 microtype config. file: Bitstream Charter (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-blg.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-blg.cfg}[2007/07/14 v1.0 microtype config. file: Bitstream Letter Gothic (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-cmr.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-cmr.cfg}[2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-euf.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-euf.cfg}[2006/07/03 v1.1 microtype config. file: AMS Euler Fraktur (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-eur.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-eur.cfg}[2006/07/31 v1.1 microtype config. file: AMS Euler Roman (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-eus.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-eus.cfg}[2006/07/28 v1.2 microtype config. file: AMS Euler Script (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-msa.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-msa.cfg}[2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-msb.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-msb.cfg}[2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-mvs.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-mvs.cfg}[2006/07/05 v1.1 microtype config. file: Marvosym Euro (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% CHARACTER INHERITANCE
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-pmn.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -47,6 +47,7 @@
%%
\ProvidesFile
{mt-pmn.cfg}[2009/11/14 v1.3 microtype config. file: Adobe Minion (HH/KK)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-ppl.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-ppl.cfg}[2005/11/16 v1.6 microtype config. file: Palatino (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-ptm.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-ptm.cfg}[2006/04/20 v1.7 microtype config. file: Times (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-ugm.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-ugm.cfg}[2006/01/26 v1.0 microtype config. file: URW Garamond (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% PROTRUSION
Modified: trunk/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg 2023-03-07 22:20:24 UTC (rev 66435)
+++ trunk/Master/texmf-dist/tex/latex/microtype/mt-zpeu.cfg 2023-03-07 22:20:41 UTC (rev 66436)
@@ -10,7 +10,7 @@
%%
%% The `microtype' package
%% Subliminal refinements towards typographical perfection
-%% Copyright (c) 2004--2022 R Schlicht <w.m.l at gmx.net>
+%% Copyright (c) 2004--2023 R Schlicht <w.m.l at gmx.net>
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
@@ -40,6 +40,7 @@
%%
\ProvidesFile
{mt-zpeu.cfg}[2006/05/04 v1.0 microtype config. file: Adobe Euro (RS)]
+%% \item
%%% -----------------------------------------------------------------------
%%% CHARACTER INHERITANCE
More information about the tex-live-commits
mailing list.