%% cochineal.sty %% \NeedsTeXFormat{LaTeX2e} \def\fileversion{1.054} \def\filedate{2019/06/22} \ProvidesPackage{cochineal} [\filedate\space v\fileversion.] \RequirePackage[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 \fa@naming@exception{figures}{{inferior}{proportional}}{Inf} \fa@naming@exception{figures}{{inferior}{tabular}}{Inf} \def\infigures{\@nomath\infigures \fontfigurestyle{inferior}\selectfont} \DeclareTextFontCommand{\textin}{\infigures} \let\textinferior\textin \fa@naming@exception{figures}{{denominators}{proportional}}{Dnom} \fa@naming@exception{figures}{{denominators}{tabular}}{Dnom} \def\defigures{\@nomath\defigures \fontfigurestyle{denominators}\selectfont} \DeclareTextFontCommand{\textde}{\defigures} \let\textdenominators\textde }{} \providecommand*{\textfrac}[2]{% \textsu{#1}\kern0em\textfractionsolidus\kern0em\textde{#2}} \IfFileExists{xkeyval.sty}{ \newcommand*{\Cochineal@scale}{1} \RequirePackage{xkeyval} \DeclareOptionX{scale}{\renewcommand*{\Cochineal@scale}{##1}} \DeclareOptionX{scaled}{\renewcommand*{\Cochineal@scale}{##1}} }{ \let\DeclareOptionX\DeclareOption \let\ExecuteOptionsX\ExecuteOptions \let\ProcessOptionsX\ProcessOptions } \let\orig@footnote=\thefootnote \let\orig@makefnmark=\@makefnmark \def\bfseries@rm{b} \def\mdseries@rm{m} %\newif\if@Cochineal@swashQ \def\Cochineal@@swashQ{} \def\Cochineal@@thmtab{} % default is to not change to tabular \def\Cochineal@@thmlin{X} % default is to not change to lining \newif\if@Cochineal@thrm \newif\if@Cochineal@sups \newif\if@Cochineal@scosf \def\useosf{\edef\Cochineal@figurestyle{OsF}} \@onlypreamble\useosf \def\useproportional{\edef\Cochineal@figurealign{}} \@onlypreamble\useproportional %\newif\ifCochineal@babel %\ifdefined\bbl@tempa \Cochineal@babeltrue\fi \DeclareOptionX{lining}{\edef\Cochineal@figurestyle{LF}} \DeclareOptionX{lf}{\edef\Cochineal@figurestyle{LF}} \DeclareOptionX{oldstyle}{\edef\Cochineal@figurestyle{OsF}} \DeclareOptionX{osf}{\edef\Cochineal@figurestyle{OsF}} \DeclareOptionX{tabular}{\edef\Cochineal@figurealign{T}} \DeclareOptionX{p}{\useproportional} \DeclareOptionX{proportional}{\useproportional} \DeclareOptionX{theoremfont}{\@Cochineal@thrmtrue} \DeclareOptionX{thmtabular}{\edef\Cochineal@@thmtab{t}} \DeclareOptionX{thmlining}{\edef\Cochineal@@thmlin{l}} \DeclareOptionX{swashQ}{\edef\Cochineal@@swashQ{-swash}} \DeclareOptionX{sups}{\@Cochineal@supstrue} \DeclareOptionX{scosf}{\@Cochineal@scosftrue} \DeclareOptionX{bold}{\edef\bfseries@rm{b}} \DeclareOptionX{regular}{\edef\mdseries@rm{m}} \ExecuteOptionsX{lining,tabular} \ProcessOptionsX\relax \if@Cochineal@thrm \ifdefined\newtheoremstyle \newtheoremstyle{plain} {\topsep} % ABOVESPACE {\topsep} % BELOWSPACE {\slshape} % BODYFONT--\slshape is defined to be \itshape with upright figures and punctuation {} % INDENT (empty value is the same as 0pt) {\bfseries} % HEADFONT--you may want to add \tlfstyle so the number is tab lining, regardless of text figure selection {.} % HEADPUNCT {5pt plus 1pt minus 1pt} % HEADSPACE {} % CUSTOM-HEAD-SPEC\newtheorem{thm}{Theorem}[section] \fi% \fi \DeclareRobustCommand{\lfstyle}{% \not@math@alphabet\lfstyle\relax \fontfamily{Cochineal-LF}\selectfont % }% to get lf \DeclareRobustCommand{\tlfstyle}{% \not@math@alphabet\tlfstyle\relax \fontfamily{Cochineal-TLF}\selectfont % }% to get tlf \DeclareRobustCommand{\osfstyle}{% \not@math@alphabet\osfstyle\relax \fontfamily{Cochineal-OsF}\selectfont % }% to get osf \DeclareRobustCommand{\tosfstyle}{% \not@math@alphabet\tosfstyle\relax \fontfamily{Cochineal-TOsF}\selectfont % }% to get tosf \DeclareRobustCommand{\textlf}[1]{% {\lfstyle #1}% }% to get lf \DeclareRobustCommand{\texttlf}[1]{% {\tlfstyle #1}% }% to get tlf \DeclareRobustCommand{\textosf}[1]{% {\osfstyle #1}% }% to get osf \DeclareRobustCommand{\texttosf}[1]{% {\tosfstyle #1}% }% to get tosf \if@Cochineal@scosf % \DeclareRobustCommand{\textsc}[1]{% {\fontfamily{Cochineal-\Cochineal@figurealign% OsF}\fontshape{sc}\selectfont #1}% }\fi% use OsF in small caps \renewcommand*{\rmdefault}{Cochineal-TLF} % always TLF in math \renewcommand*{\familydefault}{\rmdefault} \newcommand{\Qswash}{{\fontencoding{TS1}\fontfamily{Cochineal-LF}\selectfont \char59 }} \newcommand{\Qnoswash}{{\fontencoding{TS1}\fontfamily{Cochineal-LF}\selectfont \char58 }} \if@Cochineal@sups % \ifdefined\sufigures \def\f@@tn@te{footnote} \def\@makefnmark{% \ifx\@mpfn\f@@tn@te% \ifx\thefootnote\orig@footnote% \hbox{\sufigures\hspace*{.04em}\@thefnmark\hspace*{.04em}}% \else% \orig@makefnmark% \fi \else% \orig@makefnmark% \fi}% \fi% \fi %\ifCochineal@babel % \renewcommand*{\rmdefault}{Cochineal-\Cochineal@figurealign% % \Cochineal@figurestyle} % \normalfont %\else \AtEndPreamble{% \renewcommand*{\rmdefault}{Cochineal-\Cochineal@figurealign% \Cochineal@figurestyle} \normalfont} %\fi \renewcommand*{\familydefault}{\rmdefault} \endinput