From 7ffc72f568b89a4914168cd6921510d226a48620 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 10 Nov 2022 03:01:41 +0000 Subject: CTAN sync 202211100301 --- macros/latex/contrib/mhequ/README | 2 +- macros/latex/contrib/mhequ/example.pdf | Bin 119518 -> 0 bytes macros/latex/contrib/mhequ/example.tex | 118 --------------------------- macros/latex/contrib/mhequ/mhequ-example.pdf | Bin 0 -> 120072 bytes macros/latex/contrib/mhequ/mhequ-example.tex | 118 +++++++++++++++++++++++++++ macros/latex/contrib/mhequ/mhequ.sty | 36 +++++--- 6 files changed, 143 insertions(+), 131 deletions(-) delete mode 100644 macros/latex/contrib/mhequ/example.pdf delete mode 100644 macros/latex/contrib/mhequ/example.tex create mode 100644 macros/latex/contrib/mhequ/mhequ-example.pdf create mode 100644 macros/latex/contrib/mhequ/mhequ-example.tex (limited to 'macros/latex/contrib/mhequ') diff --git a/macros/latex/contrib/mhequ/README b/macros/latex/contrib/mhequ/README index ab177e8714..ae911a3417 100644 --- a/macros/latex/contrib/mhequ/README +++ b/macros/latex/contrib/mhequ/README @@ -1,5 +1,5 @@ mhequ package by Martin Hairer -Version 1.71 dated 9 March 2022 +Version 1.72 dated 8 November 2022 This package provides an easy way to typeset multilign / multicolumn equations and to add subequation numbering. See the example and the diff --git a/macros/latex/contrib/mhequ/example.pdf b/macros/latex/contrib/mhequ/example.pdf deleted file mode 100644 index 34bdd22f0e..0000000000 Binary files a/macros/latex/contrib/mhequ/example.pdf and /dev/null differ diff --git a/macros/latex/contrib/mhequ/example.tex b/macros/latex/contrib/mhequ/example.tex deleted file mode 100644 index e839a9d89a..0000000000 --- a/macros/latex/contrib/mhequ/example.tex +++ /dev/null @@ -1,118 +0,0 @@ -\documentclass{article} -\usepackage{amsmath} -\usepackage{mhequ} - -\def\eref#1{(\ref{#1})} - -\textwidth 13cm -\textheight 22cm -\oddsidemargin 0.2cm -\topmargin 0.3cm -\pagestyle{empty} - -\begin{document} - -\title{Using the \texttt{mhequ} package} -\author{Martin Hairer} -\date{Version 1.71, \today} -\maketitle -\thispagestyle{empty} - - -This package provides two environments: \texttt{equ} for single-line equations -and \texttt{equs} for multi-line equations. They behave similarly to the built-in -\texttt{equation} and \texttt{amsmath}'s \texttt{align} environments and can essentially -be used as drop-in replacements. The main difference is that equation numbers are -handled differently: equations are numbered if and only if they have a \verb|\label|, -so there is no need for starred versions. This also applies to individual lines in -a multiline equation. Also, the \texttt{equs} environment supports blocks of equation -with more - -Since \texttt{mhequ} redefines the \verb|\tag| and \verb|\intertext| commands, it should -always be loaded \textit{after} the \texttt{amsmath} package. However, these -two commands should still behave correctly inside the \texttt{amsmath} environments. -The rest of this document demonstrates the usage of the \texttt{mhequ} package, -it is easiest to just read the source code of this document to see how it works. -See also the description given at the start of the file \texttt{mhequ.sty}. - -Here is a simple labelled equation: -\begin{equ}[onelab] - e^{i\pi} + 1 = 0 \;. -\end{equ} -Removing or adding the label does not require a change of environment: -\begin{equ} - e^{i\pi} + 1 = 0 \;. -\end{equ} -However, if the option \texttt{numberall} is set, then every single -equation is numbered. -A simple list of equations can be displayed either with one number -per equation -\begin{align} - f(x) &= \sin(x) + 1\;, \label{e:equ1}\\ - h(x) &= f(x) + g(x) -3\;, \label{e:equ3} -\end{align} -\begin{equs} - f(x) &= \sin(x) + 1\;, \label{e:equ1}\\ - h(x) &= f(x) + g(x) -3\;, \label{e:equ3} -\end{equs} -or with one number for the whole list -\begin{equs}[e:block] - f(x) &= \sin(x) + 1\;, \\ - h(x) &= f(x) + g(x) -3\;. -\end{equs} -Of course, it can also have no number at all: -\begin{equs} - f(x) &= \sin(x) + 1\;, \\ - h(x) &= f(x) + g(x) -3\;. -\end{equs} -The command \verb|\minilab{label_name}| allows us to create a counter for the lines -in a block of equations. -\minilab{otherlabel} -\begin{equs} - f(x) &= \sin(x) + 1\;, \label{e:f}\\ - g(x) &= \cos(x) - x^2 + 4\;,\label{e:g}\\[3mm] - h(x) &= f(x) + g(x) -3\;. \label{e:h} -\end{equs} -One can refer to the whole block \eref{otherlabel} or to one -line, like \eref{e:f} for example. -It is possible to use any tag one likes with the \verb|\tag{displayed_tag}| -command -\begin{equ}[mylabel] - x = y\;, \tag{$\star$} -\end{equ} -which in this case was used as \verb|\tag{$\star$}|. -Such an equation can be referred to as usual: \eref{mylabel}. -Of course, \texttt{mhequ} can be used in conjunction with the usual \texttt{equation} environment, -but \texttt{mhequ} is great, so why would you want to do this? -\begin{equation} - x=y+z -\end{equation} -Typesetting several columns of equations is quite easy and doesn't require 10 different environments -with awkward names: -\begin{equs} - x&=y+z &\qquad a&= b+c &\qquad x&= v \label{laba}\\ - x&=y+z &\qquad a&= b+c &\qquad x&= u+1\tag{\ref{laba}'}\label{labtag}\\ - \multicol{4}{\text{(multicol)}} &\qquad x&=y \\ - a&= b &\multicol{4}{\qquad\text{(multicol)}} \\ - x&=y+z &\qquad a^2&= (b-c)^3 +y \\ -\intertext{and also (this is some \texttt{\string\intertext})} - x&=y+z &\qquad a&= (b+c)^2 - 5 &\qquad \ell&= m\label{labb} -\end{equs} -We can even extend the block \eref{otherlabel} much later -using the \verb|\minilab{label_name}| command: -\minilab{otherlabel} -\begin{equs} - x&=y+z &\quad x&=y+z &\quad f(x)&= b\label{e:x1}\\ - x&=y+z & x&=y+z &\quad g(x)&= b\label{e:x2} \\ - \multicol{6}{\sin^2 x + \cos^2 x = 1} \label{e:x3} -\end{equs} -It is possible to change the type of subnumbering and to use the -\texttt{\string\text} command without having to load \texttt{amstext}: -\setlabtype{Alph} -\minilab{alab} -\begin{equs} - I_1 &= \int_a^b g(x)\,dx\;,&\quad&\text{(First equation)} \label{e:1}\\ - I_2 &= \int_a^b g(x^2-1)\,dx\;.&\quad&\text{(Second equation)} \label{e:2} -\end{equs} - -\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/mhequ/mhequ-example.pdf b/macros/latex/contrib/mhequ/mhequ-example.pdf new file mode 100644 index 0000000000..8b5f9ee25e Binary files /dev/null and b/macros/latex/contrib/mhequ/mhequ-example.pdf differ diff --git a/macros/latex/contrib/mhequ/mhequ-example.tex b/macros/latex/contrib/mhequ/mhequ-example.tex new file mode 100644 index 0000000000..a7987f41d7 --- /dev/null +++ b/macros/latex/contrib/mhequ/mhequ-example.tex @@ -0,0 +1,118 @@ +\documentclass{article} +\usepackage{amsmath} +\usepackage{mhequ} + +\def\eref#1{(\ref{#1})} + +\textwidth 13cm +\textheight 22cm +\oddsidemargin 0.2cm +\topmargin 0.3cm +\pagestyle{empty} + +\begin{document} + +\title{Using the \texttt{mhequ} package} +\author{Martin Hairer} +\date{Version 1.72, 9 November 2022} +\maketitle +\thispagestyle{empty} + + +This package provides two environments: \texttt{equ} for single-line equations +and \texttt{equs} for multi-line equations. They behave similarly to the built-in +\texttt{equation} and \texttt{amsmath}'s \texttt{align} environments and can essentially +be used as drop-in replacements. The main difference is that equation numbers are +handled differently: equations are numbered if and only if they have a \verb|\label|, +so there is no need for starred versions. This also applies to individual lines in +a multiline equation. Also, the \texttt{equs} environment supports blocks of equation +with more + +Since \texttt{mhequ} redefines the \verb|\tag| and \verb|\intertext| commands, it should +always be loaded \textit{after} the \texttt{amsmath} package. However, these +two commands should still behave correctly inside the \texttt{amsmath} environments. +The rest of this document demonstrates the usage of the \texttt{mhequ} package, +it is easiest to just read the source code of this document to see how it works. +See also the description given at the start of the file \texttt{mhequ.sty}. + +Here is a simple labelled equation: +\begin{equ}[onelab] + e^{i\pi} + 1 = 0 \;. +\end{equ} +Removing or adding the label does not require a change of environment: +\begin{equ} + e^{i\pi} + 1 = 0 \;. +\end{equ} +However, if the option \texttt{numberall} is set, then every single +equation is numbered. +A simple list of equations can be displayed either with one number +per equation +\begin{align} + f(x) &= \sin(x) + 1\;, \label{e:equ1}\\ + h(x) &= f(x) + g(x) -3\;, \label{e:equ3} +\end{align} +\begin{equs} + f(x) &= \sin(x) + 1\;, \label{e:equ1}\\ + h(x) &= f(x) + g(x) -3\;, \label{e:equ3} +\end{equs} +or with one number for the whole list +\begin{equs}[e:block] + f(x) &= \sin(x) + 1\;, \\ + h(x) &= f(x) + g(x) -3\;. +\end{equs} +Of course, it can also have no number at all: +\begin{equs} + f(x) &= \sin(x) + 1\;, \\ + h(x) &= f(x) + g(x) -3\;. +\end{equs} +The command \verb|\minilab{label_name}| allows us to create a counter for the lines +in a block of equations. +\minilab{otherlabel} +\begin{equs} + f(x) &= \sin(x) + 1\;, \label{e:f}\\ + g(x) &= \cos(x) - x^2 + 4\;,\label{e:g}\\[3mm] + h(x) &= f(x) + g(x) -3\;. \label{e:h} +\end{equs} +One can refer to the whole block \eref{otherlabel} or to one +line, like \eref{e:f} for example. +It is possible to use any tag one likes with the \verb|\tag{displayed_tag}| +command +\begin{equ}[mylabel] + x = y\;, \tag{$\star$} +\end{equ} +which in this case was used as \verb|\tag{$\star$}|. +Such an equation can be referred to as usual: \eref{mylabel}. +Of course, \texttt{mhequ} can be used in conjunction with the usual \texttt{equation} environment, +but \texttt{mhequ} is great, so why would you want to do this? +\begin{equation} + x=y+z +\end{equation} +Typesetting several columns of equations is quite easy and doesn't require 10 different environments +with awkward names: +\begin{equs} + x&=y+z &\qquad a&= b+c &\qquad x&= v \label{laba}\\ + x&=y+z &\qquad a&= b+c &\qquad x&= u+1\tag{\ref{laba}'}\label{labtag}\\ + \multicol{4}{\text{(multicol)}} &\qquad x&=y \\ + a&= b &\multicol{4}{\qquad\text{(multicol)}} \\ + x&=y+z &\qquad a^2&= (b-c)^3 +y \\ +\intertext{and also (this is some \texttt{\string\intertext})} + x&=y+z &\qquad a&= (b+c)^2 - 5 &\qquad \ell&= m\label{labb} +\end{equs} +We can even extend the block \eref{otherlabel} much later +using the \verb|\minilab{label_name}| command: +\minilab{otherlabel} +\begin{equs} + x&=y+z &\quad x&=y+z &\quad f(x)&= b\label{e:x1}\\ + x&=y+z & x&=y+z &\quad g(x)&= b\label{e:x2} \\ + \multicol{6}{\sin^2 x + \cos^2 x = 1} \label{e:x3} +\end{equs} +It is possible to change the type of subnumbering and to use the +\texttt{\string\text} command without having to load \texttt{amstext}: +\setlabtype{Alph} +\minilab{alab} +\begin{equs} + I_1 &= \int_a^b g(x)\,dx\;,&\quad&\text{(First equation)} \label{e:1}\\ + I_2 &= \int_a^b g(x^2-1)\,dx\;.&\quad&\text{(Second equation)} \label{e:2} +\end{equs} + +\end{document} \ No newline at end of file diff --git a/macros/latex/contrib/mhequ/mhequ.sty b/macros/latex/contrib/mhequ/mhequ.sty index 48f7fd0bfc..bc22f562ac 100644 --- a/macros/latex/contrib/mhequ/mhequ.sty +++ b/macros/latex/contrib/mhequ/mhequ.sty @@ -1,6 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% mhequ.sty v1.71, Copyright 2022 by Martin Hairer +% mhequ.sty v1.72, Copyright 2022 by Martin Hairer % This package is public domain. You are strongly encouraged to use % it and to distribute it further. If you have some contribution to % it, please let me know! @@ -84,8 +84,20 @@ \newif\if@MHtag \newif\if@MHleft \newif\if@MHflush +\newif\if@MHglobals \@MHnumberallfalse - +\@MHglobalstrue + +\def\@MHsaveglobals{% +\if@MHglobals +\global\let\MHglobal@label=\label +\global\let\MHglobal@ref=\ref +\global\let\MHglobal@multicol=\multicol +\global\let\MHglobal@notag=\notag +\global\let\MHglobal@text\text +\global\let\MHsavecr=\\ +\@MHglobalsfalse\fi +} \ProcessOptions @@ -101,7 +113,7 @@ \def\@MHresetlab{\if@MHnumberall\global\@MHhaslabtrue\else\global\@MHhaslabfalse\fi} \@MHresetlab -\def\@MHref#1{\@ifundefined{r@#1}{??}{\@saveref{#1}}} +\def\@MHref#1{\@ifundefined{r@#1}{??}{\MHglobal@ref{#1}}} %%%%% Computes the length of its argument \newcount\@MHLength \def\computelength#1{\@MHLength=0 \getlength#1\end} @@ -113,7 +125,7 @@ {}\string\setcounter{lab@#1}{0}}% \global\expandafter\let\expandafter\c@MHCurrentCount\csname c@lab@#1\endcsname% \global\@namedef{MHused@#1}{}% - \def\@currentlabel{\theequation}\MHsavelabel{#1}% + \def\@currentlabel{\theequation}\MHglobal@label{#1}% } \def\@uselabel#1{\global\def\@mylabel{#1} \global\expandafter\let\expandafter\c@MHCurrentCount\csname c@lab@#1\endcsname @@ -153,7 +165,7 @@ \def\@MHwritelabel{\def\@currentlabel{\@MHeqno}% \if@MHleft\kern\displaywidth\kern0.2truecm\else\kern0.2cm\fi% - \MHsavelabel{\@MHcurrentlabel}% + \MHglobal@label{\@MHcurrentlabel}% \if@MHleft\kern-\displaywidth\kern-0.2truecm\else\kern-0.2cm\fi} \def\@MHstep{\if@MHtag\else\if@MHuseminilab\stepcounter{MHCurrentCount}% @@ -166,18 +178,18 @@ \def\@MHnotag{\@MHhaslabfalse} -\def\@saveMHComms{\@restoretag\let\MHsavecr=\\\let\\=\@MHcr\let\@saveref=\ref\let\ref=\@MHref% - \let\MHsavelabel=\label\let\label=\@MHlabel\let\@MHsavemult\multicol\let\@MHsavetag\notag\let\notag\@MHnotag% - \let\multicol\@MHspan\let\@MHsavetext\text\let\text\hbox\let\@MHsaveequation\theequation\let\theequation\@MHequation} -\def\@restoreMHComms{\let\\=\MHsavecr\let\label=\MHsavelabel\@MHreset\let\ref=\@saveref% - \let\multicol\@MHsavemult\let\notag\@MHsavetag\let\text\@MHsavetext\let\theequation\@MHsaveequation\global\def\@MHequation{\@MHsaveequation}} +\def\@saveMHComms{\@MHsaveglobals\@restoretag\let\\=\@MHcr\let\ref=\@MHref% + \let\label=\@MHlabel\let\notag\@MHnotag% + \let\multicol\@MHspan\let\text\hbox} +\def\@restoreMHComms{\let\\=\MHsavecr\let\label=\MHglobal@label\@MHreset\let\ref=\MHglobal@ref% + \let\multicol\MHglobal@multicol\let\notag\MHglobal@notag\let\text\MHglobal@text} -\def\@minilab#1{\let\MHsavelabel=\label% +\def\@minilab#1{% \@MHUseLab{#1}\@ifundefined{MHused@#1}% {\@makelabel{#1}}{\@uselabel{#1}}% - \let\label=\MHsavelabel\egroup\global\@ignoretrue} + \let\label=\MHglobal@label\egroup\global\@ignoretrue} \def\minilab{\bgroup\MH@changecodes\@minilab} \def\@MHequation{\@MHsaveequation} -- cgit v1.2.3