texlive[69732] Master: bodeplot (7feb24)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 7 22:01:07 CET 2024


Revision: 69732
          https://tug.org/svn/texlive?view=revision&revision=69732
Author:   karl
Date:     2024-02-07 22:01:06 +0100 (Wed, 07 Feb 2024)
Log Message:
-----------
bodeplot (7feb24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx
    trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot-doc.pdf

Deleted: trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot-doc.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf	2024-02-07 00:43:36 UTC (rev 69731)
+++ trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf	2024-02-07 21:01:06 UTC (rev 69732)

Property changes on: trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx	2024-02-07 00:43:36 UTC (rev 69731)
+++ trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx	2024-02-07 21:01:06 UTC (rev 69732)
@@ -69,7 +69,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{1769}
+% \CheckSum{1858}
 %
 % \changes{v1.0}{2021/10/25}{Initial release}
 % \changes{v1.0.4}{2021/11/05}{Fixed unintended optional argument macro expansion}
@@ -79,12 +79,12 @@
 % \changes{v1.0.8}{2022/07/06}{Added a new class option `declutter'}
 % \changes{v1.1.0}{2022/07/06}{Fixed phase wrapping in gnuplot mode}
 % \changes{v1.1.1}{2022/07/31}{Enable Hz and rad units}
-% \changes{v1.1.5}{2024/01/11}{Detect `babel-french' to handle active characters}
+% \changes{v1.1.7}{2024/02/06}{Detect and turn off shorthands to improve `babel' compatibility}
 %
 % \GetFileInfo{bodeplot.sty}
-% \DoNotIndex{\newcommand,\xdef,\gdef,\def,\edef,\addplot,\approx,\arabic,\opt,\typ,\obj,\else,\if at pgfarg,\if at Hzarg,\if at radarg,\if at declutterarg,\if at babel@french,\fi,\begin,\end,\feature,\footnotesize,\draw,\detokenize,\DeclareOption,\foreach,\ifdim,\ifodd,\Im,\Re,\let,\newif,\nextgroupplot,\noexpand,\expandafter,\unexpanded,\PackageError,\PackageWarning,\relax,\RequirePackage,\tikzset,\pgfmathsetmacro,\pgfmathtruncatemacro,\ProcessOptions}
+% \DoNotIndex{\newcommand,\xdef,\gdef,\def,\edef,\addplot,\approx,\arabic,\opt,\typ,\obj,\else,\if at pgfarg,\if at Hzarg,\if at radarg,\if at declutterarg,\if at babel,\fi,\begin,\end,\feature,\footnotesize,\draw,\detokenize,\DeclareOption,\foreach,\ifdim,\ifodd,\Im,\Re,\let,\newif,\nextgroupplot,\noexpand,\expandafter,\unexpanded,\PackageError,\PackageWarning,\relax,\RequirePackage,\tikzset,\pgfmathsetmacro,\pgfmathtruncatemacro,\ProcessOptions}
 %
-% \title{The \textsf{bodeplot} package\\version 1.1.6}
+% \title{The \textsf{bodeplot} package\\version 1.1.7}
 % \author{Rushikesh Kamalapurkar \\ \texttt{rlkamalapurkar at gmail.com}}
 %
 % \maketitle
@@ -839,7 +839,6 @@
 % \changes{v1.0.3}{2021/11/03}{Added jobname to gnuplot prefix}
 % \changes{v1.0.8}{2022/07/06}{Fixed issue \#6}
 % \changes{v1.1.4}{2023/10/12}{Changed phase wrapping in pgf mode}
-% \changes{v1.1.5}{2024/01/11}{Added babel option to handle active characters}
 % We start by processing the class options. 
 %    \begin{macrocode}
 \newif\if at pgfarg\@pgfargfalse
@@ -904,17 +903,27 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \begin{macro}{\if at babel@french}
-% Check if the |babel| package is loaded with French language option.\changes{v1.1.6}{2024/01/14}{Detect `babel-french' using `frenchbsetup'}
+% \begin{macro}{\if at babel}
+% \begin{macro}{\shorthand at list}
+% Check if the |babel| package is loaded and generate a list of shorthands if it is. The code is based on \href{https://tex.stackexchange.com/a/708797/110602}{this stackexchange answer}.\changes{v1.1.6}{2024/01/14}{Detect `babel-french' using `frenchbsetup'}\changes{v1.1.7}{2024/02/06}{Directly detect shorthands instead of detecting the language.}
 %    \begin{macrocode}
-\newif\if at babel@french\@babel at frenchfalse
-\AtBeginDocument{
-  \ifdefined\frenchbsetup
-    \@babel at frenchtrue
-  \fi
+\newif\if at babel\@babelfalse
+\AtBeginDocument{%
+  \@ifpackageloaded{babel}{%
+    \@babeltrue
+    \let\shorthand at list\@empty
+    \def\do#1{%
+      \begingroup
+        \lccode`\~=`#1\relax
+        \lowercase{\ifbabelshorthand~{\g at addto@macro\shorthand at list{~}}{}}
+      \endgroup
+    }
+    \dospecials
+  }{}
 }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \begin{macro}{bode at style}
 % Default axis properties for all plot macros are collected in this |pgf| style.
 %    \begin{macrocode}
@@ -1325,19 +1334,19 @@
   \end{tikzpicture}
 }
 %    \end{macrocode}
-% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at BodeZPK\BodeZPK
-    \renewcommand{\BodeZPK}{%
-      \shorthandoff{;:!?}%
-      \BodeZPK at Shorthandoff
-    }
-    \newcommand{\BodeZPK at Shorthandoff}[4][]{%
-      \Orig at BodeZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at BodeZPK\BodeZPK
+  \renewcommand{\BodeZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \BodeZPK at Shorthandoff
+  }
+  \newcommand{\BodeZPK at Shorthandoff}[4][]{%
+    \Orig at BodeZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 %    \end{macrocode}
@@ -1402,19 +1411,19 @@
   \end{tikzpicture}
 }
 %    \end{macrocode}
-% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 %    \begin{macrocode}
 \AtBeginDocument{
-  \if at babel@french
-    \let\Orig at BodeTF\BodeTF
-    \renewcommand{\BodeTF}{%
-      \shorthandoff{;:!?}%
-      \BodeTF at Shorthandoff
-    }
-    \newcommand{\BodeTF at Shorthandoff}[4][]{%
-      \Orig at BodeTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+  \if at babel
+  \let\Orig at BodeTF\BodeTF
+  \renewcommand{\BodeTF}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \BodeTF at Shorthandoff
+  }
+  \newcommand{\BodeTF at Shorthandoff}[4][]{%
+    \Orig at BodeTF[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 %    \end{macrocode}
@@ -1524,11 +1533,12 @@
 %    \end{macrocode}
 %\end{macro}
 % \begin{environment}{BodePhPlot}
-% An environment to host phase plot macros that pass parametric functions to |\addplot| macros. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |semilogaxis| environments.\changes{v1.1.0}{2022/07/20}{Added separate environments for phase and magnitude plots}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2023/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}
+% An environment to host phase plot macros that pass parametric functions to |\addplot| macros. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |semilogaxis| environments. The body of the environment is grabbed as a macro to maintain compatibility with externalization in |tikz|.\changes{v1.1.0}{2022/07/20}{Added separate environments for phase and magnitude plots}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2024/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of active characters instead of manually entering them.}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodePhPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodePhPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodePhPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodePhPlot}{O{}mm+b}{
@@ -1553,11 +1563,12 @@
 %    \end{macrocode}
 % \end{environment}
 % \begin{environment}{BodeMagPlot}
-% An environment to host magnitude plot macros that pass parametric functions to |\addplot| macros. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |semilogaxis| environments.\changes{v1.1.0}{2022/07/20}{Added separate environments for phase and magnitude plots}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2023/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}
+% An environment to host magnitude plot macros that pass parametric functions to |\addplot| macros. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |semilogaxis| environments.\changes{v1.1.0}{2022/07/20}{Added separate environments for phase and magnitude plots}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2024/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of active characters instead of manually entering them.}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodeMagPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodeMagPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodeMagPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodeMagPlot}{O{}mm+b}{
@@ -1582,11 +1593,12 @@
 %    \end{macrocode}
 % \end{environment}
 % \begin{environment}{BodePlot}
-% Same as |BodeMagPlot|. The |BodePlot| environment is deprecated as of v1.1.0, please use the |BodePhPlot| and |BodeMagPlot| environments instead.\changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.0}{2022/02/20}{Deprecated BodePlot environment}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2023/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}
+% Same as |BodeMagPlot|. The |BodePlot| environment is deprecated as of v1.1.0, please use the |BodePhPlot| and |BodeMagPlot| environments instead.\changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.0}{2022/02/20}{Deprecated BodePlot environment}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEnviron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2024/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of active characters instead of manually entering them.}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodePlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodePlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodePlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodePlot}{O{}mm+b}{
@@ -1889,19 +1901,19 @@
   \end{tikzpicture}
 }
 %    \end{macrocode}
-% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NyquistZPK\NyquistZPK
-    \renewcommand{\NyquistZPK}{%
-      \shorthandoff{;:!?}%
-      \NyquistZPK at Shorthandoff
-    }
-    \newcommand{\NyquistZPK at Shorthandoff}[4][]{%
-      \Orig at NyquistZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NyquistZPK\NyquistZPK
+  \renewcommand{\NyquistZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NyquistZPK at Shorthandoff
+  }
+  \newcommand{\NyquistZPK at Shorthandoff}[4][]{%
+    \Orig at NyquistZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 %    \end{macrocode}
@@ -1944,19 +1956,19 @@
   \end{tikzpicture}
 }
 %    \end{macrocode}
-% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% The following code handles active characters to avoid conflicts with `babel.'\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NyquistTF\NyquistTF
-    \renewcommand{\NyquistTF}{%
-      \shorthandoff{;:!?}%
-      \NyquistTF at Shorthandoff
-    }
-    \newcommand{\NyquistTF at Shorthandoff}[4][]{%
-      \Orig at NyquistTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NyquistTF\NyquistTF
+  \renewcommand{\NyquistTF}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NyquistTF at Shorthandoff
+  }
+  \newcommand{\NyquistTF at Shorthandoff}[4][]{%
+    \Orig at NyquistTF[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 %    \end{macrocode}
@@ -2006,11 +2018,12 @@
 %    \end{macrocode}
 %\end{macro}
 %\begin{macro}{NyquistPlot}
-% An environment to host |\addNyquist...| macros that pass parametric functions to |\addplot|. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |axis| environments. \changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEniron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2023/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}
+% An environment to host |\addNyquist...| macros that pass parametric functions to |\addplot|. Uses the defaults specified in |bode at style| to create a shortcut that includes the |tikzpicture| and |axis| environments. \changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEniron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2024/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of active characters instead of manually entering them.}
 %    \begin{macrocode}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/NyquistPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/NyquistPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/NyquistPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{NyquistPlot}{O{}mm+b}{
@@ -2067,11 +2080,11 @@
 % \end{macro}
 % \subsection{Nichols charts}
 % \begin{macro}{\NicholsZPK}
-% \changes{v1.0.3}{2021/11/03}{Added commands and tikz options}\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% \changes{v1.0.3}{2021/11/03}{Added commands and tikz options}\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 % \begin{macro}{\NicholsTF}
-% \changes{v1.0.3}{2021/11/03}{Added commands and tikz options}\changes{v1.1.5}{2023/01/11}{Added code to handle active characters}
+% \changes{v1.0.3}{2021/11/03}{Added commands and tikz options}\changes{v1.1.5}{2024/01/11}{Added code to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of shorthands instead of manually specifying them}
 % \begin{macro}{NicholsChart}
-% \changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEniron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2023/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}
+% \changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEniron' command from the `environ' package to fix conflicts with externalization}\changes{v1.1.5}{2024/01/11}{Defined using the `NewDocumentEnvironment' command from the `xparse' package and added a hook to handle active characters}\changes{v1.1.7}{2024/02/06}{Use auto-generated list of active characters instead of manually entering them.}
 % \begin{macro}{\addNicholsZPKChart}
 % \changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 % \begin{macro}{\addNicholsTFChart}
@@ -2116,17 +2129,17 @@
     \end{axis}
   \end{tikzpicture}
 }
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NicholsZPK\NicholsZPK
-    \renewcommand{\NicholsZPK}{%
-      \shorthandoff{;:!?}%
-      \NicholsZPK at Shorthandoff
-    }
-    \newcommand{\NicholsZPK at Shorthandoff}[4][]{%
-      \Orig at NicholsZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NicholsZPK\NicholsZPK
+  \renewcommand{\NicholsZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NicholsZPK at Shorthandoff
+  }
+  \newcommand{\NicholsZPK at Shorthandoff}[4][]{%
+    \Orig at NicholsZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\NicholsTF}[4][]{
@@ -2171,17 +2184,18 @@
   \end{tikzpicture}
 }
 \AtBeginDocument{
-  \if at babel@french
+  \if at babel
     \let\Orig at NicholsTF\NicholsTF
     \renewcommand{\NicholsTF}{%
-      \shorthandoff{;:!?}%
+      \expandafter\shorthandoff\expandafter{\shorthand at list}
       \NicholsTF at Shorthandoff
     }
     \newcommand{\NicholsTF at Shorthandoff}[4][]{%
-      \Orig at NicholsTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
+      \Orig at NicholsTF[#1]{#2}{#3}{#4}
+      \expandafter\shorthandon\expandafter{\shorthand at list}
     }
-    \AddToHook{env/NicholsChart/begin}{\shorthandoff{;:!?}}
+    \AddToHook{env/NicholsChart/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/NicholsChart/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{NicholsChart}{O{}mm+b}{

Modified: trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty	2024-02-07 00:43:36 UTC (rev 69731)
+++ trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty	2024-02-07 21:01:06 UTC (rev 69732)
@@ -69,11 +69,19 @@
     \fi
   \fi
 \fi
-\newif\if at babel@french\@babel at frenchfalse
-\AtBeginDocument{
-  \ifdefined\frenchbsetup
-    \@babel at frenchtrue
-  \fi
+\newif\if at babel\@babelfalse
+\AtBeginDocument{%
+  \@ifpackageloaded{babel}{%
+    \@babeltrue
+    \let\shorthand at list\@empty
+    \def\do#1{%
+      \begingroup
+        \lccode`\~=`#1\relax
+        \lowercase{\ifbabelshorthand~{\g at addto@macro\shorthand at list{~}}{}}
+      \endgroup
+    }
+    \dospecials
+  }{}
 }
 \pgfplotsset{
   bode at style/.style = {
@@ -291,17 +299,17 @@
     \end{groupplot}
   \end{tikzpicture}
 }
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at BodeZPK\BodeZPK
-    \renewcommand{\BodeZPK}{%
-      \shorthandoff{;:!?}%
-      \BodeZPK at Shorthandoff
-    }
-    \newcommand{\BodeZPK at Shorthandoff}[4][]{%
-      \Orig at BodeZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at BodeZPK\BodeZPK
+  \renewcommand{\BodeZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \BodeZPK at Shorthandoff
+  }
+  \newcommand{\BodeZPK at Shorthandoff}[4][]{%
+    \Orig at BodeZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\BodeTF}[4][]{
@@ -361,16 +369,16 @@
   \end{tikzpicture}
 }
 \AtBeginDocument{
-  \if at babel@french
-    \let\Orig at BodeTF\BodeTF
-    \renewcommand{\BodeTF}{%
-      \shorthandoff{;:!?}%
-      \BodeTF at Shorthandoff
-    }
-    \newcommand{\BodeTF at Shorthandoff}[4][]{%
-      \Orig at BodeTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+  \if at babel
+  \let\Orig at BodeTF\BodeTF
+  \renewcommand{\BodeTF}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \BodeTF at Shorthandoff
+  }
+  \newcommand{\BodeTF at Shorthandoff}[4][]{%
+    \Orig at BodeTF[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\addBodeZPKPlots}[3][true/{}]{
@@ -462,9 +470,10 @@
     };
   \fi
 }
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodePhPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodePhPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodePhPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodePhPlot}{O{}mm+b}{
@@ -486,9 +495,10 @@
     \end{semilogxaxis}
   \end{tikzpicture}
 }{}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodeMagPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodeMagPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodeMagPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodeMagPlot}{O{}mm+b}{
@@ -510,9 +520,10 @@
     \end{semilogxaxis}
   \end{tikzpicture}
 }{}
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/BodePlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/BodePlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/BodePlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{BodePlot}{O{}mm+b}{
@@ -781,17 +792,17 @@
     \end{axis}
   \end{tikzpicture}
 }
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NyquistZPK\NyquistZPK
-    \renewcommand{\NyquistZPK}{%
-      \shorthandoff{;:!?}%
-      \NyquistZPK at Shorthandoff
-    }
-    \newcommand{\NyquistZPK at Shorthandoff}[4][]{%
-      \Orig at NyquistZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NyquistZPK\NyquistZPK
+  \renewcommand{\NyquistZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NyquistZPK at Shorthandoff
+  }
+  \newcommand{\NyquistZPK at Shorthandoff}[4][]{%
+    \Orig at NyquistZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\NyquistTF}[4][]{
@@ -828,17 +839,17 @@
     \end{axis}
   \end{tikzpicture}
 }
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NyquistTF\NyquistTF
-    \renewcommand{\NyquistTF}{%
-      \shorthandoff{;:!?}%
-      \NyquistTF at Shorthandoff
-    }
-    \newcommand{\NyquistTF at Shorthandoff}[4][]{%
-      \Orig at NyquistTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NyquistTF\NyquistTF
+  \renewcommand{\NyquistTF}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NyquistTF at Shorthandoff
+  }
+  \newcommand{\NyquistTF at Shorthandoff}[4][]{%
+    \Orig at NyquistTF[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\addNyquistZPKPlot}[2][]{
@@ -875,9 +886,10 @@
     };
   \fi
 }
-\AtBeginDocument{
-  \if at babel@french
-    \AddToHook{env/NyquistPlot/begin}{\shorthandoff{;:!?}}
+\AtBeginDocument{%
+  \if at babel
+    \AddToHook{env/NyquistPlot/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/NyquistPlot/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{NyquistPlot}{O{}mm+b}{
@@ -963,17 +975,17 @@
     \end{axis}
   \end{tikzpicture}
 }
-\AtBeginDocument{
-  \if at babel@french
-    \let\Orig at NicholsZPK\NicholsZPK
-    \renewcommand{\NicholsZPK}{%
-      \shorthandoff{;:!?}%
-      \NicholsZPK at Shorthandoff
-    }
-    \newcommand{\NicholsZPK at Shorthandoff}[4][]{%
-      \Orig at NicholsZPK[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
-    }
+\AtBeginDocument{%
+  \if at babel
+  \let\Orig at NicholsZPK\NicholsZPK
+  \renewcommand{\NicholsZPK}{%
+    \expandafter\shorthandoff\expandafter{\shorthand at list}
+    \NicholsZPK at Shorthandoff
+  }
+  \newcommand{\NicholsZPK at Shorthandoff}[4][]{%
+    \Orig at NicholsZPK[#1]{#2}{#3}{#4}
+    \expandafter\shorthandon\expandafter{\shorthand at list}
+  }
   \fi
 }
 \newcommand{\NicholsTF}[4][]{
@@ -1018,17 +1030,18 @@
   \end{tikzpicture}
 }
 \AtBeginDocument{
-  \if at babel@french
+  \if at babel
     \let\Orig at NicholsTF\NicholsTF
     \renewcommand{\NicholsTF}{%
-      \shorthandoff{;:!?}%
+      \expandafter\shorthandoff\expandafter{\shorthand at list}
       \NicholsTF at Shorthandoff
     }
     \newcommand{\NicholsTF at Shorthandoff}[4][]{%
-      \Orig at NicholsTF[#1]{#2}{#3}{#4}%
-      \shorthandon{;:!?}%
+      \Orig at NicholsTF[#1]{#2}{#3}{#4}
+      \expandafter\shorthandon\expandafter{\shorthand at list}
     }
-    \AddToHook{env/NicholsChart/begin}{\shorthandoff{;:!?}}
+    \AddToHook{env/NicholsChart/begin}{\expandafter\shorthandoff\expandafter{\shorthand at list}}
+    \AddToHook{env/NicholsChart/end}{\expandafter\shorthandon\expandafter{\shorthand at list}}
   \fi
 }
 \NewDocumentEnvironment{NicholsChart}{O{}mm+b}{

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2024-02-07 00:43:36 UTC (rev 69731)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2024-02-07 21:01:06 UTC (rev 69732)
@@ -2219,7 +2219,6 @@
  'hitszthesis',	'\.(sty|cls)$',		# not .cfg
  'hlist',	'hlist\.tex|' . $standardtex,
  'hobby',       'code\.tex|' . $standardtex,
- 'mhchem',	'hpstatement.inc|' . $standardtex,
  'hrefhide',    '\.sty|[^c]\.cfg',        # omit ltxdoc.cfg, would be system-wide
  'huawei',	'.*cover-picture\.pdf|' . $standardtex,
  'hvextern',	'hv(?!doctools).*\.sty|\.lua',  # negative lookahead fun
@@ -2340,6 +2339,7 @@
  'mff',         '\.sty|mf[^f].*\.tex',
  'mfpic',       'mfpic.tex|mfpic.sty|mfppatch.tex',
  'mfpic4ode',   'mfpic4ode.tex|' . $standardtex,
+ 'mhchem',	'hpstatement.inc|' . $standardtex,
  'midnight',    '\.tex',
  'mil3',        'NULL',
  'minim',	'\.(lua|tex|sty|ini)$',



More information about the tex-live-commits mailing list.