diff options
author | Karl Berry <karl@freefriends.org> | 2009-01-18 01:00:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-01-18 01:00:04 +0000 |
commit | fb9eedce0aead30fcccca93da6d6b9a6d64bac46 (patch) | |
tree | dddabf3ee1c5082f9c58e07ee81f001b09505aba /Master | |
parent | b1a70c108a5ade9efc13609aadc97805851d95f1 (diff) |
new latex package metalogo (17jan09)
git-svn-id: svn://tug.org/texlive/trunk@11905 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/metalogo/README | 34 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/metalogo/TeXoutline.pdf | bin | 0 -> 2779 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/metalogo/eLaToutline.pdf | bin | 0 -> 2879 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/metalogo/metalogo.pdf | bin | 0 -> 89783 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/metalogo/metalogo.dtx | 610 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/metalogo/metalogo.ins | 70 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/metalogo/metalogo.sty | 277 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/metalogo.tlpsrc | 2 |
11 files changed, 996 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/metalogo/README b/Master/texmf-dist/doc/latex/metalogo/README new file mode 100644 index 00000000000..74d11d71ca0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/metalogo/README @@ -0,0 +1,34 @@ +The metalogo package +Andrew Gilbert Moschou +17 January 2009 +version 0.10 + +This work is released under the LPPL v1.3c or later. + +The metalogo package exposes the spacing parameters for the various TeX logos to +the end user. It is intended to help XeLaTeX users, who use various typefaces, +to easily optimise the logos for each typeface. Still, the package remains +useful if any typeface is used, not necessarily loaded through \XeTeX. + +Usage + \usepackage{metalogo} + +Commands + \setlogokern{<string>}{<dimen>} + <string>: Te, eX, La, aT, Xe, eT, eL, X2 + <dimen>: a legitimate TeX dimension or default + \setlogodrop[<string>]{<dimen>} + <string>: XeTeX (default), TeX, Xe + <dimen>: A legitimate TeX dimension or default + + \setlateXa{<arg>} + <arg>: The definition that typesets the raised 'a' of 'LaTeX' or default + \setLaTeXee{<arg>} + <arg>: The definition that typesets the lowered 'ε' of 'LaTeX2ε' or default + + \seteverylogo{<toks>} + <toks>: A list of tokens inserted before every logo command. Also clears any + previously set list. + \everylogo{<toks>} + <toks>: A list of tokens to be appended to the list that of tokens that is + inserted before every logo command. diff --git a/Master/texmf-dist/doc/latex/metalogo/TeXoutline.pdf b/Master/texmf-dist/doc/latex/metalogo/TeXoutline.pdf Binary files differnew file mode 100644 index 00000000000..96884800250 --- /dev/null +++ b/Master/texmf-dist/doc/latex/metalogo/TeXoutline.pdf diff --git a/Master/texmf-dist/doc/latex/metalogo/eLaToutline.pdf b/Master/texmf-dist/doc/latex/metalogo/eLaToutline.pdf Binary files differnew file mode 100644 index 00000000000..89ba10784c4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/metalogo/eLaToutline.pdf diff --git a/Master/texmf-dist/doc/latex/metalogo/metalogo.pdf b/Master/texmf-dist/doc/latex/metalogo/metalogo.pdf Binary files differnew file mode 100644 index 00000000000..3b751f3a220 --- /dev/null +++ b/Master/texmf-dist/doc/latex/metalogo/metalogo.pdf diff --git a/Master/texmf-dist/source/latex/metalogo/metalogo.dtx b/Master/texmf-dist/source/latex/metalogo/metalogo.dtx new file mode 100644 index 00000000000..3e7bdead6c1 --- /dev/null +++ b/Master/texmf-dist/source/latex/metalogo/metalogo.dtx @@ -0,0 +1,610 @@ +% \iffalse meta-comment +% +% © Andrew Gilbert Moschou 2009 +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% 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.3c or later is part of all distributions of LaTeX, +% version 2005/12/01 or later. +% +% This file has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is Andrew Gilbert Moschou. +% +% This work consists of the files metalogo.dtx and metalogo.ins, +% and the derived file metalogo.sty. +% +% \fi +% \CheckSum{458} +% +% \iffalse +%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%<package>\ProvidesPackage{metalogo}[2009/01/03 v0.10 Extended TeX logo macros] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{metalogo} +\makeatletter +\setlogokern{Te}{-0.084em} +\setlogokern{eX}{-0.063em} +\setlogokern{eT}{-0.074em} +\setlogokern{Xe}{-0.063em} +\setlogokern{eL}{-0.068em} +\setlogokern{La}{-0.305em} +\setlogokern{aT}{-0.07313em} +\setlogokern{X2}{0.101em} +\setlogodrop{0.131em} +\setLaTeXa{% + \ifdim\fontdimen\@ne\font=\z@ + \addfontfeature{FakeSlant=\the\fontdimen\@ne\font}% + \fi + \if b\expandafter\@car\f@series\@nil + \check@mathfonts\fontsize\sf@size\z@ + \math@fontsfalse\selectfont A% + \else + \scshape a% + \fi} +\setLaTeXee{\mbox{\stixgeneral\itshape ε}} +\usepackage{eukdate} +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage{multirow} +\def\meta#1{{\rmfamily{\stixgeneral\char"2329}{\itshape #1}{\stixgeneral\char"232A}}} +\def\ast{AA} +\setlength\abovecaptionskip{0\p@} +\setlength\belowcaptionskip{10\p@} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{\textsc{\MakeLowercase{#1}}: #2}% + \ifdim \wd\@tempboxa >\hsize + \textsc{\MakeLowercase{#1}}: #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} +\def\@seccntformat#1{\protect\makebox[0pt][r]{\csname the#1\endcsname\hspace{\marginparsep}}} +\usepackage{fontspec} +\setmainfont[Numbers=OldStyle]{Sabon LT Std} +\DeclareSymbolFont{SabonMaths}{EU1}{\zf@family}{m}{n} +\AtBeginDocument{ + \expandafter\XeTeXmathcode`.\mathchar@type\mathord\symSabonMaths`. + \expandafter\XeTeXmathcode`−\mathchar@type\mathbin\symSabonMaths`− + \expandafter\XeTeXmathcode`×\mathchar@type\mathbin\symSabonMaths`× + \expandafter\XeTeXmathcode`0\mathchar@type\mathord\symSabonMaths`0 + \expandafter\XeTeXmathcode`1\mathchar@type\mathord\symSabonMaths`1 + \expandafter\XeTeXmathcode`2\mathchar@type\mathord\symSabonMaths`2 + \expandafter\XeTeXmathcode`3\mathchar@type\mathord\symSabonMaths`3 + \expandafter\XeTeXmathcode`4\mathchar@type\mathord\symSabonMaths`4 + \expandafter\XeTeXmathcode`5\mathchar@type\mathord\symSabonMaths`5 + \expandafter\XeTeXmathcode`6\mathchar@type\mathord\symSabonMaths`6 + \expandafter\XeTeXmathcode`7\mathchar@type\mathord\symSabonMaths`7 + \expandafter\XeTeXmathcode`8\mathchar@type\mathord\symSabonMaths`8 + \expandafter\XeTeXmathcode`9\mathchar@type\mathord\symSabonMaths`9 + \expandafter\XeTeXmathcode`e\mathchar@type\mathord\symSabonMaths`e + \expandafter\XeTeXmathcode`m\mathchar@type\mathord\symSabonMaths`m} +\makeatother +\setsansfont[Scale=MatchLowercase]{Frutiger Linotype} +\setmonofont[Numbers=OldStyle,Scale=MatchLowercase]{Consolas} +\newfontfamily\stixgeneral{STIXGeneral} +\newcommand\permitbreak{\linebreak[0]} +\frenchspacing +\EnableCrossrefs +\RecordChanges +\begin{document} +\DocInput{metalogo.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{metalogo.sty} +% +% \DoNotIndex{} +% +% \makeatletter +% \title{The \textsf{metalogo} package} +% \author{Andrew Gilbert Moschou\\\texttt{andmos@gmail.com}} +% \date{\today\linebreak v.~\expandafter\@gobble\fileversion} +% \makeatother +% +% \maketitle +% +% \section{Introduction}\providecommand\XeTeX{Xe\TeX}\providecommand\XeLaTeX{Xe\LaTeX} +% +% This package exposes the spacing parameters for the various \TeX\ logos to the end user (and suitably redefines the logos in a generalised way). It is intended to help \XeLaTeX\ users, who use various typefaces, to easily optimise the logos for each typeface. Still, the package remains useful if any typeface is used, not necessarily loaded through \XeTeX. It is known that, in Plain \TeX’s definition of |\TeX|, the lower right serif on the ‘E’ protrudes through the ‘X’ in cmr10 and cmr12; this package can be used to fix this sort of unacceptable grotesque. +% +% \section{Parameters}\makeatletter +% +% The five logos, \TeX, \LaTeX, \LaTeXe, \XeTeX\ and \XeLaTeX, can be customised in terms of the kerns between consecutive characters and the lowerings of ‘E’ and ‘\reflectbox{E}’. These and their corresponding strings, which identify the parameters, are listed in table~\ref{table}. In addition, the characters for the raised ‘\textsc{a}’ and lowered ‘{\stixgeneral\itshape ε}’ can be customised. +% +% \makeatletter +% \newcommand\TeXse{\lower.5ex\hbox{E}} +% \newcommand\Lasa{% +% \sbox\z@ T% +% \vbox to\ht\z@{\hbox{\xl@LaTeX@a}\vss}}% +% \newcommand\Xese{\lower.5ex\hbox{\reflectbox{E}}}\makeatother +% +% \begin{table}\centering +% \caption{Kern and drop parameters\label{table}} +% \begin{tabular}{@{}cccc@{}} +% \multicolumn{4}{@{}c@{}}{Kerns}\\\toprule +% Characters & String & Parent logo & Default value\\\midrule +% T\TeXse & |Te| & \TeX & |-0.1667em|\\ +% \TeXse X & |eX| & \TeX & |-0.125em|\\ +% \setlogokern{La}{0pt}\def\TeX{}\LaTeX & |La| & \LaTeX & |-0.36em|\\ +% \Lasa T & |aT| & \LaTeX & |-0.15em|\\ +% X\Xese & |Xe| & \XeTeX & |-0.125em|\\ +% \Xese T & |eT| & \XeTeX & |-0.1667em|\\ +% \Xese L & |eL| & \XeLaTeX & |-0.125em|\\ +% X2 & |X2| & \LaTeXe & |0.15em|\\\bottomrule\\ +% \multicolumn{4}{@{}c@{}}{Drops}\\\toprule +% Character & String & Parent logo & Default value\\\midrule +% \TeXse & |TeX| & \TeX & |0.5ex|\\ +% \Xese & |Xe| & \XeTeX & |0.5ex|\\\bottomrule +% \end{tabular}\end{table} +% +% \section{Commands} +% +% \subsection{Overview} +% +% \begin{description} +% \item[\ttfamily\string\setlogokern\marg{string}\marg{dimen}]\DescribeMacro{\setlogokern} sets the amount of kern between two consecutive characters in a logo. \meta{string} must be one of |Te|, |eX|, |La|, |aT|, |Xe|, |eT|, |eL| or |X2|, which correspond with the particular kerns as shown in table~\ref{table}, and \meta{dimen} must be a legitimate \TeX\ dimension. +% +% Negative \meta{dimen}s narrow the space between two letters, positive \meta{dimen}s widen the space. +% +% \item[\ttfamily\string\setlogodrop\oarg{string}\marg{dimen}]\DescribeMacro{\setlogodrop} sets the amount of drop for letters that sit below the baseline. \meta{string} must be one of |TeX|, |Xe| or |XeTeX| and \meta{dimen} must be a legitimate \TeX\ dimension. +% +% If \meta{string} is |TeX|, the command sets the drop for the ‘E’ of \TeX. If \meta{string} is |Xe|, the command sets the drop for the ‘\reflectbox{E}’ of \XeTeX. If \meta{string} is |XeTeX|, both are set. If \oarg{string} is omitted, |XeTeX| is assumed. +% +% Positive \meta{dimen}s lower the letter and negative \meta{dimen}s raise the letter. +% +% \item[\ttfamily\string\setLaTeXa\marg{arg}]\DescribeMacro{\setLaTeXa} defines the command that typesets the raised ‘\textsc{a}’ in the \LaTeX\ logo as \meta{arg}. Some useful values for \meta{arg} are: +% \begin{itemize}\def\labelitemi{\char"2022} +% \item |\scshape a| +% \item |\char"1D00| +% +% (Unicode character \textsc{u+1d00} Latin Letter Small Capital A) +% \item |\check@mathfonts|\permitbreak|\fontsize|\permitbreak|\sf@size|\permitbreak|\z@|\permitbreak|\math@fontsfalse|\linebreak[4]|\selectfont |\permitbreak|A| +% +% (from \LaTeXe’s definition) +% \end{itemize} +% The first two suggestions typeset the character using a small capital shape. The first can be used if the font contains small capital features or small capital shapes are available, as for many \TeX\ or OpenType fonts. The second can be used if the font does not contain small capital features but does contains phonetic extension characters in Unicode encoding. The third suggestion prints a shrunken capital letter ‘A’ and is useful as a last resort if the font does not contain a small capital ‘A’, as for many home and office computer fonts. +% +% The weights of the strokes in the character are guaranteed to harmonise with the surrounding characters for the first two suggestions, but not for the third because the third shrinks a regular sized character, making the strokes thinner. As the third suggestion is guaranteed to work for any font, it is the default; the other two might produce unexpected results if there is no small capital ‘A’. +% +% \item[\ttfamily\string\setLaTeXee\marg{arg}]\DescribeMacro{\setLaTeXee} defines the command that typesets the lowered ‘{\stixgeneral\itshape ε}’ in the \LaTeXe\ logo as \meta{arg}. Note that this command is used in maths mode (as a subscript) and there should be an |\mbox| or else if needed. +% \end{description} +% +% \noindent If an argument contains an ‘|@|’ as part of a control sequence, the command would usually have |\makeatletter| before and |\makeatother| after. +% +% It is not usually a good idea to use absolute dimensions like point (|pt|) and millimetre (|mm|) because these dimensions do not adapt to any font size. Relative dimensions like em (the current point size, |em|) and ex (the height of the lowercase letter ‘x’, |ex|) are preferred as these dimensions are proportional to the font size. +% +% \begin{description} +% \item[\ttfamily\string\seteverylogo\marg{toks}]\DescribeMacro{\seteverylogo} defines the hook that is called whenever a logo is typeset as \meta{toks}. +% \item[\ttfamily\string\everylogo\marg{toks}]\DescribeMacro{\everylogo} appends \meta{toks} to the hook. +% \end{description} +% +% \noindent These two commands are useful to set parameters that depend on the current font. |\ifdim|\permitbreak|\fontdimen1|\permitbreak|\font|\permitbreak|=|\permitbreak|0pt| is true if the current font is not slanted; |\if |\permitbreak|b|\permitbreak|\expandafter|\permitbreak|\@car|\permitbreak|\f@series|\permitbreak|\@nil| is true if the current font is bold. In a similar way, other font attributes can be tested using the internal macros that are documented in section~2.3 of ‘\LaTeXe\ font selection’ (|fntguide.pdf|). This technique is useful to set dynamic parameters for fonts with optical sizes. +% +% \subsection{Defaults} +% +% \sbox0{ and } +% +% \begin{description}\def\{{\char"7B}\def\}{\char"7D} +% \item[\ttfamily\string\setLaTeXa\{default\}] is equivalent to |\setLaTeXa|\permitbreak|{\check@mathfonts|\permitbreak|\fontsize|\linebreak[4]|\sf@size|\permitbreak|\z@|\permitbreak|\math@fontsfalse|\permitbreak|\selectfont A}| (the third suggestion in the previous section). +% \item[\ttfamily\string\setLaTeXee\{default\}] is equivalent to |\setLaTeXee|\permitbreak|{\textstyle|\permitbreak|\varepsilon}| (as in \LaTeXe’s definition). +% \item[\ttfamily\string\setlogokern\{\meta{\rmfamily string}\}\{default\}\box0\string\setlogodrop\{\meta{\rmfamily string}\}\{default\}] each apply the default value to the parameter that corresponds to \meta{string}, as indicated in table~\ref{table}. +% \end{description} +% +% \pagebreak +% \section{Examples} +% +% Clearly, the following example are not good for normal use, but they exaggerate the possibilities: +%\begin{center}\begin{tabular}{@{}cc@{}}\toprule +% \setlogokern{Te}{1.5em} \TeX, \LaTeX & |\setlogokern{Te}{1.5em}| \\\toprule +% \multirow{2}{*}{\newlength\len\setlength\len{-4pt}\setlogokern{eX}{\len}\setlogodrop{.8ex} \TeX, \XeLaTeX} & |\setlength\len{-4pt}\setlogokern{eX}{\len}|\\&|\setlogodrop{.8ex}|\\\toprule +% \setlogodrop[Xe]{1ex}\XeTeX & |\setlogodrop[Xe]{1ex}|\\\bottomrule +% \end{tabular}\end{center} +% +% \noindent It is a good idea to experiment to determine optimal values (Clever people might open the font in a font editor and directly measure the optimal values). This document is typeset in Sabon \textsc{lt} Std and contains the following settings: +% \begin{verbatim}\makeatletter +%\setlogokern{Te}{-0.084em} +%\setlogokern{eX}{-0.063em} +%\setlogokern{eT}{-0.074em} +%\setlogokern{Xe}{-0.063em} +%\setlogokern{eL}{-0.068em} +%\setlogokern{La}{-0.305em} +%\setlogokern{aT}{-0.07313em} +%\setlogokern{X2}{0.101em} +%\setlogodrop{0.131em} +%\setLaTeXa{% +% \ifdim\fontdimen\@ne\font=\z@\else +% \addfontfeature{FakeSlant=\the\fontdimen\@ne\font}% +% \fi +% \if b\expandafter\@car\f@series\@nil +% \check@mathfonts\fontsize\sf@size\z@ +% \math@fontsfalse\selectfont A% +% \else +% \scshape a% +% \fi} +%\setLaTeXee{\mbox{\stixgeneral\itshape ε}} +%\makeatother\end{verbatim} +% This example demonstrates how to set the ‘\textsc{a}’ to depend on the current font, without using |\seteverylogo| or |\everylogo|. The following example sets $−0.084\,em$ and $−0.063\,em$ kerns for regular and $−0.075\,em$ and $−0.068\,em$ kerns for bold text: +% +% \begin{verbatim}\seteverylogo{% +% \if b\expandafter\@car\f@series\@nil +% \setlogokern{Te}{-0.075em}% +% \setlogokern{eX}{-0.068em}% +% \else +% \setlogokern{Te}{-0.084em}% +% \setlogokern{eX}{-0.063em}% +% \fi}\end{verbatim} +% +% \StopEventually{} ^^A +% +% \section{Future directions} +% +% Default parameters for common fonts should be built into the package, so that users need not worry about setting them themselves. There should also be an easier way to set dynamic parameters for different font variations (bold, italic, optical sizes, etc.) and shorthands to set multiple kerns with one command. If you want another feature, or another logo supported, please let me know! +% +% \section{Æsthetics} +% +% What one person thinks is beautiful is not necessarily beautiful to another. This section describes my preferences in determining the optimal kern and drop values. Of course, you do not need to agree with me and are free to do something else. +% +% I like my adjacent characters to either be connected or have aligned serifs. If they are connected, they should be set as tight as possible, without any part that ‘sticks out’: +% \begin{center} +% \includegraphics{pic/TeXoutline.pdf}\\ +% \includegraphics{pic/eLaToutline.pdf} +% \end{center} +% +% \pagebreak\section{The package} +% +% |graphicx| is used to transform ‘E’ into ‘\reflectbox{E}’, and if \XeTeX\ is used, |fontspec|’s |FakeSlant| feature is used to transform ‘\reflectbox{E}’ into \makeatletter \sbox\z@{E}‘{\itshape\xl@sh@ft{\ht\z@}\reflectbox{\addfontfeature{FakeSlant=-.212556561670022}\upshape E}\ltx@sh@ft{\ht\z@}}’, otherwise |\itshape\XeTeX| produces {\def\xl@Xe@e{\reflectbox{E}}\itshape\XeTeX}\makeatother. +% \begin{macrocode} +\RequirePackage{graphicx} +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage{fontspec}[2008/08/09] +\fi +% \end{macrocode} +% Preserve the original logo definitions. +% \begin{macrocode} +\let\original@TeX\TeX +\let\original@LaTeX\LaTeX +\let\original@LaTeXe\LaTeXe +\@ifundefined{XeTeX}{}{\let\original@XeTeX\XeTeX} +\@ifundefined{XeLaTeX}{}{\let\original@XeLaTeX\XeLaTeX} +% \end{macrocode} +% Default parameters. +% \begin{macrocode} +\newif\if@xl@default +\AtEndOfPackage{ + \setlogokern{Te}{default} + \setlogokern{eX}{default} + \setlogokern{La}{default} + \setlogokern{aT}{default} + \setlogokern{Xe}{default} + \setlogokern{eT}{default} + \setlogokern{eL}{default} + \setlogokern{X2}{default} + \setlogodrop{default} + \setLaTeXa{default} + \setLaTeXee{default} + \seteverylogo{}} +% \end{macrocode} +% This macro kerns by $−\mbox{\ttfamily\char"23 1}×\mbox{\meta{current slant}}$. It is similar to \LaTeXe’s |\ltx@sh@ft|, but multiplies the dimension by $−1$. They are used as a kind of italic correction for raised and lowered characters, since a character should shear with respect to an origin on the baseline, not at the bottom of the glyph. +% \begin{macrocode} +\newcommand\xl@sh@ft[1]{% + \dimen@ #1% + \multiply\dimen@\m@ne + \kern\strip@pt\fontdimen\@ne\font\dimen@} +% \end{macrocode} +% \begin{macro}{\setlogokern} +% \begin{macrocode} +\newcommand\setlogokern[2]{% + \edef\@tempa{#1}% + \edef\@tempb{#2}% + \def\@tempc{default}% + \ifx\@tempb\@tempc + \@xl@defaulttrue + \fi + \def\@tempb{aT}% + \ifx\@tempa\@tempb + \def\xl@kern@LaTeX@aT{#2}% + \if@xl@default + \def\xl@kern@LaTeX@aT{-.15em}% + \fi + \else + \def\@tempb{eL}% + \ifx\@tempa\@tempb + \def\xl@kern@XeLaTeX@eL{#2}% + \if@xl@default + \def\xl@kern@XeLaTeX@eL{-.125em}% + \fi + \else + \def\@tempb{eT}% + \ifx\@tempa\@tempb + \def\xl@kern@XeTeX@eT{#2}% + \if@xl@default + \def\xl@kern@XeTeX@eT{-.1667em}% + \fi + \else + \def\@tempb{eX}% + \ifx\@tempa\@tempb + \def\xl@kern@TeX@eX{#2}% + \if@xl@default + \def\xl@kern@TeX@eX{-.125em}% + \fi + \else + \def\@tempb{La}% + \ifx\@tempa\@tempb + \def\xl@kern@La@La{#2}% + \if@xl@default + \def\xl@kern@La@La{-.36em}% + \fi + \else + \def\@tempb{Te}% + \ifx\@tempa\@tempb + \def\xl@kern@TeX@Te{#2}% + \if@xl@default + \def\xl@kern@TeX@Te{-.1667em}% + \fi + \else + \def\@tempb{X2}% + \ifx\@tempa\@tempb + \def\xl@kern@LaTeXe@Xii{#2}% + \if@xl@default + \def\xl@kern@LaTeXe@Xii{.15em}% + \fi + \else + \def\@tempb{Xe}% + \ifx\@tempa\@tempb + \def\xl@kern@Xe@Xe{#2}% + \if@xl@default + \def\xl@kern@Xe@Xe{-.125em}% + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \@xl@defaultfalse} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\setlogodrop} +% \begin{macrocode} +\newcommand\setlogodrop[2][XeTeX]{% + \edef\@tempa{#1}% + \edef\@tempb{#2}% + \def\@tempc{default}% + \ifx\@tempb\@tempc + \@xl@defaulttrue + \fi + \def\@tempb{XeTeX}% + \ifx\@tempa\@tempb + \def\xl@drop@TeX@e{#2}% + \let\xl@drop@Xe@e\xl@drop@TeX@e + \if@xl@default + \def\xl@drop@TeX@e{0.5ex}% + \let\xl@drop@Xe@e\xl@drop@TeX@e + \fi + \else + \def\@tempb{TeX}% + \ifx\@tempa\@tempb + \def\xl@drop@TeX@e{#2}% + \if@xl@default + \def\xl@drop@TeX@e{.5ex}% + \fi + \else + \def\@tempb{Xe}% + \ifx\@tempa\@tempb + \def\xl@drop@Xe@e{#2}% + \if@xl@default + \def\xl@drop@Xe@e{.5ex}% + \fi + \fi + \fi + \fi + \@xl@defaultfalse} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\setLaTeXa} +% \begin{macrocode} +\newcommand\setLaTeXa[1]{% + \def\@tempa{#1}% + \def\@tempb{default}% + \ifx\@tempa\@tempb + \def\xl@LaTeX@a{% + \check@mathfonts\fontsize\sf@size\z@ + \math@fontsfalse\selectfont A}% + \else + \def\xl@LaTeX@a{#1}% + \fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\setLaTeXee} +% \begin{macrocode} +\newcommand\setLaTeXee[1]{% + \def\@tempa{#1}% + \def\@tempb{default}% + \ifx\@tempa\@tempb + \def\xl@LaTeXe@e{\textstyle\varepsilon}% + \else + \def\xl@LaTeXe@e{#1}% + \fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\seteverylogo} +% \begin{macro}{\everylogo} +% \begin{macrocode} +\newcommand\seteverylogo[1]{% + \xl@everylogo{#1}% + \xl@@everylogo{#1}} +\newcommand\everylogo[1]{% + \addto@hook\xl@everylogo{#1}% + \addto@hook\xl@@everylogo{#1}} +\newtoks\xl@everylogo +\newtoks\xl@@everylogo +\newcommand\@xl@everylogo{% + \the\xl@everylogo + \xl@everylogo{}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\TeX} +% \begin{macrocode} +\DeclareRobustCommand\TeX{% + \@xl@everylogo + T\kern\xl@kern@TeX@Te + \lower\xl@drop@TeX@e\hbox{% + \xl@sh@ft\xl@drop@TeX@e + E% + \ltx@sh@ft\xl@drop@TeX@e}% + \kern\xl@kern@TeX@eX X% + \the\xl@@everylogo} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LaTeX} +% \begin{macrocode} +\DeclareRobustCommand\LaTeX{% + \@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}}% + \kern\xl@kern@LaTeX@aT\TeX} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\LaTeXe} +% \begin{macrocode} +\DeclareRobustCommand\LaTeXe{% + \mbox{\m@th + \if b\expandafter\@car\f@series\@nil + \boldmath + \fi + \LaTeX + \kern\xl@kern@LaTeXe@Xii 2$_{\xl@LaTeXe@e}$}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\Xe} +% \begin{macrocode} +\DeclareRobustCommand\Xe{% + \@xl@everylogo% + X\kern\xl@kern@Xe@Xe + \lower\xl@drop@Xe@e + \hbox{% + \xl@sh@ft\xl@drop@Xe@e + \xl@Xe@e + \ltx@sh@ft\xl@drop@Xe@e}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\XeTeX} +% \begin{macrocode} +\DeclareRobustCommand\XeTeX{\Xe\kern\xl@kern@XeTeX@eT\TeX} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\XeLaTeX} +% \begin{macrocode} +\DeclareRobustCommand\XeLaTeX{\Xe\kern\xl@kern@XeLaTeX@eL\LaTeX} +% \end{macrocode} +% \end{macro} +% This command typesets ‘\reflectbox{E}’. It contains some code from Will Robertson’s |xltxtra|. +% \begin{macrocode} +\DeclareRobustCommand\xl@Xe@e{% + \ifxetex +% \end{macrocode} +% \XeTeX. +% \begin{macrocode} + \ifnum\XeTeXfonttype\font>0% +% \end{macrocode} +% Modern font. +% \begin{macrocode} + \ifnum\XeTeXcharglyph"018E>0% +% \end{macrocode} +% Use glyph directly. +% \begin{macrocode} + \char"018E% + \else +% \end{macrocode} +% Use transformed ‘E’. +% \begin{macrocode} + \ifdim\fontdimen\@ne\font=\z@ +% \end{macrocode} +% Unslanted. Use reflected ‘E’. +% \begin{macrocode} + \reflectbox{E}% + \else +% \end{macrocode} +% Slanted. Use |FakeSlant|ed upright ‘E’. +% \begin{macrocode} + \reflectbox{% + \addfontfeature{FakeSlant=-\strip@pt\fontdimen\@ne\font}% + \upshape E}% + \fi + \fi + \else +% \end{macrocode} +% Traditional \TeX\ font. Use transformed ‘E’. +% \begin{macrocode} + \ifdim\fontdimen1\font=\z@ +% \end{macrocode} +% Unslanted. Use reflected ‘E’. +% \begin{macrocode} + \reflectbox{E}% + \else +% \end{macrocode} +% Slanted. Use rotated ‘E’ because a shear transformation is unavailable. +% \begin{macrocode} + \XeTeXuseglyphmetrics\@ne + \setbox\z@\hbox{E}% + \dimen@\ht\z@ + \advance\dimen@\dp\z@ + \ltx@sh@ft\dimen@ + \raise\dimen@\hbox{\rotatebox{180}{\box\z@}}% + \xl@sh@ft\dimen@ + \fi + \fi + \else +% \end{macrocode} +% Not \XeTeX. Traditional \TeX\ font. Use transformed ‘E’. +% \begin{macrocode} + \ifdim\fontdimen1\font=\z@ +% \end{macrocode} +% Unslanted. Use reflected ‘E’. +% \begin{macrocode} + \reflectbox{E}% + \else +% \end{macrocode} +% Slanted. Use rotated ‘E’ because a shear transformation is unavailable. +% \begin{macrocode} + \setbox\z@\hbox{E}% + \dimen@\ht\z@ + \advance\dimen@\dp\z@ + \ltx@sh@ft\dimen@ + \raise\dimen@\hbox{\rotatebox{180}{\box\z@}}% + \xl@sh@ft\dimen@ + \fi + \fi} +% \end{macrocode} +% +% \Finale +% +\endinput + diff --git a/Master/texmf-dist/source/latex/metalogo/metalogo.ins b/Master/texmf-dist/source/latex/metalogo/metalogo.ins new file mode 100644 index 00000000000..00ccd7186ba --- /dev/null +++ b/Master/texmf-dist/source/latex/metalogo/metalogo.ins @@ -0,0 +1,70 @@ +%% +%% © Andrew Gilbert Moschou 2009 +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% 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.3c or later is part of all distributions of LaTeX, +%% version 2005/12/01 or later. +%% +%% This file has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Andrew Gilbert Moschou. +%% +%% This work consists of the files metalogo.dtx and metalogo.ins, +%% and the derived file metalogo.sty. +%% + +\input docstrip + +\preamble + +This is a generated file. + +© Andrew Gilbert Moschou 2009 + +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3c +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.3c or later is part of all distributions of LaTeX, +version 2005/12/01 or later. + +This file has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is Andrew Gilbert Moschou. + +This wok consists of the files metalogo.dtx and metalogo.ins, +and the derived file metalogo.sty. + +\endpreamble + +\keepsilent +\usedir{tex/latex/metalogo} + +\generate{\file{metalogo.sty}{\from{metalogo.dtx}{package}}} + +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation, you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space metalogo.sty} +\Msg{*} +\Msg{* To produce the documentation, run the file} +\Msg{* metalogo.dtx through XeLaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +} + +\endbatchfile + diff --git a/Master/texmf-dist/tex/latex/metalogo/metalogo.sty b/Master/texmf-dist/tex/latex/metalogo/metalogo.sty new file mode 100644 index 00000000000..2f150770177 --- /dev/null +++ b/Master/texmf-dist/tex/latex/metalogo/metalogo.sty @@ -0,0 +1,277 @@ +%% +%% This is file `metalogo.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% metalogo.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% © Andrew Gilbert Moschou 2009 +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% 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.3c or later is part of all distributions of LaTeX, +%% version 2005/12/01 or later. +%% +%% This file has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Andrew Gilbert Moschou. +%% +%% This wok consists of the files metalogo.dtx and metalogo.ins, +%% and the derived file metalogo.sty. +%% +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{metalogo}[2009/01/03 v0.10 Extended TeX logo macros] +\RequirePackage{graphicx} +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage{fontspec}[2008/08/09] +\fi +\let\original@TeX\TeX +\let\original@LaTeX\LaTeX +\let\original@LaTeXe\LaTeXe +\@ifundefined{XeTeX}{}{\let\original@XeTeX\XeTeX} +\@ifundefined{XeLaTeX}{}{\let\original@XeLaTeX\XeLaTeX} +\newif\if@xl@default +\AtEndOfPackage{ + \setlogokern{Te}{default} + \setlogokern{eX}{default} + \setlogokern{La}{default} + \setlogokern{aT}{default} + \setlogokern{Xe}{default} + \setlogokern{eT}{default} + \setlogokern{eL}{default} + \setlogokern{X2}{default} + \setlogodrop{default} + \setLaTeXa{default} + \setLaTeXee{default} + \seteverylogo{}} +\newcommand\xl@sh@ft[1]{% + \dimen@ #1% + \multiply\dimen@\m@ne + \kern\strip@pt\fontdimen\@ne\font\dimen@} +\newcommand\setlogokern[2]{% + \edef\@tempa{#1}% + \edef\@tempb{#2}% + \def\@tempc{default}% + \ifx\@tempb\@tempc + \@xl@defaulttrue + \fi + \def\@tempb{aT}% + \ifx\@tempa\@tempb + \def\xl@kern@LaTeX@aT{#2}% + \if@xl@default + \def\xl@kern@LaTeX@aT{-.15em}% + \fi + \else + \def\@tempb{eL}% + \ifx\@tempa\@tempb + \def\xl@kern@XeLaTeX@eL{#2}% + \if@xl@default + \def\xl@kern@XeLaTeX@eL{-.125em}% + \fi + \else + \def\@tempb{eT}% + \ifx\@tempa\@tempb + \def\xl@kern@XeTeX@eT{#2}% + \if@xl@default + \def\xl@kern@XeTeX@eT{-.1667em}% + \fi + \else + \def\@tempb{eX}% + \ifx\@tempa\@tempb + \def\xl@kern@TeX@eX{#2}% + \if@xl@default + \def\xl@kern@TeX@eX{-.125em}% + \fi + \else + \def\@tempb{La}% + \ifx\@tempa\@tempb + \def\xl@kern@La@La{#2}% + \if@xl@default + \def\xl@kern@La@La{-.36em}% + \fi + \else + \def\@tempb{Te}% + \ifx\@tempa\@tempb + \def\xl@kern@TeX@Te{#2}% + \if@xl@default + \def\xl@kern@TeX@Te{-.1667em}% + \fi + \else + \def\@tempb{X2}% + \ifx\@tempa\@tempb + \def\xl@kern@LaTeXe@Xii{#2}% + \if@xl@default + \def\xl@kern@LaTeXe@Xii{.15em}% + \fi + \else + \def\@tempb{Xe}% + \ifx\@tempa\@tempb + \def\xl@kern@Xe@Xe{#2}% + \if@xl@default + \def\xl@kern@Xe@Xe{-.125em}% + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \@xl@defaultfalse} +\newcommand\setlogodrop[2][XeTeX]{% + \edef\@tempa{#1}% + \edef\@tempb{#2}% + \def\@tempc{default}% + \ifx\@tempb\@tempc + \@xl@defaulttrue + \fi + \def\@tempb{XeTeX}% + \ifx\@tempa\@tempb + \def\xl@drop@TeX@e{#2}% + \let\xl@drop@Xe@e\xl@drop@TeX@e + \if@xl@default + \def\xl@drop@TeX@e{0.5ex}% + \let\xl@drop@Xe@e\xl@drop@TeX@e + \fi + \else + \def\@tempb{TeX}% + \ifx\@tempa\@tempb + \def\xl@drop@TeX@e{#2}% + \if@xl@default + \def\xl@drop@TeX@e{.5ex}% + \fi + \else + \def\@tempb{Xe}% + \ifx\@tempa\@tempb + \def\xl@drop@Xe@e{#2}% + \if@xl@default + \def\xl@drop@Xe@e{.5ex}% + \fi + \fi + \fi + \fi + \@xl@defaultfalse} +\newcommand\setLaTeXa[1]{% + \def\@tempa{#1}% + \def\@tempb{default}% + \ifx\@tempa\@tempb + \def\xl@LaTeX@a{% + \check@mathfonts\fontsize\sf@size\z@ + \math@fontsfalse\selectfont A}% + \else + \def\xl@LaTeX@a{#1}% + \fi} +\newcommand\setLaTeXee[1]{% + \def\@tempa{#1}% + \def\@tempb{default}% + \ifx\@tempa\@tempb + \def\xl@LaTeXe@e{\textstyle\varepsilon}% + \else + \def\xl@LaTeXe@e{#1}% + \fi} +\newcommand\seteverylogo[1]{% + \xl@everylogo{#1}% + \xl@@everylogo{#1}} +\newcommand\everylogo[1]{% + \addto@hook\xl@everylogo{#1}% + \addto@hook\xl@@everylogo{#1}} +\newtoks\xl@everylogo +\newtoks\xl@@everylogo +\newcommand\@xl@everylogo{% + \the\xl@everylogo + \xl@everylogo{}} +\DeclareRobustCommand\TeX{% + \@xl@everylogo + T\kern\xl@kern@TeX@Te + \lower\xl@drop@TeX@e\hbox{% + \xl@sh@ft\xl@drop@TeX@e + E% + \ltx@sh@ft\xl@drop@TeX@e}% + \kern\xl@kern@TeX@eX X% + \the\xl@@everylogo} +\DeclareRobustCommand\LaTeX{% + \@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}}% + \kern\xl@kern@LaTeX@aT\TeX} +\DeclareRobustCommand\LaTeXe{% + \mbox{\m@th + \if b\expandafter\@car\f@series\@nil + \boldmath + \fi + \LaTeX + \kern\xl@kern@LaTeXe@Xii 2$_{\xl@LaTeXe@e}$}} +\DeclareRobustCommand\Xe{% + \@xl@everylogo% + X\kern\xl@kern@Xe@Xe + \lower\xl@drop@Xe@e + \hbox{% + \xl@sh@ft\xl@drop@Xe@e + \xl@Xe@e + \ltx@sh@ft\xl@drop@Xe@e}} +\DeclareRobustCommand\XeTeX{\Xe\kern\xl@kern@XeTeX@eT\TeX} +\DeclareRobustCommand\XeLaTeX{\Xe\kern\xl@kern@XeLaTeX@eL\LaTeX} +\DeclareRobustCommand\xl@Xe@e{% + \ifxetex + \ifnum\XeTeXfonttype\font>0% + \ifnum\XeTeXcharglyph"018E>0% + \char"018E% + \else + \ifdim\fontdimen\@ne\font=\z@ + \reflectbox{E}% + \else + \reflectbox{% + \addfontfeature{FakeSlant=-\strip@pt\fontdimen\@ne\font}% + \upshape E}% + \fi + \fi + \else + \ifdim\fontdimen1\font=\z@ + \reflectbox{E}% + \else + \XeTeXuseglyphmetrics\@ne + \setbox\z@\hbox{E}% + \dimen@\ht\z@ + \advance\dimen@\dp\z@ + \ltx@sh@ft\dimen@ + \raise\dimen@\hbox{\rotatebox{180}{\box\z@}}% + \xl@sh@ft\dimen@ + \fi + \fi + \else + \ifdim\fontdimen1\font=\z@ + \reflectbox{E}% + \else + \setbox\z@\hbox{E}% + \dimen@\ht\z@ + \advance\dimen@\dp\z@ + \ltx@sh@ft\dimen@ + \raise\dimen@\hbox{\rotatebox{180}{\box\z@}}% + \xl@sh@ft\dimen@ + \fi + \fi} +\endinput +%% +%% End of file `metalogo.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 4a6cef00d81..9982583b7c8 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -146,7 +146,7 @@ my @WorkingTLP = qw( mathmode mathspec maybemath mcaption mceinleger mciteplus mdwtools memexsupp memoir MemoirChapStyles mentis - menu metago metaobj metaplot metatex metauml + menu metago metalogo metaobj metaplot metatex metauml mff mfnfss mfpic mftinc mh mhchem mhequ mhs microtype midnight minipage-marginpar minitoc minutes mkjobtexmf mkpattern diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 34997a04493..c2d5904dc41 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -300,6 +300,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'mathpazo', "&MAKEmathpazo", 'matlab', "die 'skipping, requires nonfree matlab'", 'mdwfonts', "die 'skipping, too many tfm duplicates'", + 'metalogo', "&MAKEflatten", 'metaobj', "&MAKEflatten", 'metauml', "&MAKEmetauml", 'mflogo', "&MAKEmflogo", diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 09dfcd568f5..9e883b02dfc 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -303,6 +303,7 @@ depend mcite depend mciteplus depend memexsupp depend menu +depend metalogo depend method depend metre depend mff diff --git a/Master/tlpkg/tlpsrc/metalogo.tlpsrc b/Master/tlpkg/tlpsrc/metalogo.tlpsrc new file mode 100644 index 00000000000..1326f433338 --- /dev/null +++ b/Master/tlpkg/tlpsrc/metalogo.tlpsrc @@ -0,0 +1,2 @@ +name metalogo +category Package |