%% XCharter is an extension of the Bitstream Charter fonts, adding osf, % small caps and superior figures. Generated 2013/10/27 by Michael Sharpe. %% \NeedsTeXFormat{LaTeX2e} \def\fileversion{1.072} \def\filedate{2015/02/20} \ProvidesPackage{XCharter}[\filedate\space v\fileversion] \message{`XCharter' v\fileversion, \filedate\space Text macros for XCharter, an extension of Charter (msharpe)} \RequirePackage[LY1,T1]{fontenc} \RequirePackage{textcomp} \IfFileExists{mweights.sty}{\RequirePackage{mweights}}{} \RequirePackage{etoolbox} \IfFileExists{fontaxes.sty}{ \RequirePackage{fontaxes} \fa@naming@exception{figures}{{superior}{proportional}}{Sup} \fa@naming@exception{figures}{{superior}{tabular}}{Sup} \def\sufigures{\@nomath\sufigures \fontfigurestyle{superior}\selectfont} \DeclareTextFontCommand{\textsu}{\sufigures} \let\textsuperior\textsu }{} \DeclareRobustCommand{\lfstyle}{% \not@math@alphabet\lfstyle\relax \fontfamily{XCharter-TLF}\selectfont } \DeclareRobustCommand{\osfstyle}{% \not@math@alphabet\osfstyle\relax \fontfamily{XCharter-TOsF}\selectfont } \def\textlf#1{{\lfstyle #1}} %\def\textosf#1{{\osfstyle #1}} \newcommand*{\XCharter@scale}{1} \IfFileExists{xkeyval.sty}{ \RequirePackage{xkeyval} \DeclareOptionX{scale}{\renewcommand*{\XCharter@scale}{##1}} \DeclareOptionX{scaled}{\renewcommand*{\XCharter@scale}{##1}} }{ \let\DeclareOptionX\DeclareOption \let\ExecuteOptionsX\ExecuteOptions \let\ProcessOptionsX\ProcessOptions } \let\orig@footnote=\thefootnote \let\orig@makefnmark=\@makefnmark \def\XCharter@altone{1}% default is to use 1, not I \newif\if@XCh@sups \DeclareOptionX{lf}{\edef\XCharter@figurestyle{TLF}} \DeclareOptionX{lining}{\edef\XCharter@figurestyle{TLF}} \DeclareOptionX{oldstyle}{\edef\XCharter@figurestyle{TOsF}% \edef\XCharter@altone{1}} \DeclareOptionX{oldstyleI}{\edef\XCharter@figurestyle{TOsF}% \edef\XCharter@altone{}} \DeclareOptionX{osf}{\edef\XCharter@figurestyle{TOsF}\edef\XCharter@altone{1}} \DeclareOptionX{osfI}{\edef\XCharter@figurestyle{TOsF}\edef\XCharter@altone{}} \DeclareOptionX{sups}{\@XCh@supstrue} \edef\bfseries@rm{b} \edef\mdseries@rm{m} \ExecuteOptionsX{lining} \ProcessOptionsX\relax \def\useosf{\edef\XCharter@figurestyle{TOsF}\def\XCharter@altone{1}} \def\useosfI{\edef\XCharter@figurestyle{TOsF}\def\XCharter@altone{}} \@onlypreamble\useosf \@onlypreamble\useosfI \newcommand{\textosfI}[1]{\oldstylenums{#1}}% to get XCharter osfI \newcommand{\textosf}[1]{{\fontencoding{T1}\fontfamily{XCharterx}\selectfont #1}}% to get XCharter osf \renewcommand*{\bfdefault}{b} \renewcommand*{\scdefault}{sc}% for better compatibility with mathdesign % The following are provided so that we may access osf in any mode % osfx corresponds to small 1 rather than small I \DeclareFontFamily{T1}{XCharterx}{} \DeclareFontShape{T1}{XCharterx}{m}{n}{ <-> s*[\XCharter@scale] XCharter1-Roman-tosf-t1 }{} \DeclareFontShape{T1}{XCharterx}{m}{it}{ <-> s*[\XCharter@scale] XCharter1-Italic-tosf-t1 }{} \DeclareFontShape{T1}{XCharterx}{b}{n}{ <-> s*[\XCharter@scale] XCharter1-Bold-tosf-t1 }{} \DeclareFontShape{T1}{XCharterx}{b}{it}{ <-> s*[\XCharter@scale] XCharter1-BoldItalic-tosf-t1 }{} \renewcommand*{\rmdefault}{XCharter-TLF} \renewcommand*{\familydefault}{\rmdefault} \if@XCh@sups % \ifdefined\sufigures \def\f@@tn@te{footnote} \def\@makefnmark{% \ifx\@mpfn\f@@tn@te%not in a minipage \ifx\thefootnote\orig@footnote% \hbox{\sufigures\hspace*{.04em}\@thefnmark\hspace*{.04em}}% \else% \orig@makefnmark% \fi% \else% \orig@makefnmark% \fi}% \fi% \fi \AtEndPreamble{% \renewcommand*{\rmdefault}{XCharter-\XCharter@figurestyle} \normalfont} \endinput