% % \iffalse meta-comment % % Copyright 2019, 2023--2024 Brian Dunn % % 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. % % \fi % % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{metalogox} % [2024/03/07 v1.06 Extends the metalogo package with font detection.] % %<*driver> \documentclass{ltxdoc} \makeatletter \def\index@prologue{\section*{Index}% \markboth{Index}{Index}% Numbers written in italic refer to the page where the corresponding entry is described. Square brackets indicate the option used by a given package or synonym option. } \makeatother \newcommand{\mypackagename}{metalogox} \newcommand{\quicksummary}{Automatically adjusts the \TeX\ logo and related, depending on the font.} \usepackage{erewhon} \usepackage{aurical} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[svgnames]{xcolor} \definecolor{myurlcolor}{rgb}{0,0,.7} \definecolor{mylinkcolor}{rgb}{.7,0,0} \definecolor{codecolor}{rgb}{0,.4,.2} \definecolor{overviewcolor}{rgb}{0,.2,.4} \usepackage{microtype} \usepackage{etoolbox} \usepackage{dtxdescribe}[2023/01/03] \usepackage{booktabs} \usepackage{titleps} \newpagestyle{pageheadfoot}{ \headrule \sethead{\pkg{\mypackagename}}{}{\thepage} % \renewcommand{\makefootrule}{\rule[2.5ex]{\linewidth}{.4pt}} \setfoot{}{}{} } \pagestyle{pageheadfoot} \usepackage{needspace} \AtBeginDocument{ \hypersetup{% pdfinfo={% Title={LaTeX \mypackagename{} package},% Author={Brian Dunn},% Subject={LaTeX metalogox package},% Keywords={LaTeX, metalogox, logo},% colorlinks,% linkcolor=mylinkcolor,% urlcolor=myurlcolor,% pageanchor=true, }} \pdfstringdefDisableCommands{ \def\quad{ } \def\\{ } \def\pkg#1{#1} \def\cs#1{\textbackslash#1} \def\env#1{#1} \def\,{ } \def\prog#1{#1} \def\LuaLaTeX{LuaLaTeX} \def\XeLaTeX{XeLaTeX} \def\TeX{TeX} \def\LaTeX{LaTeX} \def\Dash{ --- } \def\dash{ -- } \def\element#1{#1} \def\attribute#1{#1} \def\DVI{DVI} \def\PDF{PDF} } }% AtBeginDocument \AddToHook{begindocument/before}{% Before .aux file is loaded. \usepackage{cleveref} } % from dtxdescribe: \setlength{\marginparsep}{1em} \setlength{\marginparpush}{.7ex} \setlength{\parindent}{0em} \setlength{\parskip}{2ex} \setlength{\IndexMin}{40ex} \usepackage{\mypackagename} \newcommand*{\onetex}[3]{% \usefont{T1}{#1}{m}{#3}% \adjustlogos{default}% \LaTeX & \usefont{T1}{#1}{m}{#3}% % \adjustlogos{#2}% \autoadjustlogos% \LaTeX \\ } \newcommand*{\textblue}[1]{\textcolor{blue!70!black}{#1}} \setcounter{IndexColumns}{2} \setcounter{GlossaryColumns}{2} \DisableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{\mypackagename.dtx} \end{document} % % \fi % % \changes{v1.00}{2019/01/20}{\ 2019/01/20 Initial version.} % \changes{v1.01}{2023/01/03}{Docs adjusted for \pkg{dtxdescribe}.} % \changes{v1.01}{2023/01/03}{\ 2023/01/03} % \changes{v1.02}{2024/01/12}{Updated contact info.} % \changes{v1.02}{2024/01/12}{\ 2024/01/12} % \changes{v1.03}{2024/01/18}{Improved TOC change log and index entries.} % \changes{v1.03}{2024/01/18}{Added Atkinson Hyperlegible, Charis SIL, Cuprum, % Eczar, Ibarra, Inria, Inter, MLModern, Nunito, Oswald.} % \changes{v1.03}{2024/01/19}{2024/01/19} % \changes{v1.04}{2024/01/26}{2024/01/26} % \changes{v1.05}{2024/03/01}{2024/03/01} % \changes{v1.06}{2024/03/07}{2024/03/07} % \GetFileInfo{\mypackagename.sty} % % \DoNotIndex{\newcommand,\renewcommand,\addtocounter,\begin,\end,\begingroup,\endgroup} % \DoNotIndex{\global,\ifbool,\ifthenelse,\isequivalentto,\let} % \DoNotIndex{\booltrue,\boolfalse} % \expandafter\DoNotIndex\expandafter{\detokenize{\(,\),\,,\\,\#,\$,\%,\^,\_,\~,\ ,\&,\{,\}}} % % \begin{center} % \thispagestyle{empty} % \vfill % {\Huge The \LaTeX\ \pkg{\mypackagename} package} % % \fileversion{} --- \filedate % % \bigskip % % {\small\textcopyright{} 2019, 2023--2024} Brian Dunn\\ \small \url{https://github.com/bdtc/metalogox} % % \vspace{.5in} % % {\normalsize\textup{\quicksummary}} % % \vfill % % { % \Large % \begin{tabular}{ccc} % \toprule % Font & Default & \pkg{metalogox} \\ \midrule % Latin Modern & \onetex{lmr}{lmodern}{n} % Times & \onetex{ptm}{times}{n} % Bookman & \onetex{pbk}{bookman}{n} % Erewhon & \onetex{erewhon-TLF}{utopia}{n} % Libre Caslon & \onetex{LibreCsln-TLF}{baskerville}{n} % Libertinus & \onetex{LibertinusSerif-TLF}{libertinus-type1}{n} % IM Fell English & \onetex{IMFELLEnglish-TLF}{baskerville}{n} % Coelacanth & \onetex{Coelacanth-TLF}{coelacanth}{n} % Alegreya & \onetex{Alegreya-TLF}{alegreya}{n} % Helvetica & \onetex{phv}{helvetica}{n} % Antiqua & \onetex{uaq}{antiqua}{n} % \bottomrule % \end{tabular} % } % % \vfill % % \begin{abstract} % \noindent % The \pkg{metalogox} package extends the \pkg{metalogo} package to % automatically adjust the appearance of the logos % \TeX, \LaTeX, \LaTeXe, \XeLaTeX, and \LuaLaTeX, % depending on the font detected or the option given to \pkg{metalogox}. % % \changes{v1.01}{2023/01/03}{Updated \LaTeX\ Font Catalog website.} % Most of the serif and sans fonts listed at % \href{https://tug.org/FontCatalogue/}{The \LaTeX\ Font Catalogue} % are supported. % \end{abstract} % % \vspace*{\fill} % \vspace*{\fill} % \vspace*{\fill} % \end{center} % % \clearpage % % \tableofcontents % \clearpage % % % \thispagestyle{pageheadfoot} % % \clearpage % % \section{Introduction} % % \setlength{\parindent}{2em} % \setlength{\parskip}{0ex} % % The rendering of the logos \TeX, \LaTeX, \LaTeXe, \XeLaTeX, \XeTeX, and \LuaLaTeX\ % depends on the font, and in some cases the appearance of these logos may be % improved with some minor adjustments of the positions of each of the elements. % The \pkg{metalogo} package, by \textsc{Andrew Gilbert Moschou}, % allows the user to specify these adjustments, but it is left to the user % to determine the values to use. The correct value may depend on the font size, % but in most cases predefined settings may be used. % % The \pkg{metalogox} package assigns these settings for \pkg{metalogo}. % The default is for \brand{Latin Modern} and similar. % IF the font in use is supported by \pkg{metalogox}, % settings for that font are automatically assigned, % overriding the \brand{Latin Modern} default. % If the user specifies a package option, its settings override the default and % also anything set by font detection. % % The \LaTeX\ packages \pkg{hologo} and \pkg{hvlogos} are also supported % when used with \pkg{metalogox}. % % % \setlength{\parindent}{0em} % \setlength{\parskip}{2ex} % % \section{Using the \pkg{metalogox} package} % % \DescribePackage{metalogox} % In most cases, it is sufficient to simply load the \pkg{metalogox} package % after the fonts have been selected: % \begin{sourcedisplay} % \cs{usepackage}\{\} \\ % \cs{setmainfont}\{Font Name\} \hfill \textrm{(if using \pkg{fontspec})}\\ % \dots etc \dots \\ % \% \cs{renewcommand}\{\cs{familydefault}\}\{\cs{sfdefault}\} \hfill \textrm{(optional)} \\ % \dots \\ % \cs{usepackage}\{metalogox\} \\ % \end{sourcedisplay} % Many fonts are supported by \pkg{metalogox}, and if one of these is in use % then the appropriate settings are assigned automatically, according to % the default text body font: % \qquad \LaTeXe % % If several font packages are used, or a font is not recognized, % \margintag{options} % it may be necessary to specify a \pkg{metalogox} package option, % which overrides the font detection: % \begin{sourcedisplay} % \cs{usepackage}\textblue{[baskerville]}\{metalogox\} % \end{sourcedisplay} % % \DescribeMacro{\adjustlogos} \marg{package option} % % \cs{adjustlogos} may be used to adjust the logos for an unknown font. % The mandatory argument is the same as the package options. % This is a local change, and may be adjusted as needed. % \begin{sourcedisplay} % \cs{Fontskrivan} \hfill \textrm{(from the \pkg{aurical} package)} \\ % \cs{adjustlogos}\{default\} \cs{LaTeXe} \hfill % {\Fontskrivan\adjustlogos{default}\LaTeXe} \\ % \cs{adjustlogos}\{baskerville\} \cs{LaTeXe} \hfill % {\Fontskrivan\adjustlogos{baskerville}\LaTeXe} % \end{sourcedisplay} % % \needspace{3\baselineskip} % % \DescribeMacro{\autoadjustlogos} % \cs{autoadjustlogos} may be used to make local changes % according to the current font: % \begin{sourcedisplay} % \cs{textsf}\{Using \textblue{\cs{autoadjustlogos}}\cs{LaTeXe}\} % \hfill \mbox{\textsf{Using \autoadjustlogos\LaTeXe}} \\ % \cs{textsf}\{Using \cs{textrm}\{\textblue{\cs{autoadjustlogos}}\cs{LaTeXe}\}\} % \hfill \mbox{\textsf{Using \textrm{\autoadjustlogos\LaTeXe}}} \\ % \end{sourcedisplay} % % \DescribeMacro{\autoadjustlogos*} % The starred form, \cs{autoadjustlogos*}, % is used by \pkg{metalogox} at the beginning of the document to set % according to the default text body font. % % % \paragraph{Notes:} % \begin{itemize} % \item \pkg{metalogox} option names may be found in the following pages, % or in the index. % % \item \pkg{metalogox} options are always lowercase, even if a related package % name may have uppercase letters. % % \item Many options, such as \optn{times}, are used to cover an entire category % of related fonts. % % \item Other options, such as \optn{baskerville}, may be used for % unrelated fonts which just happen to work well with the same logo settings. % % \item For some fonts, \XeLaTeX\ renders the reversed |E| in the \XeLaTeX\ logo % differently than pdf\LaTeX\ and \LuaLaTeX. % % \item There are sometimes differences between the \brand{Type1} and % the \acro{OTF} \Slash \acro{TTF} fonts. % % \item \PDF\ display software may not render logos well on the screen % at small display sizes. Zoom in to judge the quality of the logos. % % \item The \pkg{metalogox} parameters were set according to the design preferences of % the author of the \pkg{metalogo} package. Some may disagree with the design choices % which were made, but the results are probably better than the defaults, and the % user may take control using the \pkg{metalogo} package directly. % % \item Since the same settings are usually shared by many fonts, % some logos may not be perfect. % % \item If a font is not known by \pkg{metalogox} then a warning is issued, % and a few common options are recommended. % % \item Please contact the author of \pkg{metalogox} if an unknown font is found, % \margintag{Unknown font?} % especially if it is a common font, as sometimes the font family names % are changed. See the contact link on the title page of this document. % \end{itemize} % % % \StopEventually{ % \appendix % \GlossaryPrologue{\section{Change History}} % \PrintChanges % \IndexPrologue{\section{Index}} % \PrintIndex} % % \clearpage % % \section{Code} % % \subsection{Required packages} % \begin{macrocode} \RequirePackage{metalogo} \RequirePackage{xparse} \RequirePackage{etoolbox} % \end{macrocode} % % % \subsection{Package options} % % Each of the following is a macro which is activated by % passing the option of the same name to \pkg{metalogox}, % or by calling \cs{adjustlogos}. % % For example, either of the following sets the default \pkg{metalogo} logo adjustments: % \begin{sourcedisplay} % \cs{usepackage}[\textblue{default}]\{metalogox\} \\ % \fqquad\textrm{--- or ---} \\ % \cs{adjustlogos}\{\textblue{default}\} % \end{sourcedisplay} % % \DescribeOption{default} The \LaTeX\ and \pkg{metalogo} default settings. % \begin{macrocode} \newcommand*{\MLX@default}{% \setlogokern{Te}{-0.1667em}% \setlogokern{eX}{-0.125em}% \setlogokern{La}{-.36em}% \setlogokern{aT}{-.15em}% \setlogokern{Xe}{-.125em}% \setlogokern{eT}{-.1667em}% \setlogokern{eL}{-.125em}% \setlogodrop{0.5ex}% } % \end{macrocode} % % % \DescribeOption{accanthis} % \begin{macrocode} \newcommand*{\MLX@accanthis}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.05em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.25ex}% } % \end{macrocode} % % % \DescribeOption{alegreya} % \begin{macrocode} \newcommand*{\MLX@alegreya}{% \setlogokern{Te}{-0.14em}% \setlogokern{eX}{-0.12em}% \setlogokern{La}{-.23em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.12em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{algolrevived} % \begin{macrocode} \newcommand*{\MLX@algolrevived}{% \setlogokern{Te}{-0.17em}% \setlogokern{eX}{-0.17em}% \setlogokern{La}{-.40em}% \setlogokern{aT}{-.06em}% \setlogokern{Xe}{-.18em}% \setlogokern{eT}{-.18em}% \setlogokern{eL}{-.12em}% \setlogodrop{0.28ex}% } % \end{macrocode} % % % \DescribeOption{antpolt} % \begin{macrocode} \newcommand*{\MLX@antpolt}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.08em}% \setlogokern{La}{-.33em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{avantgarde} % \begin{macrocode} \newcommand*{\MLX@avantgarde}{% \setlogokern{Te}{-0.10em}% \setlogokern{eX}{-0.04em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.10em}% \setlogokern{Xe}{-.04em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.40ex}% } % \end{macrocode} % % % \DescribeOption{baskerville} % \begin{macrocode} \newcommand*{\MLX@baskerville}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.07em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{berenis} % \begin{macrocode} \newcommand*{\MLX@berenis}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.23em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.58ex}% } % \end{macrocode} % % % \DescribeOption{bodoni} Also see \optn{librebodoni}. % \begin{macrocode} \newcommand*{\MLX@bodoni}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.10em}% \setlogodrop{0.37ex}% } % \end{macrocode} % % % \DescribeOption{boisik} % \begin{macrocode} \newcommand*{\MLX@boisik}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.07em}% \setlogokern{La}{-.35em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.55ex}% } % \end{macrocode} % % % \DescribeOption{bookman} % \begin{macrocode} \newcommand*{\MLX@bookman}{% \setlogokern{Te}{-0.03em}% \setlogokern{eX}{-0.035em}% \setlogokern{La}{-.25em}% \setlogokern{aT}{-.00em}% \setlogokern{Xe}{-.030em}% \setlogokern{eT}{-.02em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{charter} % \begin{macrocode} \newcommand*{\MLX@charter}{% \setlogokern{Te}{-0.10em}% \setlogokern{eX}{-0.07em}% \setlogokern{La}{-.24em}% \setlogokern{aT}{-.06em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.28ex}% } % \end{macrocode} % % % \DescribeOption{crimson} % \begin{macrocode} \newcommand*{\MLX@crimson}{% \setlogokern{Te}{-0.05em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.23em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.05em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{coelacanth} % \begin{macrocode} \newcommand*{\MLX@coelacanth}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.32ex}% } % \end{macrocode} % % % \DescribeOption{didot} % \begin{macrocode} \newcommand*{\MLX@didot}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.34em}% \setlogokern{aT}{-.11em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.12em}% \setlogokern{eL}{-.09em}% \setlogodrop{0.44ex}% } % \end{macrocode} % % % \DescribeOption{droidserif} % \begin{macrocode} \newcommand*{\MLX@droidserif}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.30em}% \setlogokern{aT}{-.08em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.08em}% \setlogodrop{0.30ex}% } % \end{macrocode} % % % \DescribeOption{droidsans} % \begin{macrocode} \newcommand*{\MLX@droidsans}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.24em}% \setlogokern{aT}{-.08em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.08em}% \setlogodrop{0.30ex}% } % \end{macrocode} % % % \DescribeOption{gentium} % \begin{macrocode} \newcommand*{\MLX@gentium}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.07em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.06em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.24ex}% } % \end{macrocode} % % % \DescribeOption{helvetica} % \begin{macrocode} \newcommand*{\MLX@helvetica}{% \setlogokern{Te}{-0.15em}% \setlogokern{eX}{-0.08em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.08em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.15em}% \setlogokern{eL}{-.04em}% \setlogodrop{0.40ex}% } % \end{macrocode} % % % \DescribeOption{kerkis} % \begin{macrocode} \newcommand*{\MLX@kerkis}{% \setlogokern{Te}{-0.02em}% \setlogokern{eX}{-0.02em}% \setlogokern{La}{-.25em}% \setlogokern{aT}{-.00em}% \setlogokern{Xe}{-.00em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.05em}% \setlogodrop{0.38ex}% } % \end{macrocode} % % % \DescribeOption{kpfonts} % \begin{macrocode} \newcommand*{\MLX@kpfonts}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.08em}% \setlogokern{La}{-.30em}% \setlogokern{aT}{-.11em}% \setlogokern{Xe}{-.10em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.33ex}% } % \end{macrocode} % % % \DescribeOption{libertine} Also see \optn{libertinus}, below. % \begin{macrocode} \newcommand*{\MLX@libertine}{% \setlogokern{Te}{-0.05em}% \setlogokern{eX}{-0.06em}% \setlogokern{La}{-.25em}% \setlogokern{aT}{-.05em}% \setlogokern{Xe}{-.05em}% \setlogokern{eT}{-.05em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.32ex}% } % \end{macrocode} % % % \DescribeOption{libertinus} There is a difference % in the raised `A' vs. \pkg{libertine}. % \begin{macrocode} \newcommand*{\MLX@libertinus}{% \setlogokern{Te}{-0.05em}% \setlogokern{eX}{-0.06em}% \setlogokern{La}{-.28em}% \setlogokern{aT}{-.05em}% \setlogokern{Xe}{-.05em}% \setlogokern{eT}{-.05em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.32ex}% } % \end{macrocode} % % % \DescribeOption{librebodoni} Specific to \pkg{LibreBodoni} only. % \begin{macrocode} \newcommand*{\MLX@librebodoni}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.49ex}% } % \end{macrocode} % % % \DescribeOption{lmodern} % \begin{macrocode} \newcommand*{\MLX@lmodern}{% \setlogokern{Te}{-0.10em}% \setlogokern{eX}{-0.06em}% \setlogokern{La}{-.33em}% \setlogokern{aT}{-.15em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.08em}% \setlogodrop{0.52ex}% } % \end{macrocode} % % % \DescribeOption{lmodernsans} % \begin{macrocode} \newcommand*{\MLX@lmodernsans}{% \setlogokern{Te}{-0.20em}% \setlogokern{eX}{-0.06em}% \setlogokern{La}{-.29em}% \setlogokern{aT}{-.12em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.20em}% \setlogokern{eL}{-.08em}% \setlogodrop{0.45ex}% } % \end{macrocode} % % % \DescribeOption{merriweather} % \begin{macrocode} \newcommand*{\MLX@merriweather}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.32ex}% } % \end{macrocode} % % % \DescribeOption{newcent} % \begin{macrocode} \newcommand*{\MLX@newcent}{% \setlogokern{Te}{-0.08em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.30em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.07em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.49ex}% } % \end{macrocode} % % % \DescribeOption{noto} % \begin{macrocode} \newcommand*{\MLX@noto}{% \setlogokern{Te}{-0.11em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.30em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.10em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.26ex}% } % \end{macrocode} % % % \DescribeOption{palatino} % \begin{macrocode} \newcommand*{\MLX@palatino}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.33em}% \setlogokern{aT}{-.10em}% \setlogokern{Xe}{-.09em}% \setlogokern{eT}{-.08em}% \setlogokern{eL}{-.07em}% \setlogodrop{0.35ex}% } % \end{macrocode} % % % \DescribeOption{pandora} % \begin{macrocode} \newcommand*{\MLX@pandora}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.08em}% \setlogokern{La}{-.32em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.08em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.53ex}% } % \end{macrocode} % % % \DescribeOption{paratype} % \begin{macrocode} \newcommand*{\MLX@paratype}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.34ex}% } % \end{macrocode} % % % \DescribeOption{plexserif}% % \begin{macrocode} \newcommand*{\MLX@plexserif}{% \setlogokern{Te}{-0.1667em}% \setlogokern{eX}{-0.125em}% \setlogokern{La}{-.30em}% \setlogokern{aT}{-.10em}% \setlogokern{Xe}{-.125em}% \setlogokern{eT}{-.16em}% \setlogokern{eL}{-.10em}% \setlogodrop{0.5ex}% } % \end{macrocode} % % % \DescribeOption{plexsans}% % \begin{macrocode} \newcommand*{\MLX@plexsans}{% \setlogokern{Te}{-0.1667em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.25em}% \setlogokern{aT}{-.10em}% \setlogokern{Xe}{-.10em}% \setlogokern{eT}{-.17em}% \setlogokern{eL}{-.10em}% \setlogodrop{0.5ex}% } % \end{macrocode} % % % \DescribeOption{quattrocento} % Compromises must be made here. % It appears that the height of |1ex| is incorrect for serif with \XeLaTeX, \LuaLaTeX. % \begin{macrocode} \newcommand*{\MLX@quattrocento}{% \setlogokern{Te}{-0.09em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.26em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{.4ex}% } % \end{macrocode} % % % \DescribeOption{sourceserifpro} % \begin{macrocode} \newcommand*{\MLX@sourceserifpro}{% \setlogokern{Te}{-0.12em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.29em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.09em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.09em}% \setlogodrop{0.30ex}% } % \end{macrocode} % % % \DescribeOption{sourcesanspro} % \begin{macrocode} \newcommand*{\MLX@sourcesanspro}{% \setlogokern{Te}{-0.12em}% \setlogokern{eX}{-0.09em}% \setlogokern{La}{-.22em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.09em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.09em}% \setlogodrop{0.30ex}% } % \end{macrocode} % % % \DescribeOption{times} % \begin{macrocode} \newcommand*{\MLX@times}{% \setlogokern{Te}{-0.06em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.28em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.06em}% \setlogokern{eL}{-.02em}% \setlogodrop{0.34ex}% } % \end{macrocode} % % % \DescribeOption{utopia} % \begin{macrocode} \newcommand*{\MLX@utopia}{% \setlogokern{Te}{-.08em}% \setlogokern{eX}{-0.04em}% \setlogokern{La}{-.21em}% \setlogokern{aT}{-.10em}% \setlogokern{Xe}{-.02em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.30ex}% } % \end{macrocode} % % % \DescribeOption{venturis} % \begin{macrocode} \newcommand*{\MLX@venturis}{% \setlogokern{Te}{-0.07em}% \setlogokern{eX}{-0.05em}% \setlogokern{La}{-.22em}% \setlogokern{aT}{-.07em}% \setlogokern{Xe}{-.06em}% \setlogokern{eT}{-.06em}% \setlogokern{eL}{-.06em}% \setlogodrop{0.36ex}% } % \end{macrocode} % % % \DescribeOption{vera} % \begin{macrocode} \newcommand*{\MLX@vera}{% \setlogokern{Te}{-0.12em}% \setlogokern{eX}{-0.14em}% \setlogokern{La}{-.32em}% \setlogokern{aT}{-.05em}% \setlogokern{Xe}{-.14em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.10em}% \setlogodrop{0.235ex}% } % \end{macrocode} % % \DescribeOption{verasans} % \begin{macrocode} \newcommand*{\MLX@verasans}{% \setlogokern{Te}{-0.12em}% \setlogokern{eX}{-0.10em}% \setlogokern{La}{-.28em}% \setlogokern{aT}{-.05em}% \setlogokern{Xe}{-.10em}% \setlogokern{eT}{-.10em}% \setlogokern{eL}{-.10em}% \setlogodrop{0.35ex}% } % \end{macrocode} % % % % % \subsubsection{Common synonyms} % % Synonyms for commonly-used fonts. % % \DescribeOption{tgbonum} % \begin{macrocode} \newcommand*{\MLX@tgbonum}{\MLX@bookman} % \end{macrocode} % % % \DescribeOption{tgheros} % \begin{macrocode} \newcommand*{\MLX@tgheros}{\MLX@helvetica} % \end{macrocode} % % % \DescribeOption{tgpagella} % \begin{macrocode} \newcommand*{\MLX@tgpagella}{\MLX@palatino} % \end{macrocode} % % % \DescribeOption{tgschola} % \begin{macrocode} \newcommand*{\MLX@tgschola}{\MLX@newcent} % \end{macrocode} % % % \DescribeOption{tgtermes} % \begin{macrocode} \newcommand*{\MLX@tgtermes}{\MLX@times} % \end{macrocode} % % % % \subsubsection{Similar fonts} % % The following work well enough that a separate definition is probably % not necessary. % % \DescribeOption{antiqua} % \begin{macrocode} \newcommand*{\MLX@antiqua}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{anttor} % \begin{macrocode} \newcommand*{\MLX@anttor}{\MLX@antpolt} % \end{macrocode} % % % \DescribeOption{artemisia} % \begin{macrocode} \newcommand*{\MLX@artemisia}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{caladea} % \begin{macrocode} \newcommand*{\MLX@caladea}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{caslon} % \begin{macrocode} \newcommand*{\MLX@caslon}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{cochineal} % \begin{macrocode} \newcommand*{\MLX@cochineal}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{concmath} % \begin{macrocode} \newcommand*{\MLX@concmath}{\MLX@lmodern} % \end{macrocode} % % % \DescribeOption{drm} % \begin{macrocode} \newcommand*{\MLX@drm}{\MLX@lmodern} % \end{macrocode} % % % \DescribeOption{garamond} % \begin{macrocode} \newcommand*{\MLX@garamond}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{imfellenglish} % \begin{macrocode} \newcommand*{\MLX@imfellenglish}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{literat} % \begin{macrocode} \newcommand*{\MLX@literat}{\MLX@baskerville} % \end{macrocode} % % % \DescribeOption{roboto} % \begin{macrocode} \newcommand*{\MLX@roboto}{\MLX@pandora} % \end{macrocode} % % % \DescribeOption{romande} % \begin{macrocode} \newcommand*{\MLX@romande}{\MLX@baskerville} % \end{macrocode} % % % % \subsection{Manual adjust selection} % % \begin{macro}{\adjustlogos} \marg{package option} % % If the given option matches a predefined \cs{MLX@...} macro, use it. % % \begin{macrocode} \newcommand*{\adjustlogos}[1]{% \ifcsdef{MLX@#1}{% \PackageInfo{metalogox}{Setting #1}% \csuse{MLX@#1}% }{% \PackageError{metalogox}{Unknown setting #1}% {See the metalogox documentation for a list of options.}% }% } % \end{macrocode} % \end{macro} % % % \subsection{Font detection} % % \DescribeBoolean{MLX@@foundfont} Found the font? % \changes{v1.03}{2024/01/18}{Warning if font was not found.} % \begin{macrocode} \newbool{MLX@@foundfont} % \end{macrocode} % \begin{macro}{\MLX@@detectvariant} % \marg{1: family} \marg{2: variant} \marg{3: name} \marg{4: setting} % % If the font variant matches, adjust accordingly. % % (The doubled |@| is to distinguish this from a valid \pkg{metalogox} option.) % % \changes{v1.03}{2024/01/18}{Warning if font was not found.} % \begin{macrocode} \newcommand*{\MLX@@detectvariant}[4]{% \ifdefstring{\MLX@@thisfont}{#1#2}{% \booltrue{MLX@@foundfont}% \PackageInfo{metalogox}{Detected #1#2, #3. Using #4}% \adjustlogos{#4}% }{}% } % \end{macrocode} % \end{macro} % % % \begin{macro}{\MLX@@detectone} \marg{1: family} \marg{2: name} \marg{3: setting} % % Tests variants. % If a font family and variant matches, select the \pkg{metalogox} option. % % (The doubled |@| is to distinguish this from a valid \pkg{metalogox} option.) % \begin{macrocode} \NewDocumentCommand{\MLX@@detectone}{m m m}{% \MLX@@detectvariant{#1}{}{#2}{#3}% \MLX@@detectvariant{#1}{-TLF}{#2}{#3}% \MLX@@detectvariant{#1}{-LF}{#2}{#3}% \MLX@@detectvariant{#1}{-OsF}{#2}{#3}% \MLX@@detectvariant{#1}{-TOsF}{#2}{#3}% \MLX@@detectvariant{#1}{Condensed-TLF}{#2}{#3}% \MLX@@detectvariant{#1}{Condensed-LF}{#2}{#3}% \MLX@@detectvariant{#1}{Condensed-OsF}{#2}{#3}% \MLX@@detectvariant{#1}{Condensed-TOsF}{#2}{#3}% \MLX@@detectvariant{#1}{(0)}{#2}{#3}% \MLX@@detectvariant{#1}{(1)}{#2}{#3}% } % \end{macrocode} % \end{macro} % % % \begin{macro}{\autoadjustlogos} * % % Search a list of fonts and variants, looking for a match with the current one. % \begin{macrocode} \NewDocumentCommand{\autoadjustlogos}{s}{% % \end{macrocode} % % Not yet discovered the font: % \begin{macrocode} \boolfalse{MLX@@foundfont}% % \end{macrocode} % % If starred, use the text body font, else use the local font: % \begin{macrocode} \IfBooleanTF{#1}{% \edef\MLX@@thisfont{\familydefault}% }{% \edef\MLX@@thisfont{\f@family}% }% % \end{macrocode} % % Announce the desired font: % \begin{macrocode} \PackageInfo{metalogox}{Searching for \MLX@@thisfont}% % \end{macrocode} % % Default if nothing is found: % \begin{macrocode} \adjustlogos{lmodern}% % \end{macrocode} % % Seach a list of possibilities: % \changes{v1.03}{2024/01/19}{Updated many fonts for changed family names.} % \changes{v1.05}{2024/03/01}{Fixed Erewhon.} % \changes{v1.06}{2024/03/04}{Improved detection of Archiv0, % Atkinson Hyperlegible, Cuprum, Eczar, Ibarra, Nunito.} % \begin{macrocode} \MLX@@detectone{AccanthisADFStdNoThree}{accanthis}{accanthis}% \MLX@@detectone{AccanthisADFStdNo3}{accanthis}{accanthis}% \MLX@@detectone{Alegreya}{Alegreya}{alegreya}% \MLX@@detectone{AlegreyaSans}{AlegreyaSans}{alegreya}% \MLX@@detectone{AlgolRevived}{algolrevived}{algolrevived}% \MLX@@detectone{uaq}{antiqua}{baskerville}% \MLX@@detectone{antp}{antpolt}{antpolt}% \MLX@@detectone{AntykwaPoltawskiego}{antpolt}{antpolt}% \MLX@@detectone{antt}{anttor}{antpolt}%% \MLX@@detectone{AntykwaTorunska}{anttor}{antpolt}% \MLX@@detectone{ArchivZero}{Archiv0}{helvetica}% \MLX@@detectone{Archiv0}{Archiv0}{helvetica}% \MLX@@detectone{fav}{arev}{vera}% \MLX@@detectone{Arimo}{Arimo}{helvetica}% \MLX@@detectone{atkinsn}{Atkinson Hyperlegible}{helvetica}% \MLX@@detectone{AtkinsonHyperlegible}{Atkinson Hyperlegible}{helvetica}% \MLX@@detectone{pag}{Avant Garde}{avantgarde}% \MLX@@detectone{qag}{tgadventor}{avantgarde}% \MLX@@detectone{ybv}{baskervald}{baskerville}% \MLX@@detectone{ybvw}{baskervald}{baskerville}% \MLX@@detectone{Baskervaldx}{Baskervaldx}{baskerville}% \MLX@@detectone{BaskervilleF}{baskervillef}{baskerville}% \MLX@@detectone{fve}{beraserif}{vera}% \MLX@@detectone{fvs}{berasans}{verasans}% \MLX@@detectone{ybd}{berenis}{berenis}% \MLX@@detectone{ybd2}{berenis}{berenis}% \MLX@@detectone{ybd2j}{berenis}{berenis}% \MLX@@detectone{ybdj}{berenis}{berenis}% \MLX@@detectone{BerenisADFPro}{berenis}{berenis}% \MLX@@detectone{LinuxBiolinumT}{biolinum}{helvetica}% \MLX@@detectone{Cabin}{Cabin}{helvetica}% \MLX@@detectone{CabinCondensed}{CabinCondensed}{helvetica}% \MLX@@detectone{Caladea}{caladea}{baskerville}% \MLX@@detectone{cantarell}{cantarell}{helvetica}% \MLX@@detectone{Crlt}{Carlito}{crimson}% \MLX@@detectone{Carlito}{Carlito}{crimson}% \MLX@@detectone{charssil}{CharisSIL}{times}% \MLX@@detectone{CharisSIL}{CharisSIL}{times}% \MLX@@detectone{mdbch}{mdbch - Math Design Bitstream Charter}{charter}% \MLX@@detectone{Chivo}{Chivo}{helvetica}% \MLX@@detectone{ClearSans}{Clear Sans}{helvetica}% \MLX@@detectone{Cochineal}{cochineal}{baskerville}% \MLX@@detectone{Coelacanth}{coelacanth}{coelacanth}% \MLX@@detectone{comfortaa}{comfortaa}{avantgarde}% \MLX@@detectone{ComicNeue}{comicneue}{avantgarde}% \MLX@@detectone{cmbr}{Computer Modern Bright}{lmodern}% \MLX@@detectone{lcmss}{Computer Modern Sans Quote}{lmodern}% \MLX@@detectone{cmr}{Computer Modern Roman}{lmodern}% \MLX@@detectone{cmss}{Computer Modern Sans}{lmodernsans}% \MLX@@detectone{ccr}{concmath}{lmodern}% \MLX@@detectone{CormorantGaramond}{CormorantGaramond}{garamond}% \MLX@@detectone{Crimson}{crimson}{crimson}% \MLX@@detectone{CrimsonPro}{CrimsonPro}{crimson}% \MLX@@detectone{cpr}{Cuprum}{utopia}% \MLX@@detectone{Cuprum}{Cuprum}{utopia}% \MLX@@detectone{cyklop}{Cyklop}{lmodern}% \MLX@@detectone{DejaVuSerif}{DejaVuSerif}{vera}% \MLX@@detectone{DejaVuSerifCondensed}{DejaVuSerif Condensed}{vera}% \MLX@@detectone{DejaVuSans}{DejaVuSans}{verasans}% \MLX@@detectone{drm}{DRM}{lmodern}% \MLX@@detectone{droidserif}{Droid Serif}{droidserif}%% \MLX@@detectone{droidsans}{Droid Sans}{droidsans}%% \MLX@@detectone{DroidSerif}{Droid Serif}{droidserif}%% \MLX@@detectone{DroidSans}{Droid Sans}{droidsans}%% \MLX@@detectone{EBGaramond}{EB Garamond}{garamond}% \MLX@@detectone{EBGaramond12}{EB Garamond}{garamond}% \MLX@@detectone{Eczar}{Eczar}{times}% \MLX@@detectone{erewhon}{erewhon}{utopia}% \MLX@@detectone{Erewhon}{erewhon}{utopia}% \MLX@@detectone{fbb}{fbb}{baskerville}% \MLX@@detectone{FiraSans}{Fira Sans}{helvetica}% \MLX@@detectone{FiraSansBook}{Fira Sans}{helvetica}% \MLX@@detectone{FiraSansThin}{Fira Sans}{helvetica}% \MLX@@detectone{FiraSansLight}{Fira Sans}{helvetica}% \MLX@@detectone{FiraSansExtraLight}{Fira Sans}{helvetica}% \MLX@@detectone{FiraSansUltraLight}{Fira Sans}{helvetica}% \MLX@@detectone{futs}{fourier}{utopia}% \MLX@@detectone{fnc}{fouriernc}{newcent}% \MLX@@detectone{gentium}{gentium}{gentium}% \MLX@@detectone{GentiumPlus}{gentium}{gentium}% \MLX@@detectone{artemisia}{gfsartemisia}{baskerville}% \MLX@@detectone{GFSArtemisia}{gfsartemisia}{baskerville}% \MLX@@detectone{artemisiaeuler}{gfsartemisia}{baskerville}% \MLX@@detectone{bodoni}{gfsbodoni}{bodoni}% \MLX@@detectone{GFSBodoni}{gfsbodoni}{bodoni}% \MLX@@detectone{udidot}{gfsdidot}{didot}% \MLX@@detectone{FreeSerif}{GNU Freeserif}{times}% \MLX@@detectone{FreeSans}{GNU Freesans}{helvetica}% \MLX@@detectone{neohellenic}{GFS Neohellenic}{helvetica}% \MLX@@detectone{GFSNeohellenic}{GFS Neohellenic}{helvetica}% \MLX@@detectone{Gillius}{Gillius}{avantgarde}% \MLX@@detectone{GilliusADF}{Gillius}{avantgarde}% \MLX@@detectone{GilliusADFCond}{Gillius}{avantgarde}% \MLX@@detectone{GilliusADFNo2}{Gillius}{avantgarde}% \MLX@@detectone{GilliusADFNo2Cond}{Gillius}{avantgarde}% \MLX@@detectone{Go}{Go Sans}{helvetica}% \MLX@@detectone{phv}{helvet}{helvetica}% \MLX@@detectone{Heuristica}{heuristica}{utopia}% \MLX@@detectone{heuristica}{heuristica}{utopia}% \MLX@@detectone{IbarraRealNova}{Ibarra}{times}% \MLX@@detectone{IMFELLEnglish}{imfellEnglish}{baskerville}% \MLX@@detectone{InriaSans}{Inria Sans}{helvetica}% \MLX@@detectone{InriaSerif}{Inria Serif}{baskerville}% \MLX@@detectone{Inter}{Inter}{helvetica}% \MLX@@detectone{iwona}{Iwona}{helvetica}% \MLX@@detectone{Iwona}{Iwona}{helvetica}% \MLX@@detectone{IwonaLight}{Iwona}{helvetica}% \MLX@@detectone{IwonaMedium}{Iwona}{helvetica}% \MLX@@detectone{IwonaHeavy}{Iwona}{helvetica}% \MLX@@detectone{IwonaCond}{Iwona}{helvetica}% \MLX@@detectone{IwonaCondLight}{Iwona}{helvetica}% \MLX@@detectone{IwonaCondMedium}{Iwona}{helvetica}% \MLX@@detectone{IwonaCondHeavy}{Iwona}{helvetica}% \MLX@@detectone{Junicode}{Junicode}{times}% \MLX@@detectone{mak}{kerkis}{kerkis}% \MLX@@detectone{maksf}{kerkis sans}{kerkis}% \MLX@@detectone{jkp}{kpfonts}{kpfonts}% \MLX@@detectone{jkpf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpk}{kpfonts}{kpfonts}% \MLX@@detectone{jkpkf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpkfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpkos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpkosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpkvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpl}{kpfonts}{kpfonts}% \MLX@@detectone{jkplf}{kpfonts}{kpfonts}% \MLX@@detectone{jkplfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkplk}{kpfonts}{kpfonts}% \MLX@@detectone{jkplkf}{kpfonts}{kpfonts}% \MLX@@detectone{jkplkfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkplkos}{kpfonts}{kpfonts}% \MLX@@detectone{jkplkosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkplkvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkplos}{kpfonts}{kpfonts}% \MLX@@detectone{jkplosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkplvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpos}{kpfonts}{kpfonts}% \MLX@@detectone{jkposn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpss}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssk}{kpfonts}{kpfonts}% \MLX@@detectone{jkpsskf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpsskfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpsskos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpsskosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpsskvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpssvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkptt}{kpfonts}{kpfonts}% \MLX@@detectone{jkpttos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpttosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpttvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpx}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxk}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxkf}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxkfosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxkos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxkosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxkvos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxos}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxosn}{kpfonts}{kpfonts}% \MLX@@detectone{jkpxvos}{kpfonts}{kpfonts}% \MLX@@detectone{JosefinSans}{Josefin}{lmodern}% \MLX@@detectone{kurier}{Kurier}{helvetica}% \MLX@@detectone{Kurier}{Kurier}{helvetica}% \MLX@@detectone{KurierLight}{Kurier}{helvetica}% \MLX@@detectone{KurierMedium}{Kurier}{helvetica}% \MLX@@detectone{KurierHeavy}{Kurier}{helvetica}% \MLX@@detectone{KurierCond}{Kurier}{helvetica}% \MLX@@detectone{KurierCondLight}{Kurier}{helvetica}% \MLX@@detectone{KurierCondMedium}{Kurier}{helvetica}% \MLX@@detectone{KurierCondHeavy}{Kurier}{helvetica}% \MLX@@detectone{lato}{Lato}{helvetica}% \MLX@@detectone{Lato}{Lato}{helvetica}% \MLX@@detectone{lmr}{lmodern}{lmodern}% \MLX@@detectone{mlmr}{MLModern}{lmodern}% \MLX@@detectone{mlmss}{MLModern}{lmodern}% \MLX@@detectone{lmss}{lmodern sans}{lmodernsans}% \MLX@@detectone{lmssq}{lmodern sans}{lmodernsans}% \MLX@@detectone{LatinModernRoman}{Latin Modern Roman}{lmodern}% \MLX@@detectone{LatinModernSans}{Latin Modern Sans}{lmodernsans}% \MLX@@detectone{LinuxLibertineT}{libertine}{libertine}% \MLX@@detectone{LinLibertine}{libertine}{libertine}% \MLX@@detectone{LinBiolinum}{libertine}{helvetica}% \MLX@@detectone{LibertinusSerif}{libertinus-type1}{libertinus}% \MLX@@detectone{LibertinusSans}{libertinus-type1}{helvetica}% \MLX@@detectone{libertinusserif}{libertinus-otf}{libertinus}% \MLX@@detectone{libertinussans}{libertinus-otf}{helvetica}% \MLX@@detectone{LibreBskvl}{librebaskerville}{baskerville}% \MLX@@detectone{LibreBaskerville}{librebaskerville}{baskerville}% \MLX@@detectone{LibreBodoni}{LibreBodoni}{librebodoni}% \MLX@@detectone{LibreCaslonText}{Libre Caslon}{baskerville}% \MLX@@detectone{LibreCsln}{Libre Caslon}{baskerville}% \MLX@@detectone{yly}{libris}{avantgarde}% \MLX@@detectone{llcmss}{LX Fonts}{avantgarde}% \MLX@@detectone{ptm}{mathptmx}{times}% \MLX@@detectone{ppl}{mathpazo}{palatino}% \MLX@@detectone{bch}{mdbch}{charter}% \MLX@@detectone{mdput}{mdput - Math Design Utopia}{utopia}% \MLX@@detectone{mdugm}{mdugm - Math Design URW Garamond}{baskerville}% \MLX@@detectone{Merriwthr}{merriweather}{merriweather}% \MLX@@detectone{MerriwthrSans}{merriweather}{merriweather}% \MLX@@detectone{Merriweather}{merriweather}{merriweather}% \MLX@@detectone{MerriweatherSans}{merriweather}{merriweather}% \MLX@@detectone{MintSpirit}{Mint Spirit}{avantgarde}% \MLX@@detectone{MintSpiritNoTwo}{Mint Spirit No 2}{avantgarde}% \MLX@@detectone{MintSpiritNo2}{Mint Spirit No 2}{avantgarde}% \MLX@@detectone{Montserrat}{Montserrat}{helvetica}% \MLX@@detectone{MontserratAlternates}{Montserrat}{helvetica}% \MLX@@detectone{pnc}{newcent}{newcent}% \MLX@@detectone{zpltlf}{newpxtext}{palatino}% \MLX@@detectone{minntx}{newtxtext}{times}% \MLX@@detectone{ntxtlf}{newtxtext}{times}% \MLX@@detectone{nimbussans}{nimbussans}{helvetica}% \MLX@@detectone{NimbusSans}{nimbusserif}{helvetica}% \MLX@@detectone{NimbusSerif}{nimbusserif}{times}% \MLX@@detectone{NimbusSansL}{nimbussans}{helvetica}% \MLX@@detectone{ztm}{nimbusserif}{times}% \MLX@@detectone{zhv}{nimbussans}{helvetica}% \MLX@@detectone{NotoSerif}{noto}{noto}% \MLX@@detectone{NotoSans}{noto}{noto}% \MLX@@detectone{Nunito}{Nunito}{helvetica}% \MLX@@detectone{OldStandard}{Old Standard}{didot}% \MLX@@detectone{fosj}{opensans}{avantgarde}% \MLX@@detectone{opensans}{opensans}{avantgarde}% \MLX@@detectone{OpenSans}{Open Sans}{avantgarde}% \MLX@@detectone{Zeroswald}{Oswald}{utopia}% \MLX@@detectone{Ovrlck}{Overlock}{avantgarde}% bug with XeLaTeX% \MLX@@detectone{Overlock}{Overlock}{avantgarde}% bug with XeLaTeX% \MLX@@detectone{panr}{pandora}{pandora}% \MLX@@detectone{pss}{pandora}{pandora}% \MLX@@detectone{PTSerif}{paratype}{paratype}% \MLX@@detectone{PTSans}{paratype}{paratype}% \MLX@@detectone{PTSansNarrow}{paratype}{paratype}% \MLX@@detectone{IBMPlexSerif}{plex-serif}{plexserif}% \MLX@@detectone{IBMPlexSans}{plex-sans}{plexsans}% \MLX@@detectone{pxr}{pxfonts}{palatino}% \MLX@@detectone{pxss}{pxfonts}{helvetica}% \MLX@@detectone{Quattro}{quattrocento}{quattrocento}% \MLX@@detectone{QuattroSans}{quattrocento}{quattrocento}% \MLX@@detectone{Quattrocento}{quattrocento}{quattrocento}% \MLX@@detectone{QuattrocentoSans}{quattrocento}{quattrocento}% \MLX@@detectone{Raleway}{raleway}{helvetica}% \MLX@@detectone{Roboto}{roboto}{helvetica}% \MLX@@detectone{RobotoSlab}{roboto}{roboto}% \MLX@@detectone{RobotoCondensed}{roboto}{helvetica}% \MLX@@detectone{yrd}{romande}{baskerville}% \MLX@@detectone{yrda}{romande}{baskerville}% \MLX@@detectone{yrdw}{romande}{baskerville}% todo swash style% \MLX@@detectone{yrdaw}{romande}{baskerville}% todo swash style% \MLX@@detectone{Shobhika}{Shobhika}{paratype}% \MLX@@detectone{SourceSerifPro}{sourceserifpro}{sourceserifpro}% \MLX@@detectone{SourceSansPro}{sourcesanspro}{sourcesanspro}% \MLX@@detectone{SticksTooText}{stickstootext}{times}% \MLX@@detectone{stix}{stix}{times}% \MLX@@detectone{stix2}{stix2}{times}% \MLX@@detectone{STIXTwoText}{stix2}{times}% \MLX@@detectone{pbk}{bookman}{bookman}% \MLX@@detectone{qbk}{tgbonum}{bookman}% \MLX@@detectone{qhv}{tgheros}{helvetica}% \MLX@@detectone{qpl}{tgpagella}{palatino}% \MLX@@detectone{qcs}{tgschola}{newcent}% \MLX@@detectone{qtm}{tgtermes}{times}% \MLX@@detectone{TeXGyreAdventor}{TeX Gyre Adventor}{avantgarde}% \MLX@@detectone{TeXGyreBonum}{TeX Gyre Bonum}{bookman}% \MLX@@detectone{TeXGyreHeros}{TeX Gyre Heros}{helvetica}% \MLX@@detectone{TeXGyrePagella}{TeX Gyre Pagella}{palatino}% \MLX@@detectone{TeXGyreSchola}{TeX Gyre Schola}{newcent}% \MLX@@detectone{TeXGyreTermes}{TeX Gyre Termes}{times}% \MLX@@detectone{txr}{txfonts}{times}% \MLX@@detectone{txss}{txfonts}{times}% \MLX@@detectone{UniversalisADFStd}{Universalis ADF Std}{crimson}% \MLX@@detectone{ugq}{URW Grotesk}{crimson}% \MLX@@detectone{put}{utopia}{utopia}% \MLX@@detectone{yvt}{venturis}{venturis}% \MLX@@detectone{yvtj}{venturis}{venturis}% \MLX@@detectone{yvtw}{venturis}{venturis}% \MLX@@detectone{yvtjw}{venturis}{venturis}% \MLX@@detectone{yvtaw}{venturis}{venturis}% \MLX@@detectone{yvtajw}{venturis}{venturis}% \MLX@@detectone{yv1}{venturissans}{venturis}% \MLX@@detectone{yv2}{venturis2}{venturis}% \MLX@@detectone{yv3}{venturissans2}{venturis}% \MLX@@detectone{yvo}{venturisold}{venturis}% \MLX@@detectone{yvoa}{venturisold}{venturis}% \MLX@@detectone{XCharter}{XCharter}{charter}% \MLX@@detectone{XITS}{XITS}{times}% % \end{macrocode} % % Warning if font was not found: % \changes{v1.03}{2024/01/18}{Warning if font was not found.} % \begin{macrocode} \ifbool{MLX@@foundfont}% {}% {% \PackageWarningNoLine{metalogox} {% Did not find font \MLX@@thisfont.\MessageBreak To improve \string\LaTeX, and related logos:\MessageBreak% \string\usepackage[option]{metalogox}\MessageBreak% Common options: times, bookman for serif,\MessageBreak% helvetica, avantgarde for sans% } } } % \end{macrocode} % \end{macro} % % % \subsection{Option declaration} % % \begin{macrocode} \DeclareOption*{% \adjustlogos{\CurrentOption}% } % \end{macrocode} % % % \subsection{Default settings} % % Adjust according to the text body font, if detected, or use defaults otherwise: % \begin{macrocode} \autoadjustlogos* % \end{macrocode} % % % \subsection{Option trigger} % % Any \pkg{metalogox} package option will next override the above settings. % % \begin{macrocode} \ProcessOptions\relax % \end{macrocode} % % % \subsection{Support for the \pkg{hologo} and \pkg{hvlogos} packages} % % If \pkg{hologo} is used, a few macros are defined to use \pkg{metalogo} kerning. % (\pkg{hvlogos} uses \pkg{hologo}, so is also supported.) % \changes{v1.04}{2024/01/25}{Added support for \pkg{hologo}, \pkg{hvlogos}.} % \begin{macrocode} \AtBeginDocument{ \IfPackageLoadedTF{hologo} { \def\HoLogo@TeX#1{\TeX} \def\HoLogo@La#1{% \@xl@everylogo L\kern\xl@kern@La@La {\ifxetex \XeTeXuseglyphmetrics\@ne \fi \sbox\z@ T% \sbox\@ne{\xl@LaTeX@a}% \vbox to\ht\z@{% \hbox{% \ltx@sh@ft{\ht\z@}% \xl@sh@ft{\ht\@ne}% \xl@LaTeX@a \xl@sh@ft{\ht\z@}% \ltx@sh@ft{\ht\@ne}}% \vss}}% } \def\HoLogo@LaTeX#1{\HoLogo@La{La}\kern\xl@kern@LaTeX@aT\TeX} \def\HoLogo@LaTeXe#1{% \hologo{LaTeX}% \kern\xl@kern@LaTeXe@Xii% \hbox{% \HOLOGO@MathSetup 2% $_{\textstyle\varepsilon}$% }% } \def\HoLogo@LaTeXTeX#1{% (% \kern\xl@kern@LaTeX@aT \hologo{La}% \kern\xl@kern@LaTeX@aT )% \kern\xl@kern@LaTeX@aT \hologo{TeX}% } \expandafter\let\csname HoLogo@(La)TeX\endcsname\HoLogo@LaTeXTeX \def\HoLogo@XeTeX#1{\Xe\kern\xl@kern@XeTeX@eT\TeX} \def\HoLogo@XeLaTeX#1{\Xe\kern\xl@kern@XeLaTeX@eL\LaTeX} } {}% hologo not loaded }% AtBeginDocument % \end{macrocode} % % % % ^^A At end: % % \clearpage % ^^A \pagestyle{plain} % % \pagestyle{plain} % % \Finale \endinput