summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/misc/isf.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex209/contrib/misc/isf.sty')
-rw-r--r--macros/latex209/contrib/misc/isf.sty95
1 files changed, 95 insertions, 0 deletions
diff --git a/macros/latex209/contrib/misc/isf.sty b/macros/latex209/contrib/misc/isf.sty
new file mode 100644
index 0000000000..6c30a2d72a
--- /dev/null
+++ b/macros/latex209/contrib/misc/isf.sty
@@ -0,0 +1,95 @@
+% Save file as: ISF.STY Source: FILESERV@SHSU.BITNET
+% Provide access to the italic san serif type style for LaTeX. Once you
+% have included "isf" as a style option, you can use the \isf command to
+% select the italic san serif style, just as you would select the usual
+% italic style with \it, EXCEPT:
+%
+% The various fonts defined here are all "loaded on demand". As
+% discussed in the LaTeX book, Section C.14.4, a loaded on demand
+% font is subject to two restrictions when used in math mode:
+%
+% - The font must be used OUTSIDE of math mode before it is used
+% INSIDE of math mode. The \load command can be used to get
+% around this restriction.
+%
+% - Only a single font size is available within math mode - the
+% display, text, script and scriptscriptfonts will all be the
+% same. This can be avoided ONLY by changing the definitions
+% given here to pre-load the appropriate fonts; see LFONTS.TEX
+% for further information. (Alternatively, \@getfont could be
+% made more clever.) Note that pre-loading the fonts could cause
+% you to fill font space with fonts you never really use.
+%
+% In order to allow other style files that need access to \isf to input this
+% file safely, it is designed so that an attempt to input it a second time -
+% or, more exactly, when command "\isf" is already defined - is ignored.
+%
+% This file can be adapted easily to define other font type styles. The real
+% limit is likely to come from the requirement that each style so defined must
+% be given a unique family number - TeX only supports 16 families and LaTeX
+% as usually configured already uses 10. The right way to avoid this problem
+% is to modify \@getfont so that it ignores a family number of -1. Fonts
+% so specified would not be usable in math mode, but that's no big deal; you
+% don't WANT to use tons of non-math fonts in math mode anyway.
+%
+% As currently written, this file assumes that you have boldface san serif
+% fonts available at the following point sizes:
+%
+% lcmssi8
+% lcmssi8 at 9pt
+% cmssi10
+% cmssi10 at 11pt
+% cmssi10 at 12pt
+% cmssi10 at 17pt
+% cmssi10 at 20pt
+% cmssi10 at 25pt
+%
+% All but the last of these should be commonly available. I'm not sure about
+% the last one; LFONTS.TEX does not assume the availability of ANY 25 pt fonts
+% other than Roman. If necessary, change the definition of \isfxxv@ to
+% \@subfont\isf\it. (Alternatively, if you have italic sans serif fonts
+% at sizes smaller than 8pt, you might want to change the definitions of
+% \isfv@, \isfvi@, and \isfvii@.)
+%
+% Technical note: It is possible to do without the \isf<size>@ macros by
+% including their contents, with a whole bunch of \@prtct's, within the
+% \@addfontinfo definitions. This is a pain to do, and probably doesn't end
+% up saving any space anyway. This way costs you a bunch of extra macros,
+% but it's a LOT easier to understand!
+%
+% Written by George D. Greenwade (BED_GDG@SHSU.BITMET) as a variation of
+% BSF.STY Written by Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)
+
+\expandafter\ifx\csname isf\endcsname\relax %Once only, please
+% Note: It's a pain to use \@ifundefined here - we don't want to pass the
+% rest of the definitions as an argument, but we can't easily use \endinput
+% since, with docsty, we can't control where the line breaks occur.
+
+\typeout{Document Option `isf' 25 August 1989 (GDG)}
+\def\isf{\protect\pisf}
+\newfam\sfifam
+\@addfontinfo\@vpt{\@prtct\isfv@}
+ \def\isfv@{\def\pisf{\@subfont\isf\it}}
+\@addfontinfo\@vipt{\@prtct\isfvi@}
+ \def\isfvi@{\def\pisf{\@subfont\isf\it}}
+\@addfontinfo\@viipt{\@prtct\isfvii@}
+ \def\isfvii@{\def\pisf{\@subfont\isf\it}}
+\@addfontinfo\@viiipt{\@prtct\isfviii@}
+ \def\isfviii@{\def\pisf{\@getfont\pisf\sfifam\@viiipt{lsmssi8}}}
+\@addfontinfo\@ixpt{\@prtct\isfx@}
+ \def\isfx@{\def\pisf{\@getfont\pisf\sfifam\@ixpt{lsmssi8\@halfmag}}}
+\@addfontinfo\@xpt{\@prtct\isfx@}
+ \def\isfx@{\def\pisf{\@getfont\pisf\sfifam\@xpt{cmssi10}}}
+\@addfontinfo\@xipt{\@prtct\isfxi@}
+ \def\isfxi@{\def\pisf{\@getfont\pisf\sfifam\@xipt{cmssi10\@halfmag}}}
+\@addfontinfo\@xiipt{\@prtct\isfxii@}
+ \def\isfxii@{\def\pisf{\@getfont\pisf\sfifam\@xiipt{cmssi10\@magscale1}}}
+\@addfontinfo\@xivpt{\@prtct\isfxiv@}
+ \def\isfxiv@{\def\pisf{\@getfont\pisf\sfifam\@xivpt{cmssi10\@magscale2}}}
+\@addfontinfo\@xviipt{\@prtct\isfxvii@}
+ \def\isfxvii@{\def\pisf{\@getfont\pisf\sfifam\@xviipt{cmssi10\@magscale3}}}
+\@addfontinfo\@xxpt{\@prtct\isfxx@}
+ \def\isfxx@{\def\pisf{\@getfont\pisf\sfifam\@xxpt{cmssi10\@magscale4}}}
+\@addfontinfo\@xxvpt{\@prtct\isfxxv@}
+ \def\isfxxv@{\def\pisf{\@getfont\pisf\sfifam\@xxvpt{cmssi10\@magscale5}}}
+\fi