\ProvidesPackage{variablelm}[2021/05/16 v1.2 to control the scaling for Latin Modern Fonts by Yuwsuke KIEDA] \RequirePackage{xkeyval} \@ifpackageloaded{lmodern}{}{\@latexerr{You must be load "lmodern" package}\@ehb} \@ifpackageloaded{amsmath}{}{% \@latex@warning@no@line{\noexpand\usepackage{amsmath} is effective for correct functioning of \noexpand\big, \noexpand\Big, \noexpand\bigg, etc}} \DeclareOptionX{scale}[1.0]{\def\alphabet@scale{#1}} \DeclareOptionX{ttscale}[1.0]{\def\alphabet@scale@tt{#1}} \DeclareOptionX{sfscale}[1.0]{\def\alphabet@scale@sf{#1}} \DeclareOptionX{encoding}[T1]{\def\alphabet@scale@encoding{#1}} \@ifundefined{alphabet@scale}{\def\alphabet@scale{1.0}}{} \@ifundefined{alphabet@scale@tt}{\def\alphabet@scale@tt{\alphabet@scale}}{} \@ifundefined{alphabet@scale@sf}{\def\alphabet@scale@sf{\alphabet@scale}}{} \@ifundefined{alphabet@scale@encoding}{\def\alphabet@scale@encoding{T1}}{} \renewcommand{\rmdefault}{vlmr} \renewcommand{\sfdefault}{vlmss} \renewcommand{\ttdefault}{vlmtt} \renewcommand{\bfdefault}{bx} \DeclareOptionX{variablett}{\renewcommand{\ttdefault}{vlmvtt}} \DeclareOptionX{lighttt}{\let\vlmtt@use@light@as@normal\@empty} %\ProcessOptions\relax \ProcessOptionsX \@ifpackageloaded{fontenc}{}{\RequirePackage[\alphabet@scale@encoding]{fontenc}} \SetSymbolFont{operators}{normal}{OT1}{vlmr}{m}{n} \SetSymbolFont{letters}{normal}{OML}{vlmm}{m}{it} \SetSymbolFont{symbols}{normal}{OMS}{vlmsy}{m}{n} \SetSymbolFont{largesymbols}{normal}{OMX}{vlmex}{m}{n} \SetSymbolFont{operators}{bold}{OT1}{vlmr}{bx}{n} \SetSymbolFont{letters}{bold}{OML}{vlmm}{b}{it} \SetSymbolFont{symbols}{bold}{OMS}{vlmsy}{b}{n} \SetSymbolFont{largesymbols}{bold}{OMX}{vlmex}{m}{n} \SetMathAlphabet{\mathbf}{normal}{\alphabet@scale@encoding}{vlmr}{bx}{n} \SetMathAlphabet{\mathsf}{normal}{\alphabet@scale@encoding}{vlmss}{m}{n} \SetMathAlphabet{\mathit}{normal}{\alphabet@scale@encoding}{vlmr}{m}{it} \SetMathAlphabet{\mathtt}{normal}{\alphabet@scale@encoding}{vlmtt}{m}{n} \SetMathAlphabet{\mathbf}{bold}{\alphabet@scale@encoding}{vlmr}{bx}{n} \SetMathAlphabet{\mathsf}{bold}{\alphabet@scale@encoding}{vlmss}{bx}{n} \SetMathAlphabet{\mathit}{bold}{\alphabet@scale@encoding}{vlmr}{bx}{it} \SetMathAlphabet{\mathtt}{bold}{\alphabet@scale@encoding}{vlmtt}{m}{n} \endinput