summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx')
-rw-r--r--Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx965
1 files changed, 965 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx b/Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx
new file mode 100644
index 00000000000..76ed36f71d2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jamtimes/jamtimes.dtx
@@ -0,0 +1,965 @@
+% \iffalse
+% $Id: jamtimes.dtx,v 1.26 2010-09-16 02:32:45 boris Exp $
+%
+% Copyright (c) 2010, Boris Veytsman
+%
+% All rights reserved.
+%
+% Redistribution and use in source and binary forms, with or without
+% modification, are permitted provided that the following conditions
+% are met:
+%
+% * Redistributions of source code must retain the above copyright
+% notice, this list of conditions and the following disclaimer.
+% * Redistributions in binary form must reproduce the above
+% copyright notice, this list of conditions and the following
+% disclaimer in the documentation and/or other materials provided
+% with the distribution.
+% * Neither the name of the original author nor the names of the
+% contributors may be used to endorse or promote products derived
+% from this software without specific prior written permission.
+%
+% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+% CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+% DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+% BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+% EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+% TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+% DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+% POSSIBILITY OF SUCH DAMAGE.
+%
+% \fi
+% \CheckSum{686}
+%
+%
+%% \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 \~}
+%
+%\iffalse
+% Taken from xkeyval.dtx
+%\fi
+%\makeatletter
+%\def\DescribeOption#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\PrintDescribeOption{#1}}%
+% \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+%\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
+%\def\SpecialOptionIndex#1{\@bsphack
+% \index{#1\actualchar{\protect\ttfamily#1}
+% (option)\encapchar usage}%
+% \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}\encapchar
+% usage}\@esphack}
+%\def\DescribeOptions#1{\leavevmode\@bsphack
+% \marginpar{\raggedleft\strut\emph{options}%
+% \@for\@tempa:=#1\do{%
+% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
+% }}\@esphack\ignorespaces}
+%\makeatother
+%
+%
+% \MakeShortVerb{|}
+% \GetFileInfo{jamtimes.dtx}
+% \title{Expanded Times Roman Fonts As Used in
+% \emph{Journal d'Analyse Math\'ematique}}
+% \author{Boris Veytsman\thanks{%
+% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
+% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}}
+% \date{\filedate, \fileversion}
+% \maketitle
+% \begin{abstract}
+% This package provides \LaTeX{} support for expanded Times Roman
+% font, which has been used by \emph{Journal d'Analyse
+% Math\'ematique} for many years. Mathematics support is based on
+% \emph{Belleek} fonts.
+% \end{abstract}
+% \tableofcontents
+%
+% \changes{v1.0}{2009/10/12}{First fully functional version}
+% \changes{v1.2a}{2010/04/22}{Documentation update}
+% \changes{v1.3}{2010/05/07}{Corrected map entries}
+% \changes{v1.5}{2010/05/31}{Added symbols missing from the Belleek
+% fonts}
+% \changes{v1.6}{2010/06/22}{Documentation changes}
+% \changes{v1.7}{2010/07/08}{Uppercase upright Greek}
+% \changes{v1.7}{2010/07/28}{Documentation changes}
+% \changes{v1.9}{2010/09/15}{Fixed a bug in installation script}
+%
+% \section{Introduction}
+% \label{sec:intro}
+%
+% For about a decade \emph{Journal d'Analyse Math\'ematique}
+% (\url{http://www.ma.huji.ac.il/jdm/}) used a set of fonts based on
+% the well known Times Roman family\footnote{It is now difficult to
+% say who designed these fonts initially. Dov Goldstein supported
+% the fonts for a number of years.}. The fonts were slightly
+% expanded in the $x$ direction. This small change gave the journal
+% its unique look and feel. The fonts worked for many years.
+% However, over this time a number of problems turned up:
+% \begin{enumerate}
+% \item The fonts were originally created for |dvips| and included
+% some PostScript trickery (for example, in dotless $\jmath$). This
+% made their use with |pdftex| difficult.
+% \item The fonts included only |OT1| encoding.
+% \item The math was based on the combination of Times Roman
+% \emph{and} Computer Modern for the symbols absent in Times Roman.
+% These fonts do not mesh well. Later the journal tried to use just
+% Computer Modern math throughout, which still contrasted with the
+% body text.
+% \item It was considered beneficial to give the authors the option of
+% prepare their papers with the journal fonts, and the package lacked
+% documentation and installation instruction.
+% \end{enumerate}
+% At last \emph{Magnes Press,} the publisher of \emph{Journal
+% d'Analyse Math\'ematique,} commissioned the overhaul of the
+% journal \TeX{} styles. This package is a part of the effort.
+%
+% We recreate the fonts from scratch. The mathematics is based on
+% Belleek fonts~\cite{Kinch98:Belleek}, expanded to match the body.
+% The text fonts are provided in |OT1| and |T1| encoding.
+%
+%
+% The package works both with the |pdflatex| route and the
+% |latex|$to$|dvips| route. The files |textsample.pdf|,
+% |mathsample.pdf| and |textsample_ps.pdf|, |mathsample_ps.pdf|
+% provide the sample of output for these two routes.
+%
+%\section{User Guide}
+%\label{sec:userguide}
+%
+%
+%\subsection{Installation}
+%\label{sec:install}
+%
+% You need Belleek fonts~\cite{Kinch98:Belleek} and (optionally) Math
+% Design fonts~\cite{Pichaureau05:MathDesign}. They are now a part
+% of most modern distributions. If you do not have them, just
+% download them from CTAN.
+%
+% Download the file
+% \url{http://ctan.tug.org/install/fonts/psfonts/public/jamstimes.tds.zip}
+% and unzip it in the \path{$TEXMF} directory. For \TeX Live it is
+% probably \path{/usr/local/texlive/texmf-local}, or
+% \path{/usr/local/share/texmf-local}, or \path{~/texmf}, or
+% \path{C:\Program Files\texlive\texmf-local}, etc. For Mik\TeX{} it
+% is probably \path{C:\miktex\texmf} or \path{C:\miktex\localtexmf}.
+% Run |texhash| to update the database of file names.
+%
+% Now you need to add the map file |jtm.map| to the configuration files
+% of |dvips| and |pdftex|. This again depends on your
+% distribution. For \TeX Live you create a file
+% \path{$TEXMF/updmap.d/50jtm.cfg} with just the line
+% \begin{verbatim}
+% Map jtm.map
+% \end{verbatim}
+% and then run |texhash| and |updmap|. If you use Debian or Ubuntu,
+% the system-wide |updmap.d| directory is located in |/etc|, and you
+% need to create the file |jtm.list| in
+% \path{/var/lib/tex-common/fontmap-cfg/whitnca.list} with the line
+% \begin{verbatim}
+% 50jtm
+% \end{verbatim}
+%
+%
+% If you use Mik\TeX2.6, run
+% \begin{verbatim}
+% initexmf --edit-config-file updmap
+% \end{verbatim}
+% Add to the config file
+% \begin{verbatim}
+% Map jtm.map
+% \end{verbatim}
+% save, exit and run |updmap|.
+%
+% If you use Mik\TeX2.5 or earlier, edit
+% \path{localtexmf\web2c\updmap.cfg}, adding the line
+% \begin{verbatim}
+% Map jtm.map
+% \end{verbatim}
+% and run |updmap|.
+%
+% Refer to your distribution documentation for the details.
+%
+%
+% An interesting question: it is possible to use the package with the
+% commercial MathTime\textsuperscript{\texttrademark} fonts from
+% PC\TeX{} (\url{http://www.pctex.com/})? I think that the answer is
+% positive, but since I do not have these fonts, I have not tested
+% this setup. If you have them, just change the lines in the file
+% |jtm.map| to refer to the proper fonts. Note that these fonts have
+% some options (bold math, heavy math) not supported by the package.
+%
+%\subsection{Usage}
+%\label{sec:usage}
+%
+% If your installation have been successful, add the line
+% \begin{quote}
+% |\usepackage|\oarg{options}\marg{jamtimes}
+% \end{quote}
+% to the preamble of your document. Note that this package changes
+% both math and text fonts.
+%
+% The package provides a number of options. The default values of the
+% options correspond to the practice of \emph{Journal d'Analyse
+% Math\'ematique.} You can try to change them to get a different
+% look and feel.
+%
+%
+% \DescribeOption{scaled}
+% The package has the option |scaled=...|. The fonts are uniformly
+% scaled according to the numerical value of the option. By default
+% the fonts are scaled 5\%, as if the setting |scaled=1.05| is in
+% effect. If you do not want to scale
+% the fonts at all, just call the package with the option |scaled=1|.
+%
+%
+% \DescribeOptions{sffamily,ttfamily}
+% By default the package uses Helvetica as the sans serif font and
+% Courier as the monospaced font. This default can be changed with
+% the options |sffamily=...| (the default value is |phv|) and
+% |ttfamily=...| (the default value is |pcr|).
+%
+% \DescribeOption{sfscaled}
+% If the sans serif family is Helvetica, the package provides an
+% additional options |sfscaled=...|. It sets the scaling
+% of the sans serif fonts. By default it is 0.94: this provides a
+% good mesh with 5\% scaled Times fonts.
+%
+% \DescribeOption{amsfontsscaled}
+% The package automatically loads amsfonts, including Euler Script,
+% and Euler Fraktur fonts. The option |amsfontsscaled=...| provides a
+% way to change the scaling of these fonts. By default they are
+% scaled 5\%, just as the body and main math fonts.
+%
+%
+% The package provides the fonts listed in Table~\ref{tab:fonts}.
+% Note that the expansion mentioned there always means expansion along
+% the horizontal axis \emph{in addition} to the scaling set by the
+% package options.
+%
+% \DescribeMacro{\bfdefault}
+% Another notable detail is that usually \LaTeX{} sets |\bfdefault| to
+% be |bx| (bold extended), and most font packages substitute it to |b|
+% (bold). Our fonts have both bold and bold extended fonts, and by
+% default use bold extended fonts for |\bfdefault|. If you want to
+% use bold extended fonts instead, just say
+% \begin{quote}
+% |\renewcommand{\bdefault}{b}|
+% \end{quote}
+%
+%
+% \begin{table}
+% \begin{minipage}{\linewidth}
+% \renewcommand{\thefootnote}{\thempfootnote}
+% \centering
+% \caption{Fonts Provided by the Package. \texttt{EE} corresponds
+% to font encoding (see~\cite{fontname}).}
+% \label{tab:fonts}
+% \begin{tabular}{llp{2.2in}}
+% \toprule
+% NFSS Code & Fontname Name & Comments\\
+% \midrule
+% \emph{c, n} & |jtmrEEc| & Times Roman, compressed 20\%\\
+% \emph{m, n} & |jtmrEEe| & Times Roman, expanded 5\%\\
+% \emph{m, it} & |jtmriEEe| & Times Roman Italic, expanded 5\%\\
+% \emph{m, sl} & |jtmroEEe| & (fake) Times Roman Oblique,
+% expanded 5\%\\
+% \emph{m, sc} & |jtmrcEEe| & (fake) Small Caps Times Roman,
+% expanded 5\%\\
+% \emph{b, n} & |ptmbEE|\footnote{These fonts coincide with the
+% standard Times fonts} & Times Bold\\
+% \emph{b, it} & |ptmbiEE|\footnotemark[1] & Times Bold Italic\\
+% \emph{b, sl} & |ptmboEE|\footnotemark[1] & (fake) Times Bold Oblique\\
+% \emph{b, sc} & |ptmbcEE|\footnotemark[1] & (fake) small caps Times Bold\\
+% \emph{x, n} & |jtmrEEw| & Times Roman, expanded 25\%\\
+% \emph{x, it} & |jtmriEEw| & Times Roman Italic, expanded 25\%\\
+% \emph{x, sl} & |jtmroEEw| & (fake) Times Roman Oblique,
+% expanded 25\%\\
+% \emph{x, sc} & |jtmrcEEw| & (fake) Small Caps Times Roman,
+% expanded 25\%\\
+% \emph{bx, n} & |jtmbEEv| & Times Bold, expanded 15\%\\
+% \emph{bx, it} & |jtmbiEEv| & Times Bold Italic, expanded 15\%\\
+% \emph{bx, sl} & |jtmboEEv| & (fake) Times Bold Oblique, expanded
+% 15\%\\
+% \emph{bx, sc} & |jtmbcEEv| & (fake) small caps Times Bold,
+% expanded 15\%\\
+% \bottomrule
+% \end{tabular}
+% \end{minipage}
+% \end{table}
+%
+%
+%
+%
+% \StopEventually{
+% \clearpage
+% \paragraph{Acknowledgements}
+%
+% This package was commissioned by \emph{Magnes Press,}
+% \url{http://www.magnespress.co.il}. I am greatly indebted to Eva
+% Goldman for the patient testing of the fonts.
+%
+% \bibliography{jamtimes}
+% \bibliographystyle{unsrt}}
+%
+% \clearpage
+%\section{Implementation}
+%\label{sec:impl}
+%
+%\subsection{Identification}
+%\label{sec:ident}
+%
+% We start with the declaration who we are. Most |.dtx| files put
+% driver code in a separate driver file |.drv|. We roll this code into the
+% main file, and use the pseudo-guard |<gobble>| for it.
+% \begin{macrocode}
+%<style>\NeedsTeXFormat{LaTeX2e}
+%<*gobble>
+\ProvidesFile{jamtimes.dtx}
+%</gobble>
+%<style>\ProvidesClass{jamtimes}
+%<drv>\ProvidesFile{drv.tex}
+%<map>\ProvidesFile{map.tex}
+%<jamomlhax>\ProvidesMtxPackage{jamomlhax.mtx}
+%<*style|drv|map>
+[2010/09/15 v1.9 Expanded Times Fonts (Journal d'Analyse Mathematique)]
+%</style|drv|map>
+% \end{macrocode}
+% And the driver code:
+% \begin{macrocode}
+%<*gobble>
+\documentclass{ltxdoc}
+\usepackage{booktabs}
+\usepackage[tableposition=top]{caption}
+\usepackage{url}
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ pagecolor=black,urlcolor=black,hyperindex=false]{hyperref}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{jamtimes.dtx}
+\end{document}
+%</gobble>
+% \end{macrocode}
+%
+%\subsection{Fontinst Driver}
+%\label{sec:pnb-drv}
+%
+% This follows~\cite{fontinstallationguide}.
+%
+% First, the preamble
+% \begin{macrocode}
+%<*drv>
+\input fontinst.sty
+% \end{macrocode}
+%
+% Definition of the parameters
+% \begin{macrocode}
+\setint{slant}{167}
+\setint{smallcapsscale}{750}
+\setint{compressedscale}{800}
+\setint{extendedscale}{1050}
+\setint{extraextendedscale}{1150}
+\setint{widescale}{1250}
+% \end{macrocode}
+%
+% Starting recording transforms:
+% \begin{macrocode}
+\recordtransforms{rec.tex}
+% \end{macrocode}
+%
+% Scale all text fonts in the |8r| encoding. Interesting enough, Dov
+% preferred medium fonts to be extended comparing to the bold ones.
+% We preserve this choice.
+% \begin{macrocode}
+\transformfont{jtmr8rc}{\xscalefont{\int{compressedscale}}%
+ \reencodefont{8r}{\fromafm{ptmr8a}}}
+\transformfont{jtmr8re}{\xscalefont{\int{extendedscale}}%
+ \reencodefont{8r}{\fromafm{ptmr8a}}}
+\transformfont{jtmri8re}{\xscalefont{\int{extendedscale}}%
+ \reencodefont{8r}{\fromafm{ptmri8a}}}
+\transformfont{jtmro8re}{\slantfont{\int{slant}}%
+ \fromany{jtmr8re}}
+\transformfont{jtmr8rw}{\xscalefont{\int{widescale}}%
+ \reencodefont{8r}{\fromafm{ptmr8a}}}
+\transformfont{jtmri8rw}{\xscalefont{\int{widescale}}%
+ \reencodefont{8r}{\fromafm{ptmri8a}}}
+\transformfont{jtmro8rw}{\slantfont{\int{slant}}%
+ \fromany{jtmr8rw}}
+\transformfont{jtmb8rv}{\xscalefont{\int{extraextendedscale}}%
+ \reencodefont{8r}{\fromafm{ptmb8a}}}
+\transformfont{jtmbi8rv}{\xscalefont{\int{extraextendedscale}}%
+ \reencodefont{8r}{\fromafm{ptmbi8a}}}
+\transformfont{jtmbo8rv}{\slantfont{\int{slant}}%
+ \fromany{jtmb8rv}}
+% \end{macrocode}
+%
+% Same with math fonts. Note that Dov wanted medium weight
+% mathematical fonts \emph{not} extended. We reverse this decision.
+% Note that |rblmi| does not have non-Greek letters, so we call its
+% encoding |7z| instead of |7m|
+% \begin{macrocode}
+%\transformfont{jtmr7voe}{\fromafm{blex}}
+\transformfont{jtmr7yoe}{\xscalefont{\int{extendedscale}}\fromafm{blsy}}
+\transformfont{jtmri7ze}{\xscalefont{\int{extendedscale}}\fromafm{rblmi}}
+% \end{macrocode}
+%
+%
+% There is no hook in |fontinst.sty| for writing our own preamble to
+% |.fd| file. However, we need to add scaling commands to the
+% preamble. OK, we will patch fontinst:
+% \begin{macrocode}
+\fontinstcc
+\def\fd_family#1#2#3{
+ \a_toks{#3}
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1#2.fd}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~Filename:~\lowercase_file}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using~fontinst~v\fontinstversion}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~
+ DIRECTORY}
+ \out_line{}
+ \out_line{\string\ProvidesFile{\lowercase_file}}
+ \out_lline{[
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day\space
+ Fontinst~v\fontinstversion\space
+ font~definitions~for~#1/#2.
+ ]}
+ \out_line{}
+% \end{macrocode}
+% Here is our patch:
+% \begin{macrocode}
+ \out_line{\string\expandafter\string\ifx\string\csname\space
+ Jtms@scale\string\endcsname\string\relax}
+ \out_line{\space\string\let\string\Jtms@@scale\string\@empty}
+ \out_line{\string\else}
+ \out_line{\space\string\edef\string\Jtms@@scale\left_brace_char
+ s*[\string\csname\space Jtms@scale\string\endcsname]
+ \right_brace_char\percent_char}
+ \out_line{\string\fi\percent_char}
+ \out_line{}
+% \end{macrocode}
+% End of the patch.
+% \begin{macrocode}
+ \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}}
+ {
+ \csname #1-#2\endcsname
+ \out_line{}
+ \let\do_shape=\substitute_shape
+ \csname #1-#2\endcsname
+ \let\do_shape=\remove_shape
+ \csname #1-#2\endcsname
+ }
+ \x_cs\g_let{#1-#2}\x_relax
+ \out_line{}
+ \out_line{\string\endinput}
+ \close_out{Font~definitions}
+}
+\normalcc
+% \end{macrocode}
+%
+% Now we are ready to install fonts. Note that bold fonts here are
+% not extended, so we use standard Times fonts for bold.
+%
+% First, |OT1|:
+% \begin{macrocode}
+\installfonts
+\installfamily{OT1}{jtm}{\skewchar\font=127}
+\installfont{jtmr7tc}{jtmr8rc,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{c}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmr7te}{jtmr8re,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{m}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri7te}{jtmri8re,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{m}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro7te}{jtmro8re,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{m}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmrc7te}{jtmr8re,jtmri7ze,newlatin,jamot1hax}{ot1c}{OT1}{jtm}{m}{sc}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmb7t}{OT1}{jtm}{b}{n}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbi7t}{OT1}{jtm}{b}{it}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbo7t}{OT1}{jtm}{b}{sl}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbc7t}{OT1}{jtm}{b}{sc}{
+ <->\string\Jtms@@scale}
+\installfont{jtmr7tw}{jtmr8rw,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{x}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri7tw}{jtmri8rw,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{x}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro7tw}{jtmro8rw,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{x}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmrc7tw}{jtmr8rw,jtmri7ze,newlatin,jamot1hax}{ot1c}{OT1}{jtm}{x}{sc}{
+ <->\string\Jtms@@scale}
+\installfont{jtmb7tv}{jtmb8rv,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{bx}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbi7tv}{jtmbi8rv,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{bx}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbo7tv}{jtmbo8rv,jtmri7ze,newlatin,jamot1hax}{ot1}{OT1}{jtm}{bx}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbc7tv}{jtmb8rv,jtmri7ze,newlatin,jamot1hax}{ot1c}{OT1}{jtm}{bx}{sc}{
+ <->\string\Jtms@@scale}
+% \end{macrocode}
+%
+% Then |T1|
+% \begin{macrocode}
+\installfamily{T1}{jtm}{}
+\installfont{jtmr8tc}{jtmr8rc,jtmri7ze,newlatin}{t1}{T1}{jtm}{c}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmr8te}{jtmr8re,jtmri7ze,newlatin,jtmri7ze}{t1}{T1}{jtm}{m}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri8te}{jtmri8re,jtmri7ze,newlatin,jtmri7ze}{t1}{T1}{jtm}{m}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro8te}{jtmro8re,jtmri7ze,newlatin}{t1}{T1}{jtm}{m}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmrc8te}{jtmr8re,jtmri7ze,newlatin}{t1c}{T1}{jtm}{m}{sc}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmb8t}{T1}{jtm}{b}{n}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbi8t}{T1}{jtm}{b}{it}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbo8t}{T1}{jtm}{b}{sl}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbc8t}{T1}{jtm}{b}{sc}{
+ <->\string\Jtms@@scale}
+\installfont{jtmr8tw}{jtmr8rw,jtmri7ze,newlatin}{t1}{T1}{jtm}{x}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri8tw}{jtmri8rw,jtmri7ze,newlatin}{t1}{T1}{jtm}{x}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro8tw}{jtmro8rw,jtmri7ze,newlatin}{t1}{T1}{jtm}{x}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmrc8tw}{jtmr8rw,jtmri7ze,newlatin}{t1c}{T1}{jtm}{x}{sc}{
+ <->\string\Jtms@@scale}
+\installfont{jtmb8tv}{jtmb8rv,jtmri7ze,newlatin}{t1}{T1}{jtm}{bx}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbi8tv}{jtmbi8rv,jtmri7ze,newlatin}{t1}{T1}{jtm}{bx}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbo8tv}{jtmbo8rv,jtmri7ze,newlatin}{t1}{T1}{jtm}{bx}{sl}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbc8tv}{jtmb8rv,jtmri7ze,newlatin}{t1c}{T1}{jtm}{bx}{sc}{
+ <->\string\Jtms@@scale}
+% \end{macrocode}
+%
+% Then |TS1|. We do not fake small caps here, so |textcomp| can take
+% (faked) |\texteuro| from normal fonts.
+% \begin{macrocode}
+\installfamily{TS1}{jtm}{}
+\installfont{jtmr8cc}{jtmr8rc,textcomp}{ts1}{TS1}{jtm}{c}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmr8ce}{jtmr8re,textcomp,jtmri7ze}{ts1}{TS1}{jtm}{m}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri8ce}{jtmri8re,textcomp,jtmri7ze}{ts1}{TS1}{jtm}{m}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro8ce}{jtmro8re,textcomp}{ts1}{TS1}{jtm}{m}{sl}{
+ <->\string\Jtms@@scale}
+%\installfont{jtmrc8te}{TS1}{jtm}{m}{sc}{
+% <->\string\Jtms@@scale}
+\installfontas{ptmb8c}{TS1}{jtm}{b}{n}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbi8c}{TS1}{jtm}{b}{it}{
+ <->\string\Jtms@@scale}
+\installfontas{ptmbo8c}{TS1}{jtm}{b}{sl}{
+ <->\string\Jtms@@scale}
+%\installfontas{ptmbc8t}{TS1}{jtm}{b}{sc}{
+% <->\string\Jtms@@scale}
+\installfont{jtmr8cw}{jtmr8rw,textcomp}{ts1}{TS1}{jtm}{x}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmri8cw}{jtmri8rw,textcomp}{ts1}{TS1}{jtm}{x}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmro8cw}{jtmro8rw,textcomp}{ts1}{TS1}{jtm}{x}{sl}{
+ <->\string\Jtms@@scale}
+%\installfontas{jtmrc8tw}{TS1}{jtm}{x}{sc}{
+% <->\string\Jtms@@scale}
+\installfont{jtmb8cv}{jtmb8rv,textcomp}{ts1}{TS1}{jtm}{bx}{n}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbi8cv}{jtmbi8rv,textcomp}{ts1}{TS1}{jtm}{bx}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbo8cv}{jtmbo8rv,textcomp}{ts1}{TS1}{jtm}{bx}{sl}{
+ <->\string\Jtms@@scale}
+%\installfontas{jtmbc8tv}{TS1}{jtm}{bx}{sc}{
+% <->\string\Jtms@@scale}
+% \end{macrocode}
+%
+%
+% Now math fonts. We add italics to the |OML| fonts. Since there are
+% some fonts missing in the Beleek smybols fonts, we reset them and
+% take fake fonts from Computer Modern
+% \changes{v1.1}{2009/10/14}{Added skewchar parameters}
+% \begin{macrocode}
+\installfamily{OML}{jtm}{\skewchar\font=127}
+\installfont{jtmri7me}{jtmri7ze,jtmri7te,cmmi10,jamomlhax}{oml}{OML}{jtm}{m}{it}{
+ <->\string\Jtms@@scale}
+\installfont{jtmbi7me}{jtmbi7tv,jtmri7ze,cmmib10,jamomlhax}{oml}{OML}{jtm}{bx}{it}{
+ <->\string\Jtms@@scale}
+\installfamily{OMS}{jtm}{\skewchar\font=48}
+\installfont{jtmr7ye}{jtmr7yoe,cmsy10}{oms}{OMS}{jtm}{m}{n}{
+ <->\string\Jtms@@scale}
+% \end{macrocode}
+%
+%
+% And the end:
+% \begin{macrocode}
+\endinstallfonts
+\endrecordtransforms
+\bye
+%</drv>
+% \end{macrocode}
+%
+%\subsection{Fontmap Generation}
+%\label{sec:fontmap}
+%
+% This is a standard procedure~\cite{fontinstallationguide}. We
+% use URW Times files, because |pdftex| cannot extend fonts unless
+% they are embedded.
+% \begin{macrocode}
+%<*map>
+\input finstmsc.sty
+\resetstr{PSfontsuffix}{.pfb}
+\specifypsfont{Times-Roman}{\download{utmr8a.pfb}}
+\specifypsfont{Times-Italic}{\download{utmri8a.pfb}}
+\specifypsfont{Times-Bold}{\download{utmb8a.pfb}}
+\specifypsfont{Times-BoldItalic}{\download{utmbi8a.pfb}}
+%\etxtoenc{omx}{texmext}
+%\enctoetx{texmext}{omx}
+\adddriver{dvips}{jtm.map}
+\input rec.tex
+\donedrivers
+\bye
+%</map>
+% \end{macrocode}
+%
+%\subsection{Style File}
+%\label{sec:style}
+%
+% First, define all options:
+% \begin{macrocode}
+%<*style>
+\RequirePackage{xkeyval}
+\DeclareOptionX{scaled}{\gdef\Jtms@scale{#1}}
+\DeclareOptionX{sfscaled}{\gdef\Hv@scale{#1}}
+\DeclareOptionX{amsfontsscaled}{\gdef\AmsFonts@scale{#1}}
+\DeclareOptionX{sffamily}{\gdef\sfdefault{#1}}
+\DeclareOptionX{ttfamily}{\gdef\ttdefault{#1}}
+\ExecuteOptionsX{scaled=1.05,sfscaled=0.94,amsfontsscaled=1.05,sffamily=phv,%
+ ttfamily=pcr}
+\ProcessOptionsX
+\edef\AmsFonts@@scale{*[\csname AmsFonts@scale\endcsname]}
+% \end{macrocode}
+%
+% Now we make |jtm| the text default.
+% \begin{macrocode}
+\def\rmdefault{jtm}
+% \end{macrocode}
+%
+%
+% \changes{v1.1}{2009/10/14}{Used math design for large symbols}
+% Math is more complex. We follow mostly~\cite{Hoenig98:TeXUnbound}.
+% Note that |blex| font is broken, so we use math design font
+% |cmex| for large symbols.
+% \begin{macrocode}
+\DeclareSymbolFont{operators} {OT1}{jtm}{m}{n}
+\DeclareSymbolFont{letters} {OML}{jtm}{m}{it}
+\DeclareSymbolFont{symbols} {OMS}{jtm}{m}{n}
+\DeclareSymbolFont{largesymbols} {OMX}{cmex}{m}{n}
+\SetSymbolFont{operators}{bold} {OT1}{jtm}{bx}{n}
+\SetSymbolFont{letters}{bold} {OML}{jtm}{bx}{it}
+\SetMathAlphabet{\mathrm}{normal}{OT1}{\rmdefault}{m}{n}
+\SetMathAlphabet{\mathbf}{normal}{OT1}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathit}{normal}{OT1}{\rmdefault}{m}{it}
+\SetMathAlphabet{\mathsf}{normal}{OT1}{\sfdefault}{m}{n}
+\SetMathAlphabet{\mathtt}{normal}{OT1}{\ttdefault}{m}{n}
+\DeclareMathAlphabet{\mathbold} {OT1}{jtm}{bx}{it}
+\DeclareMathSymbol{\nabla}{\mathord}{symbols}{114}
+\DeclareMathSymbol{\Gamma}{\mathalpha}{operators}{0}
+\DeclareMathSymbol{\Delta}{\mathalpha}{operators}{1}
+\DeclareMathSymbol{\Theta}{\mathalpha}{operators}{2}
+\DeclareMathSymbol{\Lambda}{\mathalpha}{operators}{3}
+\DeclareMathSymbol{\Xi}{\mathalpha}{operators}{4}
+\DeclareMathSymbol{\Pi}{\mathalpha}{operators}{5}
+\DeclareMathSymbol{\Sigma}{\mathalpha}{operators}{6}
+\DeclareMathSymbol{\Upsilon}{\mathalpha}{operators}{7}
+\DeclareMathSymbol{\Phi}{\mathalpha}{operators}{8}
+\DeclareMathSymbol{\Psi}{\mathalpha}{operators}{9}
+\DeclareMathSymbol{\Omega}{\mathalpha}{operators}{10}
+% \end{macrocode}
+%
+%
+% We change the scale of amsfonts:
+% \begin{macrocode}
+\RequirePackage{eucal,amsfonts}
+\DeclareFontFamily{U}{msa}{}
+\DeclareFontShape{U}{msa}{m}{n}{%
+ <5><6><7><8><9> gen\AmsFonts@@scale msam%
+ <10><10.95><12><14.4><17.28><20.74><24.88> s\AmsFonts@@scale msam10%
+ }{}
+\DeclareFontFamily{U}{msb}{}
+\DeclareFontShape{U}{msb}{m}{n}{%
+ <5><6><7><8><9>gen\AmsFonts@@scale msbm%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale msbm10%
+ }{}
+\DeclareFontFamily{U}{euf}{}
+\DeclareFontShape{U}{euf}{m}{n}{%
+ <5><6><7><8><9>gen\AmsFonts@@scale eufm%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale eufm10%
+ }{}
+\DeclareFontShape{U}{euf}{b}{n}{%
+ <5><6><7><8><9>gen\AmsFonts@@scale eufb%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale eufb10%
+ }{}
+\DeclareFontFamily{U}{euex}{}
+\DeclareFontShape{U}{euex}{m}{n}{%
+ <5-8>sfixed\AmsFonts@@scale euex7<8><9>gen\AmsFonts@@scale euex%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale euex10%
+ }{}
+\DeclareFontFamily{U}{eus}{\skewchar\font'60}
+\DeclareFontShape{U}{eus}{m}{n}{%
+ <5><6><7><8><9>gen\AmsFonts@@scale eusm%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale eusm10%
+ }{}
+\DeclareFontShape{U}{eus}{b}{n}{%
+ <5><6><7><8><9>gen\AmsFonts@@scale eusb%
+ <10><10.95><12><14.4><17.28><20.74><24.88>s\AmsFonts@@scale eusb10%
+ }{}
+% \end{macrocode}
+%
+% \begin{macro}{\hbar}
+% \changes{v1.1}{2009/10/14}{Added macro}
+% Redefine \verb|\hbar|, so it is like $h$ (\verb|amsmath| defines a
+% different shape). The trick is
+% from~\cite{Schmidt04:PSNFSS9.2}
+% \begin{macrocode}
+\DeclareRobustCommand\hbar{{%
+ \dimen@.04em%
+ \dimen@ii.06em%
+ \def\@tempa##1##2{{%
+ \lower##1\dimen@\rlap{\kern##1\dimen@ii\the##2 0\char22}}}%
+ \mathchoice\@tempa\@ne\textfont
+ \@tempa\@ne\textfont
+ \@tempa\defaultscriptratio\scriptfont
+ \@tempa\defaultscriptscriptratio\scriptscriptfont
+ h}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</style>
+% \end{macrocode}
+%
+%
+%\subsection{Some Auxiliary Files}
+%\label{sec:aux}
+%
+% \changes{v1.2}{2010/04/10}{Added jamot1hax.mtx}
+%
+% In the OT1 encoding we want upcase Greek
+% \begin{macrocode}
+%<*jamot1hax>
+\relax
+
+Upcase Greek for OT1
+
+\metrics
+
+\unsetglyph{Gamma}
+\setglyph{Gamma}
+\glyph{Gamma1}{1000}
+\endsetglyph
+\unsetglyph{Delta}
+\setglyph{Delta}
+\glyph{Delta1}{1000}
+\endsetglyph
+\unsetglyph{Theta}
+\setglyph{Theta}
+\glyph{Theta1}{1000}
+\endsetglyph
+\unsetglyph{Theta}
+\setglyph{Theta}
+\glyph{Theta1}{1000}
+\endsetglyph
+\unsetglyph{Lambda}
+\setglyph{Lambda}
+\glyph{Lambda1}{1000}
+\endsetglyph
+\unsetglyph{Xi}
+\setglyph{Xi}
+\glyph{Xi1}{1000}
+\endsetglyph
+\unsetglyph{Pi}
+\setglyph{Pi}
+\glyph{Pi1}{1000}
+\endsetglyph
+\unsetglyph{Sigma}
+\setglyph{Sigma}
+\glyph{Sigma1}{1000}
+\endsetglyph
+\unsetglyph{Upsilon}
+\setglyph{Upsilon}
+\glyph{Upsilon1}{1000}
+\endsetglyph
+\unsetglyph{Phi}
+\setglyph{Phi}
+\glyph{Phi1}{1000}
+\endsetglyph
+\unsetglyph{Psi}
+\setglyph{Psi}
+\glyph{Psi1}{1000}
+\endsetglyph
+\unsetglyph{Omega}
+\setglyph{Omega}
+\glyph{Omega1}{1000}
+\endsetglyph
+
+
+\endmetrics
+%</jamot1hax>
+% \end{macrocode}
+%
+%
+% \changes{v1.2}{2010/04/10}{Added jamomlhax.mtx}
+% This main idea is taken from~\cite{Hoenig98:MathInst}. We changed
+% the parameters, of course.
+% \begin{macrocode}
+%<*jamomlhax>
+\relax
+
+These hacks help adjust the positioning of accents on italic characters.
+
+\metrics
+
+% \skewkern sets a skewchar kern, assuming that tie is the skewchar.
+\setcommand\skewkern#1#2{\setkern{#1}{tie}{#2}}
+
+% We need to check that tie is defined
+\ifisglyph{tie}\then\else\setglyph{tie}\endsetglyph\fi
+
+
+\skewkern{A}{75}
+\skewkern{B}{100}
+\skewkern{C}{100}
+\skewkern{D}{50}
+\skewkern{E}{75}
+\skewkern{F}{75}
+\skewkern{G}{100}
+\skewkern{H}{50}
+\skewkern{I}{100}
+\skewkern{J}{100}
+\skewkern{K}{75}
+\skewkern{M}{100}
+\skewkern{N}{50}
+\skewkern{O}{100}
+\skewkern{P}{100}
+\skewkern{Q}{100}
+\skewkern{R}{100}
+\skewkern{S}{100}
+\skewkern{T}{50}
+\skewkern{U}{50}
+\skewkern{V}{50}
+\skewkern{W}{50}
+\skewkern{X}{50}
+\skewkern{Y}{50}
+\skewkern{Z}{50}
+\skewkern{a}{75}
+\skewkern{c}{75}
+\skewkern{d}{100}
+\skewkern{e}{75}
+\skewkern{f}{140}
+\skewkern{g}{75}
+\skewkern{i}{75}
+\skewkern{j}{75}
+\skewkern{l}{100}
+\skewkern{m}{50}
+\skewkern{n}{50}
+\skewkern{o}{75}
+\skewkern{p}{75}
+\skewkern{q}{75}
+\skewkern{r}{50}
+\skewkern{s}{100}
+\skewkern{t}{50}
+\skewkern{u}{75}
+\skewkern{v}{-150}
+\skewkern{w}{75}
+\skewkern{x}{50}
+\skewkern{y}{50}
+\skewkern{z}{50}
+\skewkern{dotlessi}{50}
+\skewkern{dotlessj}{120}
+\skewkern{Gamma}{100}
+\skewkern{Delta}{200}
+\skewkern{Theta}{100}
+\skewkern{Lambda}{200}
+\skewkern{Xi}{125}
+\skewkern{Pi}{100}
+\skewkern{Sigma}{100}
+\skewkern{Upsilon}{100}
+\skewkern{Phi}{100}
+\skewkern{Psi}{50}
+\skewkern{Omega}{100}
+%\skewkern{alpha}{50}
+\skewkern{beta}{75}
+\skewkern{gamma}{25}
+\skewkern{delta}{100}
+\skewkern{epsilon1}{75}
+\skewkern{zeta}{50}
+\skewkern{eta}{25}
+\skewkern{theta}{50}
+%\skewkern{iota}{50}
+%\skewkern{kappa}{50}
+%\skewkern{lambda}{50}
+\skewkern{mu}{35}
+%\skewkern{nu}{50}
+\skewkern{xi}{75}
+%\skewkern{pi}{50}
+\skewkern{rho}{75}
+\skewkern{sigma}{25}
+\skewkern{tau}{25}
+% \skewkern{upsilon}{-25}
+\skewkern{phi}{125}
+\skewkern{chi}{50}
+\skewkern{psi}{50}
+\skewkern{omega}{25}
+\skewkern{epsilon}{50}
+%\skewkern{theta1}{50}
+%\skewkern{omega1}{50}
+\skewkern{rho1}{50}
+%\skewkern{sigma1}{75}
+\skewkern{lscript}{75}
+\skewkern{weierstrass}{60}
+
+\endmetrics
+%</jamomlhax>
+% \end{macrocode}
+%
+%
+%
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput