%% 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. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{berenis}[2010/08/26 v1.0 berenis] \RequirePackage{xkeyval} \RequirePackage[LY1]{fontenc} \RequirePackage{nfssext-cfr} %:boolkeys for ligature/swash encoding as default \define@boolkey{berenis.sty}[berenis@]{lig}[true]{% \ifberenis@lig \def\berenis@lig{w}% \else \def\berenis@lig{}% \fi} %:boolkeys for roman osf/lf \define@boolkey{berenis.sty}[berenis@]{osf}[true]{% \ifberenis@osf \def\berenis@lfosf{j}% \else \def\berenis@lfosf{}% \fi} \define@boolkey{berenis.sty}[berenis@]{lf}[true]{% \ifberenis@lf \def\berenis@lfosf{}% \else \def\berenis@lfosf{j}% \fi} %:boolkeys for roman prop/tab \define@boolkey{berenis.sty}[berenis@]{prop}[true]{% \ifberenis@prop \def\berenis@tabprop{2}% \else \def\berenis@tabprop{}% \fi} \define@boolkey{berenis.sty}[berenis@]{tab}[true]{% \ifberenis@tab \def\berenis@tabprop{}% \else \def\berenis@tabprop{2}% \fi} \define@boolkey{berenis.sty}[berenis@]{lm}[true]{% \ifberenis@lm \relax \else \PackageWarning{berenis.sty}{% Default sf and tt families will not\MessageBreak be changed to Latin Modern.\MessageBreak You should change the defaults\MessageBreak yourself since Computer Modern\MessageBreak does not support LY1.\MessageBreak}% \fi} %:defaults to ensure everything is defined to something \ExecuteOptionsX{lig=false,osf=true,prop=true,lm=true} %:options override defaults \ProcessOptionsX %:make BerenisADFPro default roman font, implementing options for ligature/swash encoding and lf/osf as applicable \renewcommand{\rmdefault}{ybd\berenis@tabprop\berenis@lfosf\berenis@lig} \ifberenis@lm \renewcommand{\sfdefault}{lmss} \renewcommand{\ttdefault}{lmtt} \fi \newcommand*{\berenis@rhybudd}[2]{\PackageWarning{berenis.sty}{#1 unavailable.\MessageBreak #2 used instead.\MessageBreak}}% %:based on definition of \ss from afm2pl manual page \def\zeroslash{% \setbox0\hbox{\char184}% \setbox1\hbox{\char24}% \ifnum\wd0=\wd1 \char48\berenis@rhybudd{slashed zero}{zero}\else\ifnum\wd0=0 \char48\berenis@rhybudd{slashed zero}{zero}\else\char184\fi\fi} %:experiment: even if this works, it is a horrible kludge \gdef\berenis@ligswash{w}% \def\berenis@Q{ Q}% \def\berenis@get@vff#1#2#3#4\@nil{#1#2#3}% \def\berenis@get@variants ybd#1\@nil{#1}% \def\berenis@cyntaf@variant#1#2\@nil{#1}% \def\berenis@ail@variant#1#2\@nil{#2}% \newcommand*{\berenis@variants}[1]{% \edef\tempz{#1}% \def\tempe{}% \ifx\tempz\tempe \gdef\berenis@olaf{}% \else \edef\tempb{\expandafter\berenis@cyntaf@variant#1 Q\@nil}% \edef\tempc{\expandafter\berenis@ail@variant#1 Q\@nil}% \edef\tempd{\expandafter\berenis@ail@variant#1\@nil}% \ifx\tempc\berenis@Q \gdef\berenis@olaf{\tempb}\else\berenis@variants{\tempd}\fi \fi }% \newcommand*{\berenis@teulu}{% \edef\tempf{\expandafter\berenis@get@vff\f@family\@nil}% \def\tempybd{ybd}% \ifx\tempf\tempybd \edef\tempa{\expandafter\berenis@get@variants\f@family\@nil}% \berenis@variants{\tempa}% \else \gdef\berenis@olaf{}% \fi}% \DeclareTextCompositeCommand{\^}{LY1}{W}{% \berenis@teulu \edef\tempx{\berenis@ligswash}% \edef\tempy{\berenis@olaf}% \ifx\tempx\tempy \char29 \else\accent94\char87\fi } \DeclareTextCompositeCommand{\^}{LY1}{w}{% \berenis@teulu \edef\tempx{\berenis@ligswash}% \edef\tempy{\berenis@olaf}% \ifx\tempx\tempy \char31 \else\accent94\char119\fi } \DeclareTextCompositeCommand{\^}{LY1}{Y}{% \berenis@teulu \edef\tempx{\berenis@ligswash}% \edef\tempy{\berenis@olaf}% \ifx\tempx\tempy \char223 \else\accent94\char89\fi } \DeclareTextCompositeCommand{\^}{LY1}{y}{% \berenis@teulu \edef\tempx{\berenis@ligswash}% \edef\tempy{\berenis@olaf}% \ifx\tempx\tempy \char26 \else\accent94\char121\fi } \endinput %% end berenis.sty