summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/medmath
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/medmath')
-rw-r--r--macros/latex/contrib/medmath/medmath.pdfbin24585 -> 28325 bytes
-rw-r--r--macros/latex/contrib/medmath/medmath.sty37
-rw-r--r--macros/latex/contrib/medmath/medmath.tex42
3 files changed, 65 insertions, 14 deletions
diff --git a/macros/latex/contrib/medmath/medmath.pdf b/macros/latex/contrib/medmath/medmath.pdf
index db30b6bf8f..f173310f85 100644
--- a/macros/latex/contrib/medmath/medmath.pdf
+++ b/macros/latex/contrib/medmath/medmath.pdf
Binary files differ
diff --git a/macros/latex/contrib/medmath/medmath.sty b/macros/latex/contrib/medmath/medmath.sty
index 7232e01531..fa1810a964 100644
--- a/macros/latex/contrib/medmath/medmath.sty
+++ b/macros/latex/contrib/medmath/medmath.sty
@@ -7,20 +7,18 @@
% aiming to provide more stable and flexible medium-size math commands.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{medmath}[2024-01-15 v2024D Better medium-size math commands]
+\ProvidesPackage{medmath}[2024-01-20 v2024E Better medium-size math commands]
\RequirePackage{array}
\RequirePackage{etoolbox}
\newbool{mdm@bare} \boolfalse{mdm@bare} % don't define any public commands
\newbool{mdm@base} \boolfalse{mdm@base} % define only basic public commands
-\newbool{mdm@amsfonts} \booltrue{mdm@amsfonts} % use ams symbol fonts
\DeclareKeys{
bare .if = mdm@bare,
base .if = mdm@base,
all .ifnot = mdm@base,
- mdm@amsfonts .if = mdm@amsfonts
}
\ProcessKeyOptions
@@ -187,11 +185,6 @@
\newlength{\@mdm@em}
\setlength{\@mdm@em}{1em}
-\ifmdm@amsfonts
- \def\mdm@op@kern{0.5\@mdm@em}%
-\else
- \def\mdm@op@kern{0.3\@mdm@em}%
-\fi
\newcommand{\mdm@style@unit}[1]{%
\mathchoice{\setlength{\@mdm@em}{1em}#1}{\setlength{\@mdm@em}{1em}#1}
{\setlength{\@mdm@em}{0.5em}#1}{\setlength{\@mdm@em}{0.3em}#1}%
@@ -416,7 +409,33 @@
%%> \section{Activate definitions at the beginning of the document}
%%% --------------------------------------------------------
-\NewDocumentCommand\mdm@activate@base{}{
+%% Current largesymbols font of math version normal is stored in \mv@normal:
+%% ... \getanddefine@fonts \symlargesymbols \OMX/cmex/m/n ...
+
+\def\mdm@get@font@cmd#1\getanddefine@fonts\symlargesymbols#2#3\@mdm@scan@stop{%
+ \expandafter\mdm@get@font@name\string#2\@mdm@scan@stop
+}
+
+\def\mdm@get@font@name#1#2/#3/#4/#5\@mdm@scan@stop{%
+ \def\@mdm@font@name{#3}%
+}
+
+\def\@mdm@intcorr@factor@cmex{0.5} % default largesymbols font
+\def\@mdm@intcorr@factor@mdput{0.3} % [utopia]{mathdesign}
+\def\@mdm@intcorr@factor@mdbch{0.3} % [charter]{mathdesign}, {arevmath}
+
+\NewDocumentCommand\mdm@adjust@intcorr{}{%
+ \expandafter\mdm@get@font@cmd\mv@normal\@mdm@scan@stop
+ \ifcsdef{@mdm@intcorr@factor@\@mdm@font@name}{%
+ \edef\@mdm@intcorr@factor{\csuse{@mdm@intcorr@factor@\@mdm@font@name}}%
+ }{%
+ \def\@mdm@intcorr@factor{0.5}% default value
+ }%
+ \ExpandArgs{No}\def\mdm@op@kern{\@mdm@intcorr@factor\@mdm@em}%
+}
+
+\NewDocumentCommand\mdm@activate@base{}{%
+ \mdm@adjust@intcorr
\let \medmath = \mdm@base@medmath
\let \medop = \mdm@base@medop
\let \medintcorr = \mdm@base@medintcorr
diff --git a/macros/latex/contrib/medmath/medmath.tex b/macros/latex/contrib/medmath/medmath.tex
index f57e2133d3..6b1e5fccd4 100644
--- a/macros/latex/contrib/medmath/medmath.tex
+++ b/macros/latex/contrib/medmath/medmath.tex
@@ -2,7 +2,7 @@
\documentclass[oneside,11pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
-\newcommand*{\myversion}{2024D}
+\newcommand*{\myversion}{2024E}
\newcommand*{\mydate}{Version \myversion\ (\the\year-\mylpad\month-\mylpad\day)}
\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
@@ -25,6 +25,10 @@
\usepackage{medmath}
\booltrue{mdm@bare}
+\NewDocumentCommand\mypkg{m}{\textcolor{blue3}{\mbox{#1}}}
+\NewDocumentCommand\myopt{m}{\textcolor{yellow3}{\mbox{#1}}}
+\NewDocumentCommand\mycmd{m}{\textcolor{green3}{\ttfamily\fakeverb{#1}}}
+
\begin{document}
\title{\textsf{\color{green3}The \texttt{medmath} package}}
@@ -32,9 +36,11 @@
\date{\mydate}
\maketitle
-\section{The \texttt{mediummath} option in \texttt{nccmath} package}
+\section{Introduction}
+
+\subsection{The \texttt{mediummath} option in \texttt{nccmath} package}
-There are several problems with \texttt{mediummath} option in \texttt{nccmath} package.
+There are several problems with \myopt{mediummath} option in \mypkg{nccmath} package.
\begin{enumerate}
\item The big operators in superscripts and subscripts are too large.
@@ -53,13 +59,13 @@ There are several problems with \texttt{mediummath} option in \texttt{nccmath} p
\end{demohigh}
\end{enumerate}
-\section{The \texttt{medmath} package}
+\subsection{The \texttt{medmath} package}
\makeatletter
\mdm@activate@all
\makeatother
-The \texttt{medmath} package started as a fork of \texttt{mediummath} code in \texttt{nccmath}
+The \mypkg{medmath} package started as a fork of \myopt{mediummath} code in \mypkg{nccmath}
package, aiming to provide more stable and flexible medium-size math commands.
\begin{enumerate}
@@ -79,4 +85,30 @@ package, aiming to provide more stable and flexible medium-size math commands.
\end{demohigh}
\end{enumerate}
+\section{Usage}
+
+Since \mypkg{medmath} package is a fork of \myopt{mediummath} option in \mypkg{nccmath}
+package, the usage is basically the same. Here is a minimal example:
+
+\begin{codehigh}
+\documentclass{article}
+\usepackage{medmath}
+\begin{document}
+Inline $\int_0^1x^2dx=\frac13$.
+Displayed \[ \int_0^1x^2dx=\frac13. \]
+\end{document}
+\end{codehigh}
+\vspace{0.5em}\hrule
+Inline $\int_0^1x^2dx=\frac13$.
+Displayed \[ \int_0^1x^2dx=\frac13. \]
+\hrule\vspace{0.5em}
+
+You will see that both integral symbols and both fractions are in medium size.
+You could see the differences if you remove \mycmd{\usepackage{medmath}} line.
+
+Since version 2024E, \mypkg{medmath} package is able to adjust \mycmd{\medintcorr} for some math fonts,
+hence integral operators with subscripts will look better. As a start, only three fonts
+(Computer Modern, Mathdesign Utopia, and Mathdesign Charter) are detected.
+
+
\end{document}