summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-07-11 22:41:56 +0000
committerKarl Berry <karl@freefriends.org>2010-07-11 22:41:56 +0000
commit832adfe312ce50bfe615e4c31eaa51541cefe817 (patch)
tree849ad61fefab20053cf22d8174993752f03d5851 /Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
parent4e8485b0ddecb55f72929dd6233f254a1e7bf5b0 (diff)
cfr-lm no longer exptl (9jul10)
git-svn-id: svn://tug.org/texlive/trunk@19379 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty')
-rw-r--r--Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty203
1 files changed, 203 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty b/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
new file mode 100644
index 00000000000..9aaca29ae44
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/cfr-lm/cfr-lm.sty
@@ -0,0 +1,203 @@
+%% Copyright 2010 Clea F. Rees
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clea F. Rees.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% Parts of this file are based on lmodern.sty which is included with
+% the Latin Modern fonts released by GUST and available from
+% http://www.gust.org.pl/projects/e-foundry/latin-modern.
+%
+% Improvements to this file in v1.2 (unpublished) and v1.3 owe almost
+% everything to Enrico Gregorio.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{cfr-lm}[2010/05/20 v1.3 cfr-lm for use with LatinModern v2.004]
+\RequirePackage{xkeyval}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{textcomp}
+\RequirePackage{nfssext-cfr}
+
+%:boolkeys for roman osf/lf
+\define@boolkey[cfrlm]{rm}{oldstyle}[true]{%
+ \ifcfrlm@rm@oldstyle
+ \def\cfrlm@rmol{j}%
+ \else
+ \def\cfrlm@rmol{}%
+ \fi}
+\define@boolkey[cfrlm]{rm}{lining}[true]{%
+ \ifcfrlm@rm@lining
+ \def\cfrlm@rmol{}%
+ \else
+ \def\cfrlm@rmol{j}%
+ \fi}
+
+%:boolkeys for roman prop/tab figures
+\define@boolkey[cfrlm]{rm}{proportional}[true]{%
+ \ifcfrlm@rm@proportional
+ \def\cfrlm@rmpt{2}%
+ \else
+ \def\cfrlm@rmpt{}%
+ \fi}
+\define@boolkey[cfrlm]{rm}{tabular}[true]{%
+ \ifcfrlm@rm@tabular
+ \def\cfrlm@rmpt{}%
+ \else
+ \def\cfrlm@rmpt{2}%
+ \fi}
+
+%:boolkeys for sans osf/lf
+\define@boolkey[cfrlm]{sf}{oldstyle}[true]{%
+ \ifcfrlm@sf@oldstyle
+ \def\cfrlm@sfol{j}%
+ \else
+ \def\cfrlm@sfol{}%
+ \fi}
+\define@boolkey[cfrlm]{sf}{lining}[true]{%
+ \ifcfrlm@sf@lining
+ \def\cfrlm@sfol{}%
+ \else
+ \def\cfrlm@sfol{j}%
+ \fi}
+
+%:boolkeys for sans prop/tab figures
+\define@boolkey[cfrlm]{sf}{proportional}[true]{%
+ \ifcfrlm@sf@proportional
+ \def\cfrlm@sfpt{2}%
+ \else
+ \def\cfrlm@sfpt{}%
+ \fi}
+\define@boolkey[cfrlm]{sf}{tabular}[true]{%
+ \ifcfrlm@sf@tabular
+ \def\cfrlm@sfpt{}%
+ \else
+ \def\cfrlm@sfpt{2}%
+ \fi}
+
+%:boolkeys for typewriter osf/lf
+\define@boolkey[cfrlm]{tt}{oldstyle}[true]{%
+ \ifcfrlm@tt@oldstyle
+ \def\cfrlm@ttol{j}%
+ \else
+ \def\cfrlm@ttol{}%
+ \fi}
+\define@boolkey[cfrlm]{tt}{lining}[true]{%
+ \ifcfrlm@tt@lining
+ \def\cfrlm@ttol{}%
+ \else
+ \def\cfrlm@ttol{j}%
+ \fi}
+
+%:boolkeys for typewriter prop/tab figures
+\define@boolkey[cfrlm]{tt}{proportional}[true]{%
+ \ifcfrlm@tt@proportional
+ \def\cfrlm@ttpt{2}%
+ \else
+ \def\cfrlm@ttpt{}%
+ \fi}
+\define@boolkey[cfrlm]{tt}{tabular}[true]{%
+ \ifcfrlm@tt@tabular
+ \def\cfrlm@ttpt{}%
+ \else
+ \def\cfrlm@ttpt{2}%
+ \fi}
+
+%:boolkeys for typewriter mono/variable width
+\define@boolkey[cfrlm]{tt}{monowidth}[true]{%
+ \ifcfrlm@tt@monowidth
+ \def\cfrlm@ttmv{t}%
+ \else
+ \def\cfrlm@ttmv{v}%
+ \fi}
+\define@boolkey[cfrlm]{tt}{variable}[true]{%
+ \ifcfrlm@tt@variable
+ \def\cfrlm@ttmv{v}%
+ \else
+ \def\cfrlm@ttmv{t}%
+ \fi}
+
+%:options for roman
+\define@key{cfr-lm.sty}{rm}{%
+ \setkeys[cfrlm]{rm}{#1}}
+
+%:options for sans
+\define@key{cfr-lm.sty}{sf}{%
+ \setkeys[cfrlm]{sf}{#1}}
+
+%:options for typewriter
+\define@key{cfr-lm.sty}{tt}{%
+ \setkeys[cfrlm]{tt}{#1}}
+
+%:note that this option does nothing unless \qtfont is defined appropriately
+\define@boolkey{cfr-lm.sty}[cfrlm@]{qt}[true]{%
+ \relax}
+
+%:defaults to ensure everything is defined to something
+\ExecuteOptionsX{rm={oldstyle,proportional},sf={oldstyle,proportional},tt={oldstyle,proportional,variable},qt=false}
+
+%:options override defaults
+\ProcessOptionsX
+
+%:make LM default for all families, implementing options for each
+\renewcommand{\rmdefault}{clm\cfrlm@rmpt\cfrlm@rmol}
+\renewcommand{\sfdefault}{clm\cfrlm@sfpt\cfrlm@sfol s}
+\renewcommand{\ttdefault}{clm\cfrlm@ttpt\cfrlm@ttol\cfrlm@ttmv}
+
+%:handle the qt option, failing gracefully if somebody has enabled the option without defining \qtfont appropriately
+\ifcfrlm@qt
+ \@ifundefined{qtfont}{%
+ \PackageWarning{cfr-lm}{Option 'qt' cannot be implemented unless\MessageBreak
+ the command qtfont is defined appropriately. This is not\MessageBreak
+ done automatically to maximise compatibility with other\MessageBreak
+ classes and packages. The suggested use is to have qtfont\MessageBreak
+ redefine a command such as quotefont which is initially\MessageBreak
+ set to some reasonable default and is then used in the\MessageBreak
+ definition of the quote and/or quotation environments.\MessageBreak
+ Since these are class and package dependent, it cannot\MessageBreak
+ be done by a font package and the option is ignored here.}}{%
+ \qtfont{\qtstyle}}
+\fi
+
+%:based on lmodern.sty
+\SetSymbolFont{operators} {normal}{OT1}{lmr} {m}{n}
+\SetSymbolFont{letters} {normal}{OML}{lmm} {m}{it}
+\SetSymbolFont{symbols} {normal}{OMS}{lmsy}{m}{n}
+\SetSymbolFont{largesymbols}{normal}{OMX}{lmex}{m}{n}
+\SetSymbolFont{operators} {bold} {OT1}{lmr} {bx}{n}
+\SetSymbolFont{letters} {bold} {OML}{lmm} {b}{it}
+\SetSymbolFont{symbols} {bold} {OMS}{lmsy}{b}{n}
+\SetSymbolFont{largesymbols}{bold} {OMX}{lmex}{m}{n}
+
+\DeclareFontSubstitution{OT1}{lmr}{m}{n}
+\DeclareFontSubstitution{OML}{lmm}{m}{it}
+\DeclareFontSubstitution{OMS}{lmsy}{m}{n}
+\DeclareFontSubstitution{OMX}{lmex}{m}{n}
+
+\SetMathAlphabet{\mathbf}{normal}{OT1}{lmr}{bx}{n}
+\SetMathAlphabet{\mathsf}{normal}{OT1}{lmss}{m}{n}
+\SetMathAlphabet{\mathit}{normal}{OT1}{lmr}{m}{it}
+\SetMathAlphabet{\mathtt}{normal}{OT1}{lmtt}{m}{n}
+\SetMathAlphabet{\mathbf}{bold} {OT1}{lmr}{bx}{n}
+\SetMathAlphabet{\mathsf}{bold} {OT1}{lmss}{bx}{n}
+\SetMathAlphabet{\mathit}{bold} {OT1}{lmr}{bx}{it}
+\SetMathAlphabet{\mathtt}{bold} {OT1}{lmtt}{m}{n}
+
+\def\mathsterling{\mathit{\mathchar"70BF}}
+
+%:new in v1.1
+\DeclareRobustCommand{\dotdigitenc}{%
+ \not@math@alphabet\dotdigitenc\relax
+ \fontencoding{U}\selectfont}
+\DeclareTextFontCommand{\textdde}{\dotdigitenc}
+\newcommand*{\zeroslash}{\textdde{\char 250}}
+
+\endinput