diff options
author | Karl Berry <karl@freefriends.org> | 2022-11-02 22:01:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-11-02 22:01:53 +0000 |
commit | 6eb8225de0d14d6df99cf343ca206644a111bf85 (patch) | |
tree | 491790e3bf4224ae54794f6034b9624bd337b9d0 /Master/texmf-dist/source/fonts | |
parent | 3f1026bdc52825d68d83555c8d4cdc31a41f7687 (diff) |
hep-font (2nov22)
git-svn-id: svn://tug.org/texlive/trunk@64900 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/fonts')
-rw-r--r-- | Master/texmf-dist/source/fonts/hep-font/hep-font-implementation.dtx | 172 |
1 files changed, 126 insertions, 46 deletions
diff --git a/Master/texmf-dist/source/fonts/hep-font/hep-font-implementation.dtx b/Master/texmf-dist/source/fonts/hep-font/hep-font-implementation.dtx index 50c01310ecb..e5e80643dc9 100644 --- a/Master/texmf-dist/source/fonts/hep-font/hep-font-implementation.dtx +++ b/Master/texmf-dist/source/fonts/hep-font/hep-font-implementation.dtx @@ -18,8 +18,8 @@ % \iffalse % %<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] -%<package>\ProvidesPackage{hep-font}[2021/09/01 v1.0 hep-font] -%<documentation>\ProvidesFile{hep-font-documentation.tex}[2021/09/01 v1.8 hep-font documentation] +%<package>\ProvidesPackage{hep-font}[2022/11/01 v1.1 hep-font] +%<documentation>\ProvidesFile{hep-font-documentation.tex}[2022/11/01 v1.1 hep-font documentation] % %<*documentation> @@ -57,7 +57,7 @@ % % \fi % -% \CheckSum{392} +% \CheckSum{496} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -76,6 +76,7 @@ % Right brace \} Tilde \~} % % \changes{v1.0}{2021/09/01}{Initial version of the style file.} +% \changes{v1.1}{2022/11/01}{Bug fixes.} % % \ifshort %<*documentation> @@ -85,7 +86,7 @@ \title{The \software{hep-font} package\thanks{This document corresponds to \software{hep-font}~\fileversion.}} \subtitle{Latin modern extended by computer modern} -\author{Jan Hajer \email{jan.hajer@unibas.ch}} +\author{Jan Hajer \email{jan.hajer@tecnico.ulisboa.pt}} \date{\filedate} % \ifshort @@ -102,6 +103,15 @@ The \software{hep-font} package loads standard font packages and extends the usu The package is loaded using "\usepackage{hep-font}". +\DescribeMacro{size} +The "size="\meta{size} option loads the specified font size. +The possible \meta{sizes} are: +"8pt", "9pt", "10pt", "11pt", "12pt", "14pt", "17pt", "20pt" and "default" deactivates this switch. +The default value is \unit[11]{pt}. + +\DescribeMacro{sans} +The "sans" option switches to sans-serif font instead of serif font. + \DescribeMacro{oldstyle} The "oldstyle" option switches to oldstyle numerals such as 123 in text mode instead of lining numerals such as \textl{123}. @@ -153,6 +163,21 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i } % \end{macrocode} % +% \begin{macro}{size} +% Define the "size" switching taking the font size as an argument. +% \begin{macrocode} +\DeclareStringOption[11pt]{size} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{sans} +% Define the "sans" switching to sans serif font. +% \begin{macrocode} +\DeclareBoolOption[false]{sans} +\DeclareComplementaryOption{serif}{sans} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{lining} % Define the "lining" option deactivating the use of text figures in text mode. % \begin{macrocode} @@ -161,10 +186,20 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i % \end{macrocode} % \end{macro} % +% Process options. % \begin{macrocode} \ProcessKeyvalOptions* % \end{macrocode} % +% Read font argument from class call. +% \begin{macrocode} +\def\hepfont@get@class#1.cls#2\relax{\def\hepfont@class{#1}} +\def\hepfont@getclass{\expandafter\hepfont@get@class\@filelist\relax} +\hepfont@getclass +\@ifclasswith{\hepfont@class}{10pt}{\setkeys{hepfont}{size=10pt}}{} +\@ifclasswith{\hepfont@class}{11pt}{\setkeys{hepfont}{size=11pt}}{} +\@ifclasswith{\hepfont@class}{12pt}{\setkeys{hepfont}{size=12pt}}{} +% \end{macrocode} % % \begin{macro}{\ifxetexorluatex} % Load the \software{ifluatex} \cite{ifluatex} and \software{ifxetex} \cite{ifxetex} packages. @@ -183,8 +218,33 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i % Pick the correct font encoding depending on the engine used and load the \software{fontenc} package \cite{fontenc} with this encoding. % For details of the font encoding see \cite{encguide}. % \begin{macrocode} -\def\hep@encoding{T\ifxetexorluatex U\else 1\fi} -\RequirePackage[\hep@encoding]{fontenc} +\def\hepfont@encoding{T\ifxetexorluatex U\else 1\fi} +\PassOptionsToPackage{\hepfont@encoding}{fontenc} +\RequirePackage{fontenc} +% \end{macrocode} +% Switch document to sans-serif font if requested using the \software{pdftexcmds} package \cite{pdftexcmds}. +% \begin{macrocode} +\RequirePackage{pdftexcmds} +\ifnum\pdf@strcmp{\hepfont@size}{default}=0\else + \def\hepfont@remove@pt#1pt{#1} + \edef\hepfont@pt@size{\expandafter\hepfont@remove@pt\hepfont@size} + \let\small\relax + \let\footnotesize\relax + \let\scriptsize\relax + \let\tiny\relax + \let\large\relax + \let\Large\relax + \let\LARGE\relax + \let\huge\relax + \let\Huge\relax + \input{size\hepfont@pt@size.clo} +\fi +% \end{macrocode} +% Switch document to sans-serif font if requested. +% \begin{macrocode} +\ifhepfont@sans + \renewcommand{\familydefault}{\sfdefault} +\fi % \end{macrocode} % Fix the remaining \CM \cite{cm} fonts using the \software{fix-cm} package \cite{fix-cm} and load the \software{microtype} font optimizations \cite{microtype}. % \begin{macrocode} @@ -199,12 +259,29 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i \RequirePackage{lmodern} \else \ifhepfont@lining - \RequirePackage[rm={lining},sf={lining},tt={lining}]{cfr-lm} - \else - \RequirePackage{cfr-lm} + \PassOptionsToPackage{rm={lining},sf={lining},tt={lining}}{cfr-lm} \fi + \RequirePackage{cfr-lm} \fi % \end{macrocode} +% Ensure that the "verbatim" environment uses proportional font and provide an inline "\code" macro. +% Work around a bug in \software{nfssext-cfr} which defines a global "\set" macro and breaks other macros of the same name. +% \begin{macrocode} +% \let\hep@verbatim\verbatim +% \renewcommand\verbatim{\hep@verbatim\tmstyle} +% \RequirePackage{etoolbox} +% \AtBeginDocument{ +% \ifdefined\set +% \AtBeginEnvironment{verbatim}{\global\let\hep@set\set\tmstyle} +% \AfterEndEnvironment{verbatim}{\renewcommand\set{\hep@set}} +% \else +% \AtBeginEnvironment{verbatim}{\tmstyle} +% \fi +% } +\let\verbatim@font\tmstyle +\RequirePackage{xparse} +\ProvideDocumentCommand{\code}{v}{{\tmstyle #1}} +% \end{macrocode} % Adjust the figures according to the "lining" option and ensure that tables always use lining. % \begin{macrocode} % \RequirePackage{etoolbox} @@ -214,11 +291,11 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i % Load the \software{textcomp} extension \cite{textcomp} and define helper functions. % \begin{macrocode} \RequirePackage{textcomp} -\newcommand{\hep@sf@fontshape}[3]{% - \DeclareFontShape{\hep@encoding}{\sfdefault}{#1}{#2}{#3}{}% +\newcommand{\hepfont@sf@shape}[3]{% + \DeclareFontShape{\hepfont@encoding}{\sfdefault}{#1}{#2}{#3}{}% } -\newcommand{\hep@rm@fontshape}[3]{% - \DeclareFontShape{\hep@encoding}{\rmdefault}{#1}{#2}{#3}{}% +\newcommand{\hepfont@rm@shape}[3]{% + \DeclareFontShape{\hepfont@encoding}{\rmdefault}{#1}{#2}{#3}{}% } % \end{macrocode} % @@ -233,10 +310,10 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i SmallCapsFont={[cmunbx.otf]} } ] - \hep@sf@fontshape{bx}{sc}{<->cmssbxcsc10}{} - \hep@sf@fontshape{b}{sc}{<->cmssbxcsc10}{} - \hep@sf@fontshape{m}{scit}{<->cmsscsci10}{} - \hep@sf@fontshape{m}{sc}{% + \hepfont@sf@shape{bx}{sc}{<->cmssbxcsc10}{} + \hepfont@sf@shape{b}{sc}{<->cmssbxcsc10}{} + \hepfont@sf@shape{m}{scit}{<->cmsscsci10}{} + \hepfont@sf@shape{m}{sc}{% <-9>cmsscsc8<9-10>cmsscsc9<10->cmsscsc10% }{} % \end{macrocode} @@ -253,33 +330,33 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i % \begin{macrocode} \ifhepfont@lining \RequirePackage{slantsc} - \hep@rm@fontshape{b}{sc}{<->ssub*cmr/bx/sc}{} - \hep@rm@fontshape{bx}{sc}{<->ssub*cmr/bx/sc}{} - \hep@rm@fontshape{b}{scsl}{<->ssub*cmr/bx/scsl}{} - \hep@rm@fontshape{bx}{scsl}{<->ssub*cmr/bx/scit}{} - \hep@rm@fontshape{b}{scit}{<->ssub*cmr/bx/scsl}{} - \hep@rm@fontshape{bx}{scit}{<->ssub*cmr/bx/scit}{} + \hepfont@rm@shape{b}{sc}{<->ssub*cmr/bx/sc}{} + \hepfont@rm@shape{bx}{sc}{<->ssub*cmr/bx/sc}{} + \hepfont@rm@shape{b}{scsl}{<->ssub*cmr/bx/scsl}{} + \hepfont@rm@shape{bx}{scsl}{<->ssub*cmr/bx/scit}{} + \hepfont@rm@shape{b}{scit}{<->ssub*cmr/bx/scsl}{} + \hepfont@rm@shape{bx}{scit}{<->ssub*cmr/bx/scit}{} % \end{macrocode} %\end{macro} %\begin{macro}{\textsc} %For oldstyle numerals use the fonts from the \software{hfoldsty} package \cite{hfoldsty}. % \begin{macrocode} \else - \DeclareFontFamily{\hep@encoding}{hfor}{} - \DeclareFontShape{\hep@encoding}{hfor}{bx}{sc}{ + \DeclareFontFamily{\hepfont@encoding}{hfor}{} + \DeclareFontShape{\hepfont@encoding}{hfor}{bx}{sc}{ <-6>hfoxc0500<6-7>hfoxc0600<7-8>hfoxc0700<8-9>hfoxc0800 <9-10>hfoxc0900<10-12>hfoxc1000<12-17>hfoxc1200<17->hfoxc1728 }{} - \DeclareFontShape{\hep@encoding}{hfor}{bx}{scsl}{ + \DeclareFontShape{\hepfont@encoding}{hfor}{bx}{scsl}{ <-6>hfooc0500<6-7>hfooc0600<7-8>hfooc0700<8-9>hfooc0800 <9-10>hfooc0900<10-12>hfooc1000<12-17>hfooc1200<17->hfooc1728 }{} - \hep@rm@fontshape{b}{sc}{<->ssub*hfor/bx/sc}{} - \hep@rm@fontshape{bx}{sc}{<->ssub*hfor/bx/sc}{} - \hep@rm@fontshape{bx}{scsl}{<->ssub*hfor/bx/scsl}{} - \hep@rm@fontshape{b}{scit}{<->ssub*hfor/bx/scsl}{} - \hep@rm@fontshape{bx}{scit}{<->ssub*hfor/bx/scsl}{} - \hep@rm@fontshape{b}{scsl}{<->ssub*hfor/bx/scsl}{} + \hepfont@rm@shape{b}{sc}{<->ssub*hfor/bx/sc}{} + \hepfont@rm@shape{bx}{sc}{<->ssub*hfor/bx/sc}{} + \hepfont@rm@shape{bx}{scsl}{<->ssub*hfor/bx/scsl}{} + \hepfont@rm@shape{b}{scit}{<->ssub*hfor/bx/scsl}{} + \hepfont@rm@shape{bx}{scit}{<->ssub*hfor/bx/scsl}{} + \hepfont@rm@shape{b}{scsl}{<->ssub*hfor/bx/scsl}{} \fi % \end{macrocode} %\end{macro} @@ -287,28 +364,31 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i %Provide the sans serif small caps font shape using the extended \CM from the \software{sansmathfonts} package \cite{sansmathfonts}. % \begin{macrocode} \sffamily - \hep@sf@fontshape{m}{sc}{<->ssub*xcmss/m/sc}{} - \hep@sf@fontshape{b}{sc}{<->ssub*xcmss/bx/sc}{} - \hep@sf@fontshape{bx}{sc}{<->ssub*xcmss/bx/sc}{} - \hep@sf@fontshape{m}{scit}{<->ssub*xcmss/m/scit}{} - \hep@sf@fontshape{b}{scit}{<->ssub*xcmss/bx/scit}{} - \hep@sf@fontshape{bx}{scit}{<->ssub*xcmss/bx/scit}{} - \hep@sf@fontshape{m}{scsl}{<->ssub*xcmss/m/scit}{} - \hep@sf@fontshape{b}{scsl}{<->ssub*xcmss/bx/scit}{} - \hep@sf@fontshape{bx}{scsl}{<->ssub*xcmss/bx/scit}{} + \hepfont@sf@shape{m}{sc}{<->ssub*xcmss/m/sc}{} + \hepfont@sf@shape{b}{sc}{<->ssub*xcmss/bx/sc}{} + \hepfont@sf@shape{bx}{sc}{<->ssub*xcmss/bx/sc}{} + \hepfont@sf@shape{m}{scit}{<->ssub*xcmss/m/scit}{} + \hepfont@sf@shape{b}{scit}{<->ssub*xcmss/bx/scit}{} + \hepfont@sf@shape{bx}{scit}{<->ssub*xcmss/bx/scit}{} + \hepfont@sf@shape{m}{scsl}{<->ssub*xcmss/m/scit}{} + \hepfont@sf@shape{b}{scsl}{<->ssub*xcmss/bx/scit}{} + \hepfont@sf@shape{bx}{scsl}{<->ssub*xcmss/bx/scit}{} % \end{macrocode} %\end{macro} %\begin{macro}{\textui} %Provide a sans upright italic font. % \begin{macrocode} - \hep@sf@fontshape{m}{ui}{<->cmssu10}{} + \hepfont@sf@shape{m}{ui}{<->cmssu10}{} \fi % \end{macrocode} %\end{macro} % % Load the \software{inputenc} package \cite{inputenc} whe using \hologo{pdfLaTeX}. % \begin{macrocode} -\ifxetexorluatex\else\RequirePackage[utf8]{inputenc}\fi +\ifxetexorluatex\else + \PassOptionsToPackage{utf8}{inputenc} + \RequirePackage{inputenc} +\fi % \end{macrocode} % % \begin{macro}{\unit} @@ -317,7 +397,7 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i % \begin{macrocode} \ifhepfont@lining\else % \AtBeginDocument{ -% \@ifpackageloaded{ +% \@ifpackageloaded{units}{ \RequirePackage{units} \RequirePackage{xpatch} \xpatchcmd{\unit}{\else#1}{% @@ -344,10 +424,10 @@ Finally the \software{inputenc} package \cite{inputenc} with the "utf8" option i \usepackage[oldstyle]{hep-font} %% \usepackage[oldstyle]{hep-paper} -\usepackage{fullpage} +\usepackage[cm]{fullpage} \usepackage{fancyvrb}\DefineShortVerb{\|} -\newenvironment{vrb}{\begin{tabular}{@{}p{5cm}ll@{}}}{\end{tabular}} +\newenvironment{vrb}{\begin{tabular}{@{}p{5.4cm}ll@{}}}{\end{tabular}} \begin{document} |