diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-11 23:59:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-11 23:59:00 +0000 |
commit | 777b579bd94005d0c2560254a05385845c4332ab (patch) | |
tree | 6837daf0f4ab2dbfe93516ac5d1970024dcf5c5e | |
parent | c31724769ecd7df4458e402b2344b64b83c61dea (diff) |
trunk/Master/texmf-dist/source/latex/was
git-svn-id: svn://tug.org/texlive/trunk@587 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/source/latex/was/fixmath.dtx | 159 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/fixmath.ins | 8 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/gensymb.dtx | 441 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/gensymb.ins | 8 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/icomma.dtx | 153 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/icomma.ins | 8 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/upgreek.dtx | 235 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/was/upgreek.ins | 8 |
8 files changed, 1020 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/was/fixmath.dtx b/Master/texmf-dist/source/latex/was/fixmath.dtx new file mode 100644 index 00000000000..97647e9c6a5 --- /dev/null +++ b/Master/texmf-dist/source/latex/was/fixmath.dtx @@ -0,0 +1,159 @@ +%\CheckSum{129} +% +% \iffalse +% +% File `fixmath.dtx'. +% Copyright (c) 2000--2003 Walter Schmidt +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% 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.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files fixmath.dtx and fixmath.ins +% +% \fi +% +% \iffalse +% +%<*driver> +\ProvidesFile{fixmath.drv} +%</driver> +%<package>\ProvidesPackage{fixmath} + [2000/04/11 v0.9 (WaS)] +%<*driver> +\documentclass{ltxdoc} +\usepackage{url} +\CodelineNumbered +\begin{document} + \DocInput{fixmath.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{fixmath.drv} +% \DeleteShortVerb{\|} +% \MakeShortVerb{\+} +% +% \title{The \textsf{fixmath} package for \LaTeXe} +% \author{Walter Schmidt\thanks{{\ttfamily w.a.schmidt@gmx.net}}} +% \date{(\fileversion{} -- \filedate)} +% \maketitle +% \sloppy +% +% \noindent +% \LaTeX's default style of typesetting mathematics does unfortunately +% not comply with the International Standards ISO31-0:1992 to ISO31-13:1992, +% as summarized, e.\,g., in +% \path{<http://physics.nist.gov/Document/typefaces.pdf>}: +% \begin{itemize} +% \item Uppercase Greek letters are always typset upright, +% as opposed to italic, even though they are usually to represent variables. +% \item There is no obvious way to typset variables in a bold italic style, +% even though the required fonts are available. (The \textsf{bm} package +% is overly complex and not always reliable.) +% \end{itemize} +% If you are using the default Computer Modern math fonts, +% this can be fixed by loading the package \textsf{fixmath}: +% \begin{itemize} +% \item Uppercase Greek will be typeset in italic style then. +% \item Upright $\Delta$ and $\Omega$ symbols are still available +% through the commands +\upDelta+ and +\upOmega+. +% \item A new math alphabet +\mathbold+ will provide bold italic +% letters. +% \end{itemize} +% The \textsf{fixmath} package should be used \emph{only} +% in conjunction with the CM math fonts; most likely, +% it will not work with others. +% Many packages for using alternative math fonts, such as +% \textsf{mathpazo} (for Palatino), +% provide the +\mathbold+ alphabet already +% and can be loaded with an option \texttt{slantedGreek} to make +% the uppercase Greek letters cursive. +% +% \StopEventually{} +% +% \section*{The package code} +% Save uppercase $\Delta$ and $\Omega$: +% \begin{macrocode} +%<*package> +\let\upOmega\Omega +\let\upDelta\Delta +% \end{macrocode} +% Provide italic uppercase Greek: +% \begin{macrocode} +\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{0} +\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{1} +\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{2} +\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{3} +\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{4} +\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{5} +\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{6} +\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{7} +\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{8} +\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{9} +\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{10} +% \end{macrocode} +% Prepare lowercase Greek for +\mathbold+: +% \begin{macrocode} +\DeclareMathSymbol{\alpha}{\mathalpha}{letters}{11} +\DeclareMathSymbol{\beta}{\mathalpha}{letters}{12} +\DeclareMathSymbol{\gamma}{\mathalpha}{letters}{13} +\DeclareMathSymbol{\delta}{\mathalpha}{letters}{14} +\DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{15} +\DeclareMathSymbol{\zeta}{\mathalpha}{letters}{16} +\DeclareMathSymbol{\eta}{\mathalpha}{letters}{17} +\DeclareMathSymbol{\theta}{\mathalpha}{letters}{18} +\DeclareMathSymbol{\iota}{\mathalpha}{letters}{19} +\DeclareMathSymbol{\kappa}{\mathalpha}{letters}{20} +\DeclareMathSymbol{\lambda}{\mathalpha}{letters}{21} +\DeclareMathSymbol{\mu}{\mathalpha}{letters}{22} +\DeclareMathSymbol{\nu}{\mathalpha}{letters}{23} +\DeclareMathSymbol{\xi}{\mathalpha}{letters}{24} +\DeclareMathSymbol{\pi}{\mathalpha}{letters}{25} +\DeclareMathSymbol{\rho}{\mathalpha}{letters}{26} +\DeclareMathSymbol{\sigma}{\mathalpha}{letters}{27} +\DeclareMathSymbol{\tau}{\mathalpha}{letters}{28} +\DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{29} +\DeclareMathSymbol{\phi}{\mathalpha}{letters}{30} +\DeclareMathSymbol{\chi}{\mathalpha}{letters}{31} +\DeclareMathSymbol{\psi}{\mathalpha}{letters}{32} +\DeclareMathSymbol{\omega}{\mathalpha}{letters}{33} +\DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{34} +\DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{35} +\DeclareMathSymbol{\varpi}{\mathalpha}{letters}{36} +\DeclareMathSymbol{\varphi}{\mathalpha}{letters}{39} +\DeclareMathSymbol{\varrho}{\mathalpha}{letters}{37} +\DeclareMathSymbol{\varsigma}{\mathalpha}{letters}{38} +% \end{macrocode} +% Define +\mathbold+: +% \begin{macrocode} +\DeclareMathAlphabet{\mathbold}{OML}{cmm}{b}{it} +%</package> +% \end{macrocode} +% +% The next line of code prevents DocStrip from adding the +% character table to all modules: +% \begin{macrocode} +\endinput +% \end{macrocode} +% \Finale +%% \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 \~} +%% diff --git a/Master/texmf-dist/source/latex/was/fixmath.ins b/Master/texmf-dist/source/latex/was/fixmath.ins new file mode 100644 index 00000000000..c4594033666 --- /dev/null +++ b/Master/texmf-dist/source/latex/was/fixmath.ins @@ -0,0 +1,8 @@ +% file fixmath.ins +\input docstrip +\usedir{tex/latex/was} + +\generate{\file{fixmath.sty}{\from{fixmath.dtx}{package}}} + +\endbatchfile + diff --git a/Master/texmf-dist/source/latex/was/gensymb.dtx b/Master/texmf-dist/source/latex/was/gensymb.dtx new file mode 100644 index 00000000000..95d58740762 --- /dev/null +++ b/Master/texmf-dist/source/latex/was/gensymb.dtx @@ -0,0 +1,441 @@ +%\CheckSum{283} +% +% \iffalse +% +% File `gensymb.dtx'. +% Copyright (c) 2003 Walter Schmidt +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% 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.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files gensymb.dtx and gensymb.ins +% +% \fi +% +% \iffalse +% +%<*driver> +\ProvidesFile{gensymb.drv} +%</driver> +%<package>\ProvidesPackage{gensymb} + [2003/07/02 v1.0 (WaS)] +%<*driver> +\documentclass{ltxdoc} +\OnlyDescription +\usepackage{textcomp} +\CodelineNumbered +\begin{document} + \DocInput{gensymb.dtx} +\end{document} +%</driver> +% \fi +% +% \newcommand\Lopt[1]{\textsf{#1}} +% \let\Lpack\Lopt +% \GetFileInfo{gensymb.drv} +% +% \title{The \textsf{gensymb} package for \LaTeXe} +% \author{Walter Schmidt\thanks{{\ttfamily w.a.schmidt@gmx.net}}} +% \date{(\fileversion{} -- \filedate)} +% \maketitle +% \sloppy +% +% \section{The problem} +% Typesetting units of measurement with \LaTeX{} is sometimes difficult. +% Why? For instance, most (but no all) typefaces have an +% upright \textmu{} and also a degree symbol, but +% there is no obvious way to use these in math mode. On the other hand, +% an upright \textohm{} is part of all math fonts for \TeX, +% but most text fonts are lacking the corresponding \cmd{\textohm}. +% Thus, it is not only impossible to use the +% same notation in text and in formulas; +% depending on the fonts used, it may even be impossible to +% typeset units properly at all, if you are restricted to +% the means of `standard' \LaTeX. +% +% \section{The macro package} +% The \Lpack{gensymb} package provides a number of `generic' macros, +% which produce the same output in text and math mode: +% \begin{verse} +% \begin{tabular}{ccccc} +% \cmd{\degree} & +% \cmd{\celsius} & +% \cmd{\perthousand}& +% \cmd{\ohm} & +% \cmd{\micro} \\ +% \textdegree & +% \textcelsius & +% \textperthousand & +% \textohm & +% \textmu \\ +% \end{tabular} +% \end{verse} +% Thus, you can write, for instance: +% \begin{verse} +% |$ \lambda = 10.6\,\micro\mathrm{m} $|\\ +% |... a wavelength of 10.6\,\micro m| +% \end{verse} +% With the help of the package \Lpack{units}, you can even apply +% exactly the same notation in text and formulas: +% \begin{verse} +% |$ \lambda = \unit[10.6]{\micro m} $|\\ +% |... a wavelength of \unit[10.6]{\micro m}| +% \end{verse} +% +% Under normal circumstances you should use \Lpack{gensymb} in conjunction with +% the \Lpack{textcomp} package. In this case the above symbols +% are taken from a text font using the TS1 (text companion) +% encoding -- even in math. +% As a result, they will exhibit the style of the surrounding text or of the \cmd{\mathrm} +% alphabet, respectively. +% +% When \Lpack{textcomp} is \emph{not} used (for instance, because your text fonts +% are not available with TS1 encoding), +% the \Lpack{gensymb} package tries to emulate the above symbols +% using what is available in the math fonts. +% However, the symbols \textmu{} and \textperthousand{} cannot be faked, +% and the package will issue appropriate warning messages. +% The option \Lopt{upmu} is a workaround to provide at least the \textmu{} -- see below. +% +% The symbol \cmd{\ohm} is particular, too: Loading the \Lpack{textcomp} +% package does \emph{not ensure} that the text fonts actually include +% an \textohm. Unfortunately, many fonts don't. \LaTeX{} cannot detect this +% situation in advance, and the command \cmd{\ohm} will print some garbage +% then -- possibly without any error message. +% A workaround is to use the options \Lopt{Omega} or \Lopt{Upomega} +% described below. +% +% The default behavior of the \Lpack{gensymb} package can be modified +% using the following options: +% \begin{description} +% \item[\Lopt{upmu}] With this option, the \cmd{\micro} uses internally +% a math symbol with the name \cmd{\upmu}. +% The responsibility to provide this macro lies with you; for instance, +% load the package \Lpack{upgreek}\footnote{% +% available from the same CTAN directory as \Lpack{gensymb}} or use a set +% of math fonts which include an upright mu and make sure it is accessible as \cmd{\upmu}. +% This option is useful, +% when your text fonts are not available with TS1 (text companion) encoding, +% or when their \cmd{\textmu} is ugly or broken. The drawback is, +% that the style of this \textmu{} will not vary with the surrounding font. +% It is always upright roman, regardless of whether +% the surrounding text is sans serif, bold or whatever. +% +% \item[\Lopt{Omega}] makes \cmd{\ohm} always use the upright Greek Omega +% from the current math font, regardless of whether \Lpack{textcomp} is loaded. +% This makes sense, when there is no \textohm{} in your text font(s). +% The option works always, but the style of the Omega in text will +% not vary then. +% +% Various packages provide an option \Lopt{slantedGreek} to make +% uppercase Greek letters in formulas slanted. You may safely use +% this option in conjunction with the \Lopt{Omega} option of the package +% \Lpack{gensymb}: \cmd{\ohm} will be upright, though! +% +% \addtocounter{footnote}{-1} +% \item[\Lpack{Upomega}] A math symbol with the name \cmd{\Upomega} will +% be used to for the \cmd{\ohm}. +% The responsibility to provide this macro lies with you; for instance, +% load the package \Lpack{upgreek}\footnotemark. +% Again, the style of this \cmd{\ohm} in text never changes. +% The option may be useful, when the text font does not include a \cmd{\textomega} +% of its own and the mathematical \cmd{\Omega} is not a suitable substitute, +% for one reason or another. +% \end{description} +% +% \section{Examples} +% \subsection*{The optimum case} +% With text fonts providing \textmu{} as well as \textohm{} +% in the text companion encoding, the default behavior of +% \Lpack{gensymb} is appropriate. +% This holds, e.g., for the EC/TC fonts (i.e., Computer Modern with T1 +% and TS1 encoding), Palatino, Lucida Bright, the Fourier fonts, +% and most font families from MicroPress: +% \begin{verbatim} +% \usepackage[T1]{fontenc} +% \usepackage{textcomp} +% \usepackage{gensymb} +% \end{verbatim} +% +% \subsection*{The normal case} +% Many commercial text fonts have a correct `micro' symbol, but no Omega. +% In this case the package can be loaded with the \Lopt{Omega} option, +% to make sure that the mathematical Omega is used instead: +% \begin{verbatim} +% \usepackage[T1]{fontenc} +% \usepackage{textcomp} +% \usepackage{mathptmx} % for instance +% \usepackage[Omega]{gensymb} +% \end{verbatim} +% +% \subsection*{Using the `classical' CM fonts} +% When you are restricted to the classical Computer Modern fonts with +% OT1 encoding, you can still take the Omega from the math fonts, +% but you need to take the upright mu from an an extra font such as +% Euler Roman. +% Notice, however, that \cmd{\perthousand} is not made available. +% You may try \cmd{\permil} instead, which is provided in the +% WASY fonts. +% \begin{verbatim} +% \usepackage[Euler]{upgreek} +% \usepackage[Omega, upmu]{gensymb} +% \usepackage{wasysym} +% \let\perthousand=\permil +% \end{verbatim} +% +% \subsection*{A special case} +% Imagine that you are using the Bitstream Charter text fonts +% in conjunction with Euler-VM for math.\footnote{I do not actually +% recommend this combination\dots} +% Charter, like most typefaces from Bitstream, has a wrong mu symbol. +% The missing Omega could be taken from the math font (Euler), but it would not go well +% with Charter in a combination such as M$\Omega$. +% As a workaround, load the \Lpack{upgreek} package +% and take both \cmd{\micro} and \cmd{\ohm} from the `Adobe Symbol' font: +% \begin{verbatim} +% \usepackage[T1]{fontenc} +% \usepackage{textcomp} +% \usepackage{charter,eulervm} +% \usepackage[Symbol]{upgreek} +% \usepackage[Upomega, upmu]{gensymb} +% \end{verbatim} +% +% \section{Using \Lpack{gensymb} together with other packages} +% \begin{itemize} +% \item +% \Lpack{gensymb} goes well with the package \Lpack{units}, +% but it cannot be used in conjunction with the +% package \Lpack{SIunits}, because the latter has its own means to typeset +% prefixes. +% \item +% Using the package \Lpack{mathcomp} together with \Lpack{gensymb} +% is possible, if you need the additional `math companion' symbols. +% Both packages will use only one common math symbol font. +% \end{itemize} +% +% \section{Known deficiencies} +% The current version of the package does not work properly +% in conjunction with the LY1 font encoding. +% This will possibly be fixed in a future release, if there is an actual need. +% +% \StopEventually{} +% +% \section{Implementation} +% +% The options are implemented using switches: +% \begin{macrocode} +%<*package> +\newif\ifgns@Upomega +\newif\ifgns@Omega +\newif\ifgns@upmu +% \end{macrocode} +% \begin{macrocode} +\DeclareOption{Upomega}{\gns@Upomegatrue} +\DeclareOption{Omega}{\gns@Omegatrue} +\DeclareOption{upmu}{\gns@upmutrue} +\ProcessOptions\relax +% \end{macrocode} +% These are the generic commands: +% \begin{macrocode} +\newcommand\celsius{} +\newcommand\degree{} +\newcommand\ohm{} +% \end{macrocode} +% The following macros will be used later to actually define the generic commands. +% We start with a macro to fake \cmd{\degree} and \cmd{\celsius} and to generate +% a warning message for \cmd{\perthousand}: +% \begin{macrocode} +\def\gns@usefakedsymbols{% +\renewcommand{\degree}{\ensuremath{^\circ}} +\DeclareRobustCommand{\celsius}{% + \ifmmode^\circ\mathrm{C}\else$^\circ$C\fi} +\PackageInfo{gensymb}{% + Faking symbols for \protect\degree\space and \protect\celsius} +\PackageWarningNoLine{gensymb}{% + Not defining \protect\perthousand} +} +% \end{macrocode} +% The following macro sets up a SymbolFont for the text companion symbols to be +% used in math. If \cmd{\tcmu} is already defined, we assume that the +% \Lpack{mathcomp} package is already loaded, and that the `math companion' +% symbols need not be defined once again: +% \begin{macrocode} +\def\gns@setupmathcomp{% +\expandafter\ifx\csname tcmu\endcsname\relax + \DeclareSymbolFont{gns@font}{TS1}{\familydefault}{m}{n} + \ifx\mv@bold\@undefined\else + \SetSymbolFont{gns@font}{bold}{TS1}{\familydefault}{\bfdefault}{n} + \fi + \DeclareMathSymbol{\tccelsius}{\mathord}{gns@font}{137} % {'211} + \DeclareMathSymbol{\tcdegree}{\mathord}{gns@font}{176} % {'260} + \DeclareMathSymbol{\tcperthousand}{\mathord}{gns@font}{135} % {'207} + \DeclareMathSymbol{\tcmu}{\mathord}{gns@font}{181} % {'265} + \DeclareMathSymbol{\tcohm}{\mathord}{gns@font}{87} % {'127} + \PackageInfo{gensymb}{Math companion symbols declared} +\else + \PackageInfo{gensymb}{Math companion symbols found} +\fi +} +% \end{macrocode} +% A macro to define \cmd{\degree}, \cmd{\celsius} and \cmd{\perthousand} +% so as to use text companion symbols: +% \begin{macrocode} +\def\gns@usetcsymbols{% +\DeclareRobustCommand{\degree}{% + \ifmmode\tcdegree\else\textdegree\fi} +\DeclareRobustCommand{\celsius}{% + \ifmmode\tccelsius\else\textcelsius\fi} +\DeclareRobustCommand{\perthousand}{% + \ifmmode\tcperthousand\else\textperthousand\fi} +\PackageInfo{gensymb}{Using text companion symbols for % + \protect\degree, \protect\celsius\space and \protect\perthousand} +} +% \end{macrocode} +% A macro to define \cmd{\ohm} so as to use the math symbol \cmd{\Upomega}: +% \begin{macrocode} +\def\gns@useUpomega{% + \expandafter\ifx\csname Upomega\endcsname\relax + \PackageError{gensymb} + {You have requested the option Upomega,\MessageBreak + but the command \protect\Upomega\space is undefined} + {Load the upgreek package additionally and try again!} + \fi + \DeclareRobustCommand{\ohm}{\ifmmode\Upomega\else$\Upomega$\fi} + \PackageInfo{gensymb}{Using \protect\Upomega\space for \protect\ohm} +} +% \end{macrocode} +% A macro to define \cmd{\ohm} so as to use \cmd{\Omega} (or \cmd{\upOmega}, +% if it is provided): +% \begin{macrocode} +\def\gns@useOmega{% + \expandafter\ifx\csname upOmega\endcsname\relax + \DeclareRobustCommand{\ohm}{\ifmmode\Omega\else$\Omega$\fi} + \PackageInfo{gensymb}{Using \protect\Omega\space for \protect\ohm} + \else + \DeclareRobustCommand{\ohm}{\ifmmode\upOmega\else$\upOmega$\fi} + \PackageInfo{gensymb}{Using \protect\upOmega\space for \protect\ohm} + \fi +} +% \end{macrocode} +% A macro to define \cmd{\ohm} so as to use the text companion symbol: +% \begin{macrocode} +\def\gns@usetextohm{% + \DeclareRobustCommand{\ohm}{\ifmmode\tcohm\else\textohm\fi} + \PackageInfo{gensymb}{Using \protect\textohm\space for \protect\ohm} +} +% \end{macrocode} +% A macro to define \cmd{\micro} so as to use the math symbol \cmd{\upmu}: +% \begin{macrocode} +\def\gns@useupmu{% + \expandafter\ifx\csname upmu\endcsname\relax + \PackageError{gensymb} + {You have requested the option upmu,\MessageBreak + but the command \protect\upmu\space is undefined} + {Load the upgreek package additionally and try again!} + \fi + \DeclareRobustCommand{\micro}{\ifmmode\upmu\else$\upmu$\fi} + \PackageInfo{gensymb}{Using \protect\upmu\space for \protect\micro} +} +% \end{macrocode} +% A macro to define \cmd{\micro} so as to use the text companion symbol: +% \begin{macrocode} +\def\gns@usetextmu{% + \DeclareRobustCommand{\micro}{\ifmmode\tcmu\else\textmu\fi} + \PackageInfo{gensymb}{Using \protect\textmu\space for \protect\micro} +} +% \end{macrocode} +% A macro to issue a warning, if \cmd{\micro} cannot be made available: +% \begin{macrocode} +\def\gns@usenomu{% + \PackageWarningNoLine{gensymb}{% + Not defining \protect\micro} +} +% \end{macrocode} +% The actual work is executed AtBeginDocument, so that we can detect the +% presence of the \Lpack{textcomp} package and the availability of +% \cmd{\Upmu} and other commands, regardless of the sequence of loading the +% packages. +% \begin{macrocode} +\AtBeginDocument{% +% \end{macrocode} +% First, we check for \Lpack{textcomp}. If it is loaded, we set up the +% text companion symbols for use in math and define \cmd{\degree}, \cmd{\celsius} +% and \cmd{\perthousand} so that they use these. Otherwise, the symbols are faked +% as far as possible: +% \begin{macrocode} +\@ifpackageloaded{textcomp}{\gns@setupmathcomp\gns@usetcsymbols}% + {\gns@usefakedsymbols} +% \end{macrocode} +% Now we define \cmd{\ohm}. In case the options \Lopt{Upomega} +% or \Lopt{Omega} have been specified, behave acordingly. +% Otherwise, use the text companion symbol, if available. +% Default is to use the mathematical Omega: +% \begin{macrocode} +\ifgns@Upomega + \gns@useUpomega +\else +\ifgns@Omega + \gns@useOmega +\else +\@ifpackageloaded{textcomp}% + {\gns@usetextohm}% + {\gns@useOmega} +\fi\fi +% \end{macrocode} +% Next, define \cmd{\micro}. In case the option \Lopt{upmu} +% has been specified, behave acordingly. +% Otherwise, use the text companion symbol, if available. +% Default is not to provide \cmd{\micro} at all. +% \begin{macrocode} +\ifgns@upmu + \gns@useupmu +\else +\@ifpackageloaded{textcomp}% + {\gns@usetextmu}% + {\gns@usenomu} +\fi +% \end{macrocode} +% Finally, we destroy the commands that are no longer needed: +% \begin{macrocode} +\let\gns@usefakedsymbols\relax +\let\gns@setupmathcomp\relax +\let\gns@usetcsymbols\relax +\let\gns@useUpomega\relax +\let\gns@useOmega\relax +\let\gns@usetextohm\relax +\let\gns@useupmu\relax +\let\gns@usenomu\relax +\let\gns@usetextmu\relax +% \end{macrocode} +% \begin{macrocode} +} +%</package> +% \end{macrocode} +% +% The next line of code is only to prevent DocStrip from adding the +% character table to all modules: +% \begin{macrocode} +\endinput +% \end{macrocode} +% \Finale +%% \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 \~} +%% diff --git a/Master/texmf-dist/source/latex/was/gensymb.ins b/Master/texmf-dist/source/latex/was/gensymb.ins new file mode 100644 index 00000000000..431cb17295d --- /dev/null +++ b/Master/texmf-dist/source/latex/was/gensymb.ins @@ -0,0 +1,8 @@ +% file gensymb.ins +\input docstrip +\usedir{tex/latex/was} + +\generate{\file{gensymb.sty}{\from{gensymb.dtx}{package}}} + +\endbatchfile + diff --git a/Master/texmf-dist/source/latex/was/icomma.dtx b/Master/texmf-dist/source/latex/was/icomma.dtx new file mode 100644 index 00000000000..712d1d9f8c4 --- /dev/null +++ b/Master/texmf-dist/source/latex/was/icomma.dtx @@ -0,0 +1,153 @@ +%\CheckSum{28} +% +% \iffalse +% +% File `icomma.dtx'. +% Copyright (c) 2001, 2002 Walter Schmidt +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% 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.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files icomma.dtx and icomma.ins +% +% \fi +% +% \iffalse +% +%<*driver> +\ProvidesFile{icomma.drv} +%</driver> +%<package>\ProvidesPackage{icomma} + [2002/03/10 v2.0 (WaS)] +%<*driver> +\documentclass{ltxdoc} +\usepackage{url} +\CodelineNumbered +\begin{document} + \DocInput{icomma.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{icomma.drv} +% \DeleteShortVerb{\|} +% \MakeShortVerb{\+} +% +% \title{The \textsf{icomma} package for \LaTeXe} +% \author{Walter Schmidt\thanks{{\ttfamily w.a.schmidt@gmx.net}}} +% \date{(\fileversion{} -- \filedate)} +% \maketitle\thispagestyle{empty} +% +% \noindent +% With ordinary \LaTeX{}, the comma cannot be used as a decimal separator +% in math mode, because it is treated as a punctuation character and +% \LaTeX\ adds some extra space after it. This can be overcome by defining +% an `intelligent' comma, which `recognizes', whether it is used as +% a decimal separator or as a punctuation character. +% +% An appropriate definition was given in \cite{icomma} and \cite{icomma-err}. +% However, it relied on the particular encoding of the CM fonts, so +% it would not always work with alternative math fonts such as Euler. +% The package \textsf{icomma} provides an enhanced variant of this +% `intelligent' comma. It can be used with the default CM math fonts +% as well as with alterative math font sets. +% +% After loading of the package, the comma will be typeset as a +% punctuation character, if the next \emph{input} character +% is a space; otherwise the comma is treated as a decimal separator. +% Thus, a decimal number is to be entered as, for instance, +% \begin{verse} +% +1,234+ +% \end{verse} +% whereas the mathematical expression $(x, y)$ is to be written +% with a space after the comma: +% \begin{verse} +% \verb*|(x, y)| +% \end{verse} +% +% \section*{Bugs and problems} +% In case the `intelligent comma' is used together with the +% \textsf{dcolumn} package, a comma to be \emph{printed} as the +% decimal separator in a column of type +D+ is to be specified +% as +{\mathord\mathcomma}+, rather than +{,}+, since the latter +% leads to an error. For instance: +% \begin{verse} +% +\begin{tabular}{... D{,}{\mathord\mathcomma}{2} ...}+ +% \end{verse} +% Note that specifying the comma as the related \emph{input} character +% works as usual. +% +% Generally, since the \textsf{icomma} package makes the comma `active', +% further problems are not unlikely. +% +% \StopEventually{ +% \section*{Credits} +% Special thanks to Bernd Raichle for fixing the deficiencies of version~1. +% +% \begin{thebibliography}{1} +% \bibitem{icomma} +% \textsc{Richard Hirsch}. +% Dezimalkomma beim \TeX{}satz in deutsch. +% \textit{Die \TeX{}nische Kom\"odie 1/1994} +% (July 1994), 42--45. +% \bibitem{icomma-err} +% \textsc{Peter Schmitt}. +% Dezimalkomma beim \TeX{}satz in deutsch. +% \textit{Die \TeX{}nische Kom\"odie 4/1997} +% (Feb.\ 1998), 50. +% \end{thebibliography} +% } +% +% \section*{The package code} +% At +\begin{document}+, we memorize the +\mathcode+ of the `punctuation' comma, +% in the +\mathcomma+ macro, +% and we make the comma in math mode active: +% \begin{macrocode} +%<*package> +\AtBeginDocument{% + \mathchardef\mathcomma\mathcode`\,% + \mathcode`\,="8000 % +} +% \end{macrocode} +% The active comma checks the next input character. +% If this is a space , the active comma simply returns +% the saved +\mathcomma+; otherwise, +\mathord\mathcomma+ is returned, +% so that no space will be added: +% \begin{macrocode} +{\catcode`,=\active + \gdef,{\futurelet\@let@token\sm@rtcomma} +} +\def\sm@rtcomma{% + \ifx\@let@token\@sptoken \else + \ifx\@let@token\space \else + \mathord\fi\fi \mathcomma} +%</package> +% \end{macrocode} +% +% The next line of code prevents DocStrip from adding the +% character table to the generated package: +% \begin{macrocode} +\endinput +% \end{macrocode} +% \Finale +%% \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 \~} +%% diff --git a/Master/texmf-dist/source/latex/was/icomma.ins b/Master/texmf-dist/source/latex/was/icomma.ins new file mode 100644 index 00000000000..5d0873970f3 --- /dev/null +++ b/Master/texmf-dist/source/latex/was/icomma.ins @@ -0,0 +1,8 @@ +% file icomma.ins +\input docstrip +\usedir{tex/latex/was} + +\generate{\file{icomma.sty}{\from{icomma.dtx}{package}}} + +\endbatchfile + diff --git a/Master/texmf-dist/source/latex/was/upgreek.dtx b/Master/texmf-dist/source/latex/was/upgreek.dtx new file mode 100644 index 00000000000..2331d240c3c --- /dev/null +++ b/Master/texmf-dist/source/latex/was/upgreek.dtx @@ -0,0 +1,235 @@ +%\CheckSum{281} +% +% \iffalse +% +% File `upgreek.dtx'. +% Copyright (c) 2001--2003 Walter Schmidt +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% 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.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of the files upgreek.dtx and upgreek.ins +% +% \fi +% +% \iffalse +% +%<*driver> +\ProvidesFile{upgreek.drv} +%</driver> +%<package>\ProvidesPackage{upgreek} + [2003/02/12 v2.0 (WaS)] +%<*driver> +\documentclass{ltxdoc} +\CodelineNumbered +\begin{document} + \DocInput{upgreek.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{upgreek.drv} +% \DeleteShortVerb{\|} +% \MakeShortVerb{\+} +% +% \title{The \textsf{upgreek} package for \LaTeXe} +% \author{Walter Schmidt\thanks{{\ttfamily w.a.schmidt@gmx.net}}} +% \date{(\fileversion{} -- \filedate)} +% \maketitle +% \thispagestyle{empty} +% \sloppy +% +% \noindent +% The default CM math fonts used by \TeX\ do not include upright +% lowercase Greek characters, and many alternative math font sets don't, +% either. (There are math fonts providing \emph{only} an upright +% Greek alphabet, but that's a different story.) +% However, mathematical constants such as $\pi = 3.14\dots$ +% are sometimes required to be typeset in roman (i.e., upright) style, +% or one may need upright Greek to designate elementary particles. +% +% As a workaround, +% the \LaTeX{} package \textsf{upgreek} makes the upright +% Greek characters from the `Euler' or `Adobe Symbol' typefaces available +% as math symbols. The lowercase letters are named +% +\upalpha+, +\upbeta+ etc., whereas +\Updelta+, +\Upgamma+ etc.\ create +% upper case. +% +% Just like +\alpha+, +\beta+ etc., these symbols work only in math +% mode, and their size is properly adjusted, when they are used in +% superscripts, subscripts or fractions. +% +% At first sight, providing also the uppercase letters seems pointless, +% since +\Delta+, +\Gamma+, etc.\ are also upright by default. However, +% it may be useful to have all upright Greek letters available in the +% same style. Note that the uppercase letters were intentionally +% \emph{not} named +\upDelta+ etc., so as not to clash with other +% existent macro packages. +% +% The typeface is selected using a package option, so you can +% choose what blends best with the other fonts used in your document: +% \begin{description} +% \item[{\mdseries\ttfamily [Euler]}] Euler Roman/Bold (default) +% \item[{\mdseries\ttfamily [Symbol]}] Adobe Symbol +% \item[{\mdseries\ttfamily [Symbolsmallscale]}] Adobe Symbol, scaled down to 90\% of +% its natural size. (New feature in version 2.0\,!) +% \end{description} +% +% Note that +\upmu+ should normally \emph{not} be used as the prefix +% for physical units, meaning $10^{-6}$. The mu symbol to be used there +% is to be taken from the \emph{text} font, and +% most Latin text fonts do actually include a suitable Greek mu, +% which can be accessed as +\textmu+. +% Most likely -- depending on the encoding of your text fonts -- you +% need to load the package \textsf{textcomp} for this purpose. +% If, however, there is no mu in your text fonts, +% using +\upmu+ is still better than nothing. +% See also the \textsf{gensymb} package, which is distributed from the same +% CTAN directory than \textsf{upgreek}: It provides a command for `micro' +% that works in both text and math mode and uses either +\textmu+ or +\upmu+, +% depending on the available character sets. +% +% +% \StopEventually{} +% +% \section*{The package code} +% +% \begin{macrocode} +%<*package> +\DeclareOption{Symbol}{\let\uppi=s} +\DeclareOption{Symbolsmallscale}{\let\uppi m} +\DeclareOption{Euler}{\let\uppi=e} +\ExecuteOptions{Euler} +\ProcessOptions\relax +\ifx\uppi e + \PackageInfo{upgreek}{Using Euler Roman for upright Greek} + \DeclareFontFamily{U}{eur}{\skewchar\font'177} + \DeclareFontShape{U}{eur}{m}{n}{% + <-6> eurm5 <6-8> eurm7 <8-> eurm10}{} + \DeclareFontShape{U}{eur}{b}{n}{% + <-6> eurb5 <6-8> eurb7 <8-> eurb10}{} + \DeclareSymbolFont{ugrf@m}{U}{eur}{m}{n} + \SetSymbolFont{ugrf@m}{bold}{U}{eur}{b}{n} + \let\uppi\@undefined + \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{"0B} + \DeclareMathSymbol{\upbeta}{\mathord}{ugrf@m}{"0C} + \DeclareMathSymbol{\upgamma}{\mathord}{ugrf@m}{"0D} + \DeclareMathSymbol{\updelta}{\mathord}{ugrf@m}{"0E} + \DeclareMathSymbol{\upepsilon}{\mathord}{ugrf@m}{"0F} + \DeclareMathSymbol{\upzeta}{\mathord}{ugrf@m}{"10} + \DeclareMathSymbol{\upeta}{\mathord}{ugrf@m}{"11} + \DeclareMathSymbol{\uptheta}{\mathord}{ugrf@m}{"12} + \DeclareMathSymbol{\upiota}{\mathord}{ugrf@m}{"13} + \DeclareMathSymbol{\upkappa}{\mathord}{ugrf@m}{"14} + \DeclareMathSymbol{\uplambda}{\mathord}{ugrf@m}{"15} + \DeclareMathSymbol{\upmu}{\mathord}{ugrf@m}{"16} + \DeclareMathSymbol{\upnu}{\mathord}{ugrf@m}{"17} + \DeclareMathSymbol{\upxi}{\mathord}{ugrf@m}{"18} + \DeclareMathSymbol{\uppi}{\mathord}{ugrf@m}{"19} + \DeclareMathSymbol{\uprho}{\mathord}{ugrf@m}{"1A} + \DeclareMathSymbol{\upsigma}{\mathord}{ugrf@m}{"1B} + \DeclareMathSymbol{\uptau}{\mathord}{ugrf@m}{"1C} + \DeclareMathSymbol{\upupsilon}{\mathord}{ugrf@m}{"1D} + \DeclareMathSymbol{\upphi}{\mathord}{ugrf@m}{"1E} + \DeclareMathSymbol{\upchi}{\mathord}{ugrf@m}{"1F} + \DeclareMathSymbol{\uppsi}{\mathord}{ugrf@m}{"20} + \DeclareMathSymbol{\upomega}{\mathord}{ugrf@m}{"21} + \DeclareMathSymbol{\upvarepsilon}{\mathord}{ugrf@m}{"22} + \DeclareMathSymbol{\upvartheta}{\mathord}{ugrf@m}{"23} + \DeclareMathSymbol{\upvarpi}{\mathord}{ugrf@m}{"24} + \let\upvarrho\uprho + \let\upvarsigma\upsigma + \DeclareMathSymbol{\upvarphi}{\mathord}{ugrf@m}{"27} + \DeclareMathSymbol{\Upgamma}{\mathord}{ugrf@m}{"00} + \DeclareMathSymbol{\Updelta}{\mathord}{ugrf@m}{"01} + \DeclareMathSymbol{\Uptheta}{\mathord}{ugrf@m}{"02} + \DeclareMathSymbol{\Uplambda}{\mathord}{ugrf@m}{"03} + \DeclareMathSymbol{\Upxi}{\mathord}{ugrf@m}{"04} + \DeclareMathSymbol{\Uppi}{\mathord}{ugrf@m}{"05} + \DeclareMathSymbol{\Upsigma}{\mathord}{ugrf@m}{"06} + \DeclareMathSymbol{\Upupsilon}{\mathord}{ugrf@m}{"07} + \DeclareMathSymbol{\Upphi}{\mathord}{ugrf@m}{"08} + \DeclareMathSymbol{\Uppsi}{\mathord}{ugrf@m}{"09} + \DeclareMathSymbol{\Upomega}{\mathord}{ugrf@m}{"0A} +\else + \ifx\uppi s + \PackageInfo{upgreek}{Using Adobe Symbol for upright Greek} + \DeclareSymbolFont{ugrf@m}{U}{psy}{m}{n} + \else % m + \PackageInfo{upgreek}{Using Adobe Symbol, scaled 900, for upright Greek} + \DeclareFontFamily{U}{fsy}{} + \DeclareFontShape{U}{fsy}{m}{n}{<->s*[.9]psyr}{} + \DeclareSymbolFont{ugrf@m}{U}{fsy}{m}{n} + \fi + \let\uppi\@undefined + \DeclareMathSymbol{\upalpha}{\mathord}{ugrf@m}{`a} + \DeclareMathSymbol{\upbeta}{\mathord}{ugrf@m}{`b} + \DeclareMathSymbol{\upgamma}{\mathord}{ugrf@m}{`g} + \DeclareMathSymbol{\updelta}{\mathord}{ugrf@m}{`d} + \DeclareMathSymbol{\upepsilon}{\mathord}{ugrf@m}{`e} + \DeclareMathSymbol{\upzeta}{\mathord}{ugrf@m}{`z} + \DeclareMathSymbol{\upeta}{\mathord}{ugrf@m}{`h} + \DeclareMathSymbol{\uptheta}{\mathord}{ugrf@m}{`q} + \DeclareMathSymbol{\upiota}{\mathord}{ugrf@m}{`i} + \DeclareMathSymbol{\upkappa}{\mathord}{ugrf@m}{`k} + \DeclareMathSymbol{\uplambda}{\mathord}{ugrf@m}{`l} + \DeclareMathSymbol{\upmu}{\mathord}{ugrf@m}{`m} + \DeclareMathSymbol{\upnu}{\mathord}{ugrf@m}{`n} + \DeclareMathSymbol{\upxi}{\mathord}{ugrf@m}{`x} + \DeclareMathSymbol{\uppi}{\mathord}{ugrf@m}{`p} + \DeclareMathSymbol{\uprho}{\mathord}{ugrf@m}{`r} + \DeclareMathSymbol{\upsigma}{\mathord}{ugrf@m}{`s} + \DeclareMathSymbol{\uptau}{\mathord}{ugrf@m}{`t} + \DeclareMathSymbol{\upupsilon}{\mathord}{ugrf@m}{`u} + \DeclareMathSymbol{\upphi}{\mathord}{ugrf@m}{`f} + \DeclareMathSymbol{\upchi}{\mathord}{ugrf@m}{`c} + \DeclareMathSymbol{\uppsi}{\mathord}{ugrf@m}{`y} + \DeclareMathSymbol{\upomega}{\mathord}{ugrf@m}{`w} + \let\upvarepsilon\upepsilon + \DeclareMathSymbol{\upvartheta}{\mathord}{ugrf@m}{`J} + \DeclareMathSymbol{\upvarpi}{\mathord}{ugrf@m}{`v} + \let\upvarrho\uprho + \let\upvarsigma\upsigma + \DeclareMathSymbol{\upvarphi}{\mathord}{ugrf@m}{`j} + \DeclareMathSymbol{\Upgamma}{\mathord}{ugrf@m}{`G} + \DeclareMathSymbol{\Updelta}{\mathord}{ugrf@m}{`D} + \DeclareMathSymbol{\Uptheta}{\mathord}{ugrf@m}{`Q} + \DeclareMathSymbol{\Uplambda}{\mathord}{ugrf@m}{`L} + \DeclareMathSymbol{\Upxi}{\mathord}{ugrf@m}{`X} + \DeclareMathSymbol{\Uppi}{\mathord}{ugrf@m}{`P} + \DeclareMathSymbol{\Upsigma}{\mathord}{ugrf@m}{`S} + \DeclareMathSymbol{\Upupsilon}{\mathord}{ugrf@m}{`U} + \DeclareMathSymbol{\Upphi}{\mathord}{ugrf@m}{`F} + \DeclareMathSymbol{\Uppsi}{\mathord}{ugrf@m}{`Y} + \DeclareMathSymbol{\Upomega}{\mathord}{ugrf@m}{`W} +\fi +%</package> +% \end{macrocode} +% +% The next line of code is only to prevent DocStrip from adding the +% character table to all modules: +% \begin{macrocode} +\endinput +% \end{macrocode} +% \Finale +%% \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 \~} +%% diff --git a/Master/texmf-dist/source/latex/was/upgreek.ins b/Master/texmf-dist/source/latex/was/upgreek.ins new file mode 100644 index 00000000000..b89fe6ef19a --- /dev/null +++ b/Master/texmf-dist/source/latex/was/upgreek.ins @@ -0,0 +1,8 @@ +% file upgreek.ins +\input docstrip +\usedir{tex/latex/was} + +\generate{\file{upgreek.sty}{\from{upgreek.dtx}{package}}} + +\endbatchfile + |