summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/metalogox
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/metalogox
Initial commit
Diffstat (limited to 'macros/latex/contrib/metalogox')
-rw-r--r--macros/latex/contrib/metalogox/README.txt13
-rw-r--r--macros/latex/contrib/metalogox/metalogox.dtx1527
-rw-r--r--macros/latex/contrib/metalogox/metalogox.ins49
-rw-r--r--macros/latex/contrib/metalogox/metalogox.pdfbin0 -> 427650 bytes
4 files changed, 1589 insertions, 0 deletions
diff --git a/macros/latex/contrib/metalogox/README.txt b/macros/latex/contrib/metalogox/README.txt
new file mode 100644
index 0000000000..8c6e1d866e
--- /dev/null
+++ b/macros/latex/contrib/metalogox/README.txt
@@ -0,0 +1,13 @@
+The LaTeX metalogox package
+Automatically adjusts the TeX logo and related, depending on the font.
+
+v1.00
+Copyright 2019 Brian Dunn — www.BDTechConcepts.com
+LaTeX Project Public License, version 1.3
+
+The metalogox package extends the metalogo package to automatically adjust
+the appearance of the logos TEX, LATEX, LATEX2e, XELATEX, and LuaLATEX,
+depending on the font detected or the option given to metalogox.
+
+Most of the serif and sans fonts listed at The LATEX Font Catalogue
+are supported.
diff --git a/macros/latex/contrib/metalogox/metalogox.dtx b/macros/latex/contrib/metalogox/metalogox.dtx
new file mode 100644
index 0000000000..4aa0f75870
--- /dev/null
+++ b/macros/latex/contrib/metalogox/metalogox.dtx
@@ -0,0 +1,1527 @@
+%
+% \iffalse meta-comment
+%
+% Copyright 2019 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
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{metalogox}
+%<package> [2019/01/20 v1.00 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{roboto}
+\usepackage{inconsolata}
+
+\usepackage{aurical}
+
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\usepackage{microtype}
+
+\usepackage{etoolbox}
+
+\usepackage{dtxdescribe}
+
+\usepackage{booktabs}
+
+\usepackage{titleps}
+
+\newpagestyle{pageheadfoot}{
+ \headrule
+ \sethead{\pkg{\mypackagename}}{}{\thepage}
+% \renewcommand{\makefootrule}{\rule[2.5ex]{\linewidth}{.4pt}}
+ \setfoot{}{}{}
+}
+
+\pagestyle{pageheadfoot}
+
+
+
+\usepackage[pdftex,bookmarks=true,hidelinks,%
+colorlinks,linkcolor=mylinkcolor,urlcolor=myurlcolor,%
+pageanchor=true,hyperindex=false,
+]{hyperref}
+
+\hypersetup{%
+pdfinfo={%
+Title={LaTeX \mypackagename{} package},%
+Author={Brian Dunn},%
+Subject={LaTeX metalogox package},%
+Keywords={LaTeX, metalogox, logo}%
+}}
+
+\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}
+}
+
+
+\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}%
+ \LaTeXe &
+ \usefont{T1}{#1}{m}{#3}%
+% \adjustlogos{#2}%
+ \autoadjustlogos%
+ \LaTeXe \\
+}
+
+\newcommand*{\textblue}[1]{\textcolor{blue!70!black}{#1}}
+
+\setcounter{IndexColumns}{2}
+\setcounter{GlossaryColumns}{1}
+
+\DisableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\mypackagename.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+
+
+% \changes{v1.00}{2019/01/20}{2019/01/20 Initial version.}
+
+
+
+% \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} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}
+%
+% \vspace{.5in}
+%
+% {\normalsize\textup{\quicksummary}}
+%
+% \vfill
+%
+% {
+% \Large
+% \begin{tabular}{ccc}
+% \toprule
+% Font & Default & \pkg{metalogox} \\ \midrule
+% Latin Modern & \onetex{lmr}{lmodern}{n}
+% Erewhon & \onetex{erewhon-TLF}{utopia}{n}
+% Libre Caslon & \onetex{LibreCaslonText-TLF}{baskerville}{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}{sf}
+% 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}.
+%
+% Most of the serif and sans fonts listed at
+% \href{http://www.tug.dk/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.
+%
+%
+% \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}\{<font packages>\} \\
+% \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}
+%
+% \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.
+% \end{itemize}
+%
+%
+% \StopEventually{\PrintChanges\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}
+%
+% \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.)
+%
+% \begin{macrocode}
+\newcommand*{\MLX@@detectvariant}[4]{%
+\ifdefstring{\MLX@@thisfont}{#1#2}{%
+ \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}%
+}
+% \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}
+% 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:
+% \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{fav}{arev}{vera}%
+\MLX@@detectone{Arimo}{Arimo}{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{fca}{cantarell}{helvetica}%
+\MLX@@detectone{Carlito}{Carlito}{crimson}%
+\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{fco}{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}%
+% cyklop: default
+\MLX@@detectone{DejaVuSerif}{DejaVuSerif}{vera}%
+\MLX@@detectone{DejaVuSerifCondensed}{DejaVuSerif Condensed}{vera}%
+\MLX@@detectone{DejaVuSans}{DejaVuSans}{verasans}%
+% drm: default
+\MLX@@detectone{fdr}{Droid Serif}{droidserif}%%
+\MLX@@detectone{fds}{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{erewhon}{erewhon}{utopia}%
+\MLX@@detectone{Erewhon-Regular}{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{Gentium}{gentium}{gentium}%
+\MLX@@detectone{artemisia}{gfsartemisia}{baskerville}%
+\MLX@@detectone{GFSArtemisia}{gfsartemisia}{baskerville}%
+\MLX@@detectone{artemisiaeuler}{gfsartemisia}{baskerville}%
+\MLX@@detectone{bodoni}{gfsbodoni}{bodoni}%
+\MLX@@detectone{GFS Bodoni}{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{IMFELLEnglish}{imfellEnglish}{baskerville}%
+\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{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{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{LibreBaskerville}{librebaskerville}{baskerville}%
+\MLX@@detectone{LibreBodoni}{LibreBodoni}{librebodoni}%
+\MLX@@detectone{LibreCaslonText}{librecaslon}{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{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{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{OldStandard}{Old Standard}{didot}%
+\MLX@@detectone{fosj}{opensans}{avantgarde}%
+\MLX@@detectone{OpenSans}{Open Sans}{avantgarde}%
+\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{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{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{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}
+% \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}
+%
+%
+% ^^A At end:
+%
+% \clearpage
+% ^^A \pagestyle{plain}
+% \phantomsection
+% \addcontentsline{toc}{section}{Change History and \indexname}
+%
+% \pagestyle{plain}
+%
+% \Finale
+\endinput
+
+
+
+
+
diff --git a/macros/latex/contrib/metalogox/metalogox.ins b/macros/latex/contrib/metalogox/metalogox.ins
new file mode 100644
index 0000000000..0279849a88
--- /dev/null
+++ b/macros/latex/contrib/metalogox/metalogox.ins
@@ -0,0 +1,49 @@
+%% metalogox.ins
+%% Copyright 2019 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.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Brian Dunn.
+%%
+%% This work consists of the files metalogox.dtx and metalogox.ins
+%% and the derived file metalogox.sty.
+\input docstrip.tex
+\keepsilent
+%% \usedir{tex/latex/ package }
+\preamble
+This is a generated file.
+Copyright 2019 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.
+\endpreamble
+\askforoverwritefalse
+\generate{
+\file{metalogox.sty}{\from{metalogox.dtx}{package}}
+}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space metalogox.sty, metalogox-*.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file metalogox.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/metalogox/metalogox.pdf b/macros/latex/contrib/metalogox/metalogox.pdf
new file mode 100644
index 0000000000..55ac5642f7
--- /dev/null
+++ b/macros/latex/contrib/metalogox/metalogox.pdf
Binary files differ