diff options
author | Karl Berry <karl@freefriends.org> | 2009-11-28 01:05:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-11-28 01:05:10 +0000 |
commit | 6b73d01df72c987e63321e8a8a8dd1be840827cd (patch) | |
tree | e5391c65c74b53e7c4d77c16c27546565264a740 /Master/texmf-dist/tex/plain | |
parent | c640640a7c7fd4928b8ecff3af70ce914c60807c (diff) |
rm jsmisc, renamed to js-misc
git-svn-id: svn://tug.org/texlive/trunk@16212 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/plain')
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/cassette.tex | 166 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/idverb.tex | 215 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/js-misc.tex | 244 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/schild.tex | 84 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/sperr.tex | 116 | ||||
-rw-r--r-- | Master/texmf-dist/tex/plain/jsmisc/xfig.tex | 626 |
6 files changed, 0 insertions, 1451 deletions
diff --git a/Master/texmf-dist/tex/plain/jsmisc/cassette.tex b/Master/texmf-dist/tex/plain/jsmisc/cassette.tex deleted file mode 100644 index 828260153bf..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/cassette.tex +++ /dev/null @@ -1,166 +0,0 @@ -% $Id: cassette.tex,v 1.2 1995/03/16 01:17:54 schrod Exp $ -%-------------------------------------------------------- -% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>. -% Put into public domain. - - -\catcode`\@=11 - -\font\norm=cmss8 -\font\intfont=cmssi8 -\font\titfont@page=cmcsc10 scaled 800 -\font\titfont=cmss10 -\font\titintfont=cmssi10 -\font\cassfont=cmcsc10 - -\newdimen\colwidth \colwidth=50 true mm -\newdimen\backheight \backheight=10 true mm -\newdimen\titheight \titheight=14 true mm -\newdimen\pagheight \pagheight=66 true mm - -\def\@seite#1{% - \global\setbox\@page=\vbox{\hsize=\colwidth - \everypar={\global\hangindent=1em }% - \vskip \tw@\p@ - #1\endgraf - \vfil - }% - } - -\def\cnt#1:{[#1]} -\def\von#1:{{\intfont #1\/}:\penalty -100 } % <== Space! -\def\nl{\hfill\break} - -\def\@titel#1{% - \global\setbox\@title=\vbox{\hsize=\colwidth - \let\intfont=\titintfont % Font fuer Interpret - \vfill - \unvbox\@title - \titfont #1\endgraf - \vfill - }% - {\titfont@page - \def\von##1:{\uppercase{##1}:\penalty -100 }% % <== Space! - #1% - }} - - -\newbox\@seitea -\newbox\@seiteb -\newbox\@titela -\newbox\@titelb -\def\seitea{\let\@page=\@seitea \let\titel=\titela \obeylines \@seite} -\def\seiteb{\let\@page=\@seiteb \let\titel=\titelb \obeylines \@seite} -\def\titela{\let\@title=\@titela \@titel} -\def\titelb{\let\@title=\@titelb \@titel} - -\def\titelcass#1{% - \global\setbox\@titela=\vbox{\hsize=\colwidth - \vfill - \unvbox\@titela - \titfont #1\endgraf - \vfill - }% - } - - - - -\def\begincassette#1{% - \def\cassname{#1}% - \setbox\@seitea\vbox{\hrule width\colwidth height\z@ depth\z@ \vfil}% - \setbox\@seiteb\vbox{\hrule width\colwidth height\z@ depth\z@ \vfil}% - \setbox\@titela\vbox{\hrule width\colwidth height\z@ depth\z@ \vfil}% - \setbox\@titelb\vbox{\hrule width\colwidth height\z@ depth\z@ \vfil}% - \splittopskip\baselineskip - } - -\newif\if@text@left@ -\def\endcassette{% - \hbox{% - \vrule - \vbox{% - \hrule - \vbox to \backheight{\hsize2\colwidth \advance\hsize by 4.4\p@ - \vfill - \centerline{\cassfont \cassname}% - \vfill - }% - \hrule - \col{\titheight}{@titel}% - \hrule - \loop - \global\@text@left@false - \one@page - \if@text@left@ \repeat - }% - \vrule - }% - } -\def\one@page{% - \col{\pagheight}{@seite}% - \hrule - }% -\def\col#1#2{% - \hbox{% - \hskip \p@ - \split@col{#2a}{#1}% - \hskip \p@ - \vrule - \hskip \p@ - \split@col{#2b}{#1}% - \hskip \p@ - }% - } -\def\split@col#1#2{% - \expandafter \ifvoid \csname #1\endcsname - \vbox to #2{\hrule width\colwidth height\z@ depth\z@ \vfil}% - \else - \vbox to #2{\hsize\colwidth - \setbox\z@ \vsplit \csname #1\endcsname to #2\relax - \unvbox\z@ - \vskip 2pt plus 1fil minus 2pt - }% - \expandafter \ifvoid \csname #1\endcsname - \else \global\@text@left@true - \fi - \fi - } - - -\norm \baselineskip=9pt \lineskip=0pt \lineskiplimit=0pt -\parindent=\z@ \parskip=\tw@\p@ minus \tw@\p@ -\rightskip=\z@ plus 0.7\colwidth \linepenalty=100 -\r@ggedbottomtrue -\frenchspacing -\nopagenumbers - - -\endinput - - - -% ============================================================ -% -% $Log: cassette.tex,v $ -% Revision 1.2 1995/03/16 01:17:54 schrod -% Support for magnified typesetting. -% Might be more changes as well, they looked sensible. -% -% Revision 1.1 1995/03/13 23:18:10 schrod -% Started to manage this package with CVS. Made minor code cleanup. -% - -% -% Pre-CVS Log: -% -% 87-09-20 js Initial revision - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Local Variables: -mode: plain-TeX -TeX-master: t -TeX-brace-indent-level: 4 -End: diff --git a/Master/texmf-dist/tex/plain/jsmisc/idverb.tex b/Master/texmf-dist/tex/plain/jsmisc/idverb.tex deleted file mode 100644 index f40dbf860cb..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/idverb.tex +++ /dev/null @@ -1,215 +0,0 @@ -% $Id: idverb.doc,v 1.1 1995/03/13 23:18:11 schrod Exp $ -%---------------------------------------------------------------------- -% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>. -% Copyright conditions see below. - -% -% idverb.doc --- typeset identifiers verbatim -% -% [plain TeX in MAKEPROG] -% (history at end) - - -%%%% -%%%% -%%%% These TeX macros were documented with the documentation system -%%%% MAKEPROG and automatically converted to the current form. -%%%% If you have MAKEPROG available you may transform it back to -%%%% the original input: Remove every occurence of three percents -%%%% and one optional blank from the beginning of a line and remove -%%%% every line which starts with four percents. The following lex -%%%% program will do this: -%%%% -%%%% %% -%%%% -%%%% ^%%%\ ? ; -%%%% ^%%%%.*\n ; -%%%% -%%%% If you just want to print the documentation you may fetch -%%%% the archive print-makeprog.tar.Z from ftp.th-darmstadt.de (directory -%%%% pub/tex/latex). It contains *all* used styles -- but beware, they -%%%% may not be in a documented form... -%%%% -%%%% -%%% \input progdoc - -%%% \input names.sty -%%% \def\v{{\tt \vbar\/}} - - - -%%% \title{Identifiers Verbatim \`a la {\ttitlefont WEB}} - - - -%%% \chap Introduction. - -%%% This macro files allows to write identifiers in a \WEB{} like style, -%%% i.e.\ as {\tt \origvert identifier\origvert\/}. The identifiers are -%%% typeset verbatim in the monospace type face. The macros -%%% |\makevertother| and |\makevertactive| are available to activate and -%%% deactivate the special behaviour of the vertical bar. - - -%%% \sect This macro file uses the namespace |idv|. - -%%% \beginprog -\ifx \IdvLoaded\undefined - \def\IdvLoaded{$Revision: 1.1 $} -\else \endinput \fi % <-- one line! -%%% \endprog - - -%%% \sect These macros are supported. Send bug reports, comments and -%%% repairs. - -%%% The reference version may be retrieved via anonymous ftp from -%%% |ftp.th-darmstadt.de| [130.83.47.112], directory |pub/tex/plain|. It's -%%% placed there as a gzipped tar file. (The information on the -%%% IP~number is dated March 13, 1995. It might have changed, also this is very -%%% unlikely. Use your friendly nameserver.) - - -%%% \sect This is freely distributable software; you can redistribute it -%%% and/or modify it under the terms of the GNU General Public License as -%%% published by the Free Software Foundation; either version~2 of the -%%% License, or (at your option) any later version. - -%%% This software is distributed in the hope that it will be useful, but -%%% {\bf without any warranty\/}; without even the implied warranty of -%%% {\bf merchantability\/} or {\bf fitness for a particular purpose}. See -%%% the GNU General Public License for more details. - -%%% You should have received a copy of the GNU General Public License in -%%% the file |License| along with this package; if not, write to the Free -%%% Software Foundation, Inc., 675~Mass Ave, Cambridge, MA~02139,~USA. - - -%%% \sect But before we start we declare some shorthands for category -%%% codes. By declaring the at sign~(`|@|') as well as the -%%% underscore~`(|_|)' as letters we can use them in our macros. (I agree -%%% with D.~Knuth that |\identifier_several_words_long| is more readable -%%% than |\IdentifierSeveralWordsLong| and in every case better than -%%% |\p@@@s|.) With the at sign we can use the ``private'' Plain macros -%%% and with the underscore we can make our own macros more readable. But -%%% as we have to restore these category codes at the end of this macro -%%% file we store their former values in control sequences. This method is -%%% better than to use a group because not all macros have to be defined -%%% global this way. - -%%% Only the first macro file read in defines the |Cat| cseqs. - -%%% \beginprog -\ifx \CatEscape\undefined - \chardef\CatEscape=0 - \chardef\CatOpen=1 - \chardef\CatClose=2 - \chardef\CatIgnore=9 - \chardef\CatLetter=11 - \chardef\CatOther=12 - \chardef\CatActive=13 % \active of plain.tex - \chardef\CatInvalid=15 - - \chardef\CatAtCode=\catcode`\@ - \chardef\CatUsCode=\catcode`\_ -\fi - -\catcode`\@=\CatLetter % top level macro file -\catcode`\_=\CatLetter -%%% \endprog - - -%%% \sect Let's identify this macro file against the user and in the Log file. - -%%% \beginprog -\begingroup - \catcode`\$=\CatIgnore - \catcode`\:=\CatIgnore - \message{Verbatim identifiers, $Revision: 1.1 $} -\endgroup -%%% \endprog - - -%%% \sect The usual verbatim macros use |\dospecials| to change the -%%% catcode of all special characters. We have to add `\v' to this list. -%%% The old meaning is stored in |\idv_OrigDospecials|. - -%%% \beginprog -\let\idv_OrigDospecials=\dospecials -\begingroup - \def\do#1{\noexpand\do\noexpand#1} - \xdef\dospecials{\idv_OrigDospecials\do\|} -\endgroup -\let\idv_dospecials=\dospecials - -\def\makevertactive{\catcode`\|\CatActive \let\dospecials\idv_dospecials} -\def\makevertother{\catcode`\|\CatOther \let\dospecials\idv_OrigDospecials} - -\makevertactive -%%% \endprog - - -%%% \sect Now we can define `\v'. This definition is a little bit tricky, -%%% as it redefines itself to |\egroup| to close the hbox. But if the hbox -%%% is ended, `\v' is restored to its original meaning. |\origvert| is -%%% given the original meaning of `\v'. |\vbar| is the character from the -%%% current font that has the ASCII code of a vertical bar, sometimes this -%%% {\it is\/} a vertical bar. - -%%% \beginprog -\let\origvert=| -\chardef\vbar=`\| - -\def\idv_setup_verbatim{% - \def\do##1{\catcode`##1\CatOther}\idv_OrigDospecials - \parskip\z@skip \parindent\z@ - \obeylines \obeyspaces \frenchspacing - \tt - } - -\def|{% - \leavevmode - \hbox\bgroup - \let\par\space \idv_setup_verbatim - \let|\egroup - } -%%% \endprog - - -%%% \sect We are finished; -%%% restore the catcodes and prevent from following garbage. - -%%% \beginprog -\catcode`\@=\CatAtCode -\catcode`\_=\CatUsCode - -\endinput -%%% \endprog - - -%%% %% \sect {\it Acknowledgements:}\quad I would like to thank XXX - - -%%% \bye - -%%% -%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% % -%%% % $Log: idverb.doc,v $ -%%% % Revision 1.1 1995/03/13 23:18:11 schrod -%%% % Started to manage this package with CVS. Made minor code cleanup. -%%% % - -%%% % -%%% % Pre-CVS Log: -%%% % -%%% % 27 Jul 89 js Initial revision. - - -%%% -%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Local Variables: -%%% mode: plain-TeX -%%% TeX-master: t -%%% TeX-brace-indent-level: 4 -%%% End: diff --git a/Master/texmf-dist/tex/plain/jsmisc/js-misc.tex b/Master/texmf-dist/tex/plain/jsmisc/js-misc.tex deleted file mode 100644 index c39e7c257f5..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/js-misc.tex +++ /dev/null @@ -1,244 +0,0 @@ -% $Id: js-misc.tex,v 1.1 1995/03/13 23:18:12 schrod Exp $ -%-------------------------------------------------- -% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>. - -% This is a german description for cassette.tex & schild.tex. - - -% Manual fuer ``Kleine TeX-Makros, aufbauend auf PLAIN'': -% Tonbandkassetten-Schilder -% Buecherruecken-Schilder -% -% [Formate] - - -\berichtformat - -\input idverb -\def\.{$\bullet$} - - - - -\titel{}{Kleine \TeX{}-Makros}{, aufbauend auf {\tt PLAIN}} -\autor{Joachim Schrod} -\datum{Rödermark, den 08.02.88} - - - - - -\kapitel{Beschriftung von Tonband-Kassetten}{} - -Die Beschriftung von Tonband-Kassetten wird durch -|\input cassette| geladen. -Durch diese Makros werden Schilder erzeugt, die -in eine Kassettenhülle gelegt werden können. -%Jedes Schild wird auf eine einzelne Seite gedruckt. -Das Layout eines Schildes ist in Abb.~1.1 zu sehen. -Das Schild wird an den äußeren Rändern ausgeschnitten -und entlang der horizontalen Linien gefaltet. - -\abbvoll{ -{\input cassette -\let\eject=\relax -\begincassette{Kassettenname} -\titelcass{Frontseite mit Titeln} -\seitea{Musikstücke der Seite A} -\seiteb{Musikstücke der Seite B} -\endcassette -}}{Layout eines Kassettenschildes} - -\noindent Folgende Befehle erzeugen das gewünschte Layout: - -\beginitemize - -\item{\.} |\begincassette|\quad (1 Parameter)\nl -Mit diesem Befehl beginnt die Beschreibung eines Kassettenschilds. -Der Parameter ist der Name der Kassette, der in |\cassfont| -(Kapitälchen, 10pt) gesetzt wird. - -\item{\.} |\titelcass|\quad (1 Parameter)\nl -Dieser Befehl gibt den Titel der Kassette an, der auf die -Frontseite gesetzt wird. -Der Titel wird in |\titfont| (Serifenlose, 10pt) gesetzt. -Dieser Befehl ist optional, da Titel auch durch |\titel| (s.u.)\ -angegeben werden können. - -\item{\.} |\seitea|\quad (1 Parameter)\nl -Durch den Parameter von |\seitea| wird die Seite~A der -Kassette beschrieben. -Diese Beschreibung umfaßt einen optionalen Titel und eine -Folge von Musikstücken. -Sie ist zeilenorientiert, d.h.\ jeweils ein Musikstück -(mit eventuellem Interpret) steht auf einer Eingabezeile. -Wenn der Text zu lang wird, kann durch die Angabe von |%| -am Zeilenende die Folgezeile mitbenutzt werden. -Innerhalb eines Musikstücks kann durch |\nl| gezielt -umgebrochen werden, wenn man mit dem von \TeX{} gewähltem -Umbruch nicht zufrieden ist. -Die Musikstücke werden in |\norm| (Serifenlose, 8pt) gesetzt. -Dieser Befehl ist optional. -\itempar -Folgende Hilfsbefehle stehen zur Beschreibung zur Verfügung: - -{\nextitemlevel\itemskip=0pt -\item{--} |\cnt|\quad (1 Parameter, beendet durch |:|)\nl -Mit |\cnt| kann die Zählerstellung des Beginns eines -Musikstücks angegeben werden. -Die angegebene Zahl wird in eckige Klammern gesetzt. - -\item{--} |\von|\quad (1 Parameter, beendet durch |:|)\nl -Durch |\von| kann ein Interpret dem Musikstück vorgestellt werden. -Ein Beispiel für eine vollständige Angabe eines Musikstücks -kann also -$$ - \hbox{|\von Led Zeppelin: Stairway to heaven|} -$$ -sein. -Der Interpret wird in |\intfont| (Serifenlose Kursiv, 8pt) gesetzt. - -\item{--} |\titel|\quad (1 Parameter)\nl -Mit diesem Befehl kann in die Seite eine Angabe eines Titels -(z.B.~einer Schallplatte) übernommen werden. -Dieser Titel wird gleichzeitig auf die Frontseite gesetzt. -Innerhalb des Titels kann |\von| zur Angabe eines Interpreten -benutzt werden. -Dieser Befehl kann mehrmals vorkommen. -Der Titel wird auf der Seite in |\titfont@page| (Kapitälchen, 8pt) -gesetzt, wobei der Interpret in Versalien gesetzt wird. -Auf der Frontseite wird der Titel in |\titfont| (Serifenlose, 10pt) -gesetzt, wobei der Interpret in |\titintfont| (Serifenlose Kursiv, 10pt) -gesetzt wird. -\par} - -\item{\.} |\seiteb|\quad (1 Parameter)\nl -Dieser Befehl beschreibt die Seite~B der Kassette. -Die Beschreibungsmöglichkeiten sind mit denen von |\seitea| -identisch. - -\item{\.} |\endcassette|\nl -Durch diesen Befehl wird die Beschreibung des Kassettenschildes -beendet und das Kassettenschild gesetzt. -Gleichzeitig wird eine neue Seite begonnen. - -\enditemize - - - - - -\kapitel{Beschriftung von Bücherrücken}{} - -Die Beschriftung von Bücherrücken wird durch -|\input schild| geladen. -Durch diese Makrodatei ist es möglich Schilder für -Bücherrücken zu erzeugen, die anschließend auf die Bücher -geklebt werden können. -Das Layout eines Schildes ist in der Abb.~2.1 gezeigt, -es wird an den äußeren Rändern ausgeschnitten. - -\def\schild{% - \vbox{% - \hrule - \hbox{% - \vrule - \vbox to 10mm{% - \vfill - \hbox{\kern 25mm \svtnrm Name des Buches\kern 25mm}% - \vfill - }% - \vrule - }% - \hrule - }% - } - -\def\vertlen{% - \llap{% - \vbox to 10mm{% - \vfill - \hbox{{\tt \#1\/} mm }% - \vfill - } - }% - } -\def\vertmass{% - \vbox{% - \hrule width 4mm - \hbox{% - \vertlen - \kern 2mm - \vrule height 10mm - }% - \hrule width 4mm - }% - } - -\def\horizmass{% - \hbox{% - \vrule height 2mm depth 2mm - \vtop{% - \hrule width 25mm - \kern 2mm - \hbox to 25mm{\ctr{\tt \char`\\rand}}% - }% - \vrule height 2mm depth 2mm - }% - } - -\abbvoll{ - \offinterlineskip - \hbox{% - \llap{% - \vertmass - \hskip 2mm - }% - \schild - }% - \vskip 2mm - \hbox{% - \horizmass - \phantom{\svtnrm Name des Buches}% - \horizmass - }% -}{Layout eines Buchrückenschildes} - -\noindent Um das Buchrückenschild zu erzeugen, existieren -folgende Makros und Parameter: - -\beginitemize - -\item{\.} |\schild|\quad (2 Parameter)\nl -Durch dieses Makro wird ein Schild erzeugt. -Der erste Parameter ist die Höhe des Schildes, der zweite -der Text, der auf das Buchrückenschild soll. - -\item{\.} |\rand|\nl -|\rand| ist eine Dimensionsangabe, die beschreibt, wieviel -Platz zwischen dem Buchnamen und dem Rand des Schildes -horizontal verbleibt. - -\item{\.} |\namfont|\nl -In |\namfont| wird der Buchname gesetzt. - -\enditemize - - - - - -\bye - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% $Log: js-misc.tex,v $ -% Revision 1.1 1995/03/13 23:18:12 schrod -% Started to manage this package with CVS. Made minor code cleanup. -% - -% -% Pre-CVS Log: -% -% 88-02-08 js Initial revision diff --git a/Master/texmf-dist/tex/plain/jsmisc/schild.tex b/Master/texmf-dist/tex/plain/jsmisc/schild.tex deleted file mode 100644 index 9bc3ef237b3..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/schild.tex +++ /dev/null @@ -1,84 +0,0 @@ -% $Id: schild.tex,v 1.1 1995/03/13 23:18:13 schrod Exp $ -%-------------------------------------------------------- - - -% Rueckenschild fuer ein gelumbacktes Buch: -% -% \buchschild#1#2 #1 == Breite in mm #2 == Name des Buches -% -% -% Tuerschilder ITI: -% -% \tuerschild#1 #1 == Text (ueblicherweise in Grossbuchstaben) -% falls zu lang, Font auf magstep3 reduzieren - - -\newdimen\rand -\rand=25mm - -\let\buchfont=\svtnrm -\font\tuerfont=cmssdc10 scaled \magstep4 % magstep3, falls zu lang -\let\tuerschildfont=\tuerfont - - - -\def\buchschild#1#2{% - \vbox{% - \offinterlineskip - \hrule - \hbox{% - \vrule - \vbox to #1mm{% - \vfill - \hbox{\kern\rand \buchfont #2\kern\rand}% - \vfill - }% - \vrule - }% - \hrule - }% - \vskip 2cm - } - -\def\tuerschild#1{% - \vbox{% - \offinterlineskip - \hrule - \hbox{% - \vrule - \vbox to 10mm{% - \rand=15mm - \vfill - \hbox to 155mm{\kern\rand \tuerschildfont #1\hfill}% - \vfill - }% - \vrule - }% - \hrule - }% - \vskip 2cm - } - - - -\raggedbottom -\nopagenumbers - - -\endinput - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% $Log: schild.tex,v $ -% Revision 1.1 1995/03/13 23:18:13 schrod -% Started to manage this package with CVS. Made minor code cleanup. -% - -% -% Pre-CVS Log: -% -% 92-04-15 cd renamed \schild to \buchschild -% introduced \tuerschild -% 88-02-08 js first release diff --git a/Master/texmf-dist/tex/plain/jsmisc/sperr.tex b/Master/texmf-dist/tex/plain/jsmisc/sperr.tex deleted file mode 100644 index 4e6b0902301..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/sperr.tex +++ /dev/null @@ -1,116 +0,0 @@ -% $Id: sperr.tex,v 1.2 1995/04/16 23:27:04 schrod Exp $ -%--------------------------------------------------------- -% Written by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>. -% This file is distributed without any copyright restriction. - - -% -% Makro-Datei zum Sperren von Zeichenfolgen. -% -% Bitte sperrt damit keine Gemeinen. -% -% Joachim Schrod -% - -% -% Benutzung: \sperr{TEXT}{KERNING} -% Wenn in TEXT mehrere Token als eines behandelt werden sollen -% (z.B. Umlaute), m\"ussen diese Tokens geklammert werden. -% - - -\ifx \CatEscape\undefined - \chardef\CatEscape=0 - \chardef\CatOpen=1 - \chardef\CatClose=2 - \chardef\CatIgnore=9 - \chardef\CatLetter=11 - \chardef\CatOther=12 - \chardef\CatActive=13 % \active of plain.tex - \chardef\CatInvalid=15 - - \chardef\CatAtCode=\catcode`\@ - \chardef\CatUsCode=\catcode`\_ -\fi - -\catcode`\@=\CatLetter % top level macro file -\catcode`\_=\CatLetter - -\begingroup - \catcode`\$=\CatIgnore - \catcode`\:=\CatIgnore - \message{Text sperren, $Revision: 1.2 $} -\endgroup - - -\let\end_list=\relax -\edef\empty_list{\end_list} - -\def\split#1#2\end_list{% - \edef\sec_char{#1}% - \toks@={#2\end_list}% - } - -\def\do_split{% - \expandafter \split \the\toks@ \end_list - } - -\def\next_char{% - \edef\first_char{\sec_char}% - \do_split - } - - - -\newdimen\sperr_width - -\def\sperr#1#2{% % Text, Sperrbreite - \toks@={#1\end_list}% - \sperr_width=#2\relax - \do_split - \next_char % initialize pipeline - \ifx \sec_char\empty_list #1% % nur 1 Zeichen - \else \do_sperr - \fi - } - - -\newif \if@loop - -\def\do_sperr{% - \loop - \set_char % Zeichen und nachfolgendes Kerning setzen - \next_char - \ifx \sec_char\empty_list - \first_char - \@loopfalse - \else \@looptrue - \fi - \if@loop - \repeat - } - - - - -\newbox\kern_box -\newdimen\kern_width - -\def\set_char{% - \setbox\kern_box=\hbox{\first_char\sec_char}% - \kern_width=\wd\kern_box - \setbox\kern_box=\hbox{\hbox{\first_char}\hbox{\sec_char}}% - \advance \kern_width by -\wd\kern_box - \advance \kern_width by \sperr_width - \first_char \kern\kern_width - } - - - - -\catcode`\@=\CatAtCode -\catcode`\_=\CatUsCode - - - -\endinput diff --git a/Master/texmf-dist/tex/plain/jsmisc/xfig.tex b/Master/texmf-dist/tex/plain/jsmisc/xfig.tex deleted file mode 100644 index 95a86cff5e9..00000000000 --- a/Master/texmf-dist/tex/plain/jsmisc/xfig.tex +++ /dev/null @@ -1,626 +0,0 @@ -% $Id: xfig.tex,v 1.4 1995/05/07 16:52:05 schrod Exp $ -%------------------------------------------------------------ -% Hacked together by Joachim Schrod <schrod@iti.informatik.th-darmstadt.de> -% Put into public domain. - -% -% Support for xfig pictures in plain TeX -% orginally written for transfig 2.1.7 -% support last checked for transfig 3.1.3 -% - - -% USAGE: -% -% To include xfig figures in plain TeX documents, just input these -% macros and then input the (La)TeX file you got by exporting your -% figure as `LaTeX picture' or by calling fig2dev with option `-L -% latex'. No other ``language'' is supported by these macros; in -% particular, `Combined PS/LaTeX' is not supported. - -% You can select the used types for text by redefining some macros: -% \FigFontType<type> (with <type> equal `rm', `bf', `it', `sf', or -% `tt') must expand to the external font name that's used for the -% respective xfig font selection. -% \FigFontDefault specifies the font that's used for the `Default' -% font selection. That macro is only accessed if you use the new xfig, -% or if you repaired the no-NFSS code of fig2dev (in texfonts.h, see -% comments at \xfig@bindSetFigFont implementation below). -% -% At the start of each figure \pictureHook is evaluated, you might -% want to bind that to some code that does document-specific setup. -% Each figure is set in a group, so you can rebind other control -% sequences in that hook. - - -% ------------------------------------------------------------ - -% IMPLEMENTATION NOTES: -% -% The macros might not work in all circumstances, it's updated and improved -% by need... -% -% In particular: -% -- The font selection in \SetFigFont could be improved. -% -- The environment code (\begin/\end) is very rough and should -% check for erroneous input. - - -% Code structure: -% -% After general setup, code from DEK that implements most parts of -% LaTeX's picture environment is used. Then we add definitions for the -% missing and xfig-specific tags. -% -% In Emacs, each section starts on a new page. - - -% ============================================================ - -% standard setup: - -\ifx \CatEscape\undefined - \chardef\CatEscape=0 - \chardef\CatOpen=1 - \chardef\CatClose=2 - \chardef\CatIgnore=9 - \chardef\CatLetter=11 - \chardef\CatOther=12 - \chardef\CatActive=13 % \active of plain.tex - \chardef\CatInvalid=15 - - \chardef\CatAtCode=\catcode`\@ - \chardef\CatUsCode=\catcode`\_ -\fi - -\catcode`\@=\CatLetter % top level macro file - -\begingroup - \catcode`\$=\CatIgnore - \catcode`\:=\CatIgnore - \message{xfig pictures, $Revision: 1.4 $} -\endgroup - - -% This macro file allocates registers and might be read in multiple -% times, in groups. (Actually, this occured for the first time when we -% wanted to use xfig pictures in Texinfo documents. There they are -% typeset in a `tex' environment, and xfig is read in anew for each -% figure.) As all register allocations are globally, we define some -% macros that help us to define them only once. - -\def\xfig@newskip#1{% - \ifx #1\undefined \csname newskip\endcsname #1\fi - } -\def\xfig@newdimen#1{% - \ifx #1\undefined \csname newdimen\endcsname #1\fi - } -\def\xfig@newcount#1{% - \ifx #1\undefined \csname newcount\endcsname #1\fi - } -\def\xfig@newbox#1{% - \ifx #1\undefined \csname newbox\endcsname #1\fi - } - - -% ============================================================ - -%% First comes an implementation of the picture environment's features, -%% by the Grand Wizard of TeX Arcana himself. This is from picture.tex, -%% I deleted the \cpic macro and the squines. \makebox did not support -%% position specifiers, I substituted the definition by the one from -%% LaTeX2e. In addition, all register allocations are made with the -%% macros defined above. - -% -------------------------------------------------- - -% Pictures (a subset of \LaTeX's conventions, plus squines) - -%% [start of change to DEK's code] -%% -%% At's catcode is changed above already. -%% Allocation info for registers should go to log file. - -% \chardef\CatcodeAt=\catcode`\@ -% \catcode`\@=11 % enable private control sequences -% \def\wlog#1{} % don't put allocation info into the log - -%% [end of change] - -\xfig@newskip\hsssglue \hsssglue=0pt plus 1fill minus 1fill -\def\hsss{\hskip\hsssglue} - -\xfig@newdimen\unitlength \xfig@newdimen\linethickness -\xfig@newdimen\@picheight \xfig@newdimen\@xdim \xfig@newdimen\@ydim \xfig@newdimen\@len -\xfig@newdimen\@save -\xfig@newcount\@multicount \xfig@newcount\@xarg \xfig@newcount\@yarg -\xfig@newbox\@picbox \xfig@newbox\@mpbox - -\font\tenln=line10 \font\tenlnw=linew10 -\font\tencirc=lcircle10 \font\tencircw=lcirclew10 - -\xfig@newdimen\@halfwidth - -\def\thinlines{\let\linefont=\tenln \let\circlefont=\tencirc - \linethickness=\fontdimen8\linefont \@halfwidth .5\linethickness} -\def\thicklines{\let\linefont=\tenlnw \let\circlefont=\tencircw - \linethickness=\fontdimen8\linefont \@halfwidth .5\linethickness} -\thinlines - -\def\beginpicture(#1,#2)(#3,#4){\@picheight=#2\unitlength - \setbox\@picbox=\hbox to#1\unitlength\bgroup \let\line=\@line - \kern-#3\unitlength \lower#4\unitlength\hbox\bgroup\ignorespaces} -\def\endpicture{\egroup\hss\egroup - \ht\@picbox=\@picheight \dp\@picbox=\z@ - \leavevmode\box\@picbox} - -\def\put(#1,#2)#3{\raise#2\unitlength\rlap{\kern#1\unitlength #3}\ignorespaces} - -\def\multiput(#1,#2)(#3,#4)#5#6{\@multicount=#5\relax - \@xdim=#1\unitlength \@ydim=#2\unitlength \setbox\@mpbox=\hbox{#6}% - \loop\ifnum\@multicount>0 - \raise\@ydim\rlap{\kern\@xdim \unhcopy\@mpbox}% - \advance\@xdim#3\unitlength \advance\@ydim#4\unitlength - \advance\@multicount\m@ne \repeat\ignorespaces} - -\def\@ifnextchar#1#2#3{\let\@tempe=#1\def\@tempa{#2}\def\@tempb{#3}\futurelet - \@tempc\@ifnch} -\def\@ifnch{\ifx \@tempc \@sptoken \let\@tempd\@xifnch - \else \ifx \@tempc \@tempe\let\@tempd\@tempa\else\let\@tempd\@tempb\fi - \fi \@tempd} - -%% [start of change to DEK's code] -%% -%% \makebox is called with an optional argument, the position -%% specifier. The code below is copied from the LaTeX2e beta-test -%% release. - -\def\makebox(#1,#2){% - \@ifnextchar[{\@makebox(#1,#2)}{\@makebox(#1,#2)[]}} - -\def\@nnil{\@nil} -\def\@fornoop#1\@@#2#3{} -\def\@tfor#1:=#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\empty \else - \@tforloop#2\@nil\@nil\@@#1{#3}\fi} -\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil - \let\@nextwhile\@fornoop \else - #4\relax\let\@nextwhile\@tforloop\fi\@nextwhile#2\@@#3{#4}} - -\long\def\@makebox(#1,#2)[#3]#4{% - \vbox to#2\unitlength - {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss - \let\mb@t\vss - \@tfor\@tempa :=#3\do{% - \if s\@tempa - \let\mb@l\relax\let\mb@r\relax - \else - \expandafter\let\csname mb@\@tempa\endcsname\relax - \fi}% - \mb@t - \hbox to #1\unitlength{\mb@l #4\mb@r}% - \mb@b - \kern\z@}} - -%% [end of change] - -\newif\ifneg -\def\@line(#1,#2)#3{\@xarg=#1 \@yarg=#2 \@len=#3\unitlength \leavevmode - \ifnum\@xarg<0 \reverseline \else \negfalse \@ydim=\z@\fi - \ifnum\@xarg=0 \@vline - \else\ifnum\@yarg=0 \@hline \else\@sline\fi\fi - \ifneg\kern-\@len\else\@save=\@ydim\fi} -\def\reverseline{\negtrue \kern-\@len \@xarg=-\@xarg - \@ydim=\@len \multiply\@ydim\@yarg \divide\@ydim\@xarg \@yarg=-\@yarg} - -\def\@hline{\vrule height.5\linethickness depth.5\linethickness width\@len} -\def\@vline{\kern-.5\linethickness\vrule width\linethickness - \ifnum\@yarg<0 height\z@ depth\else depth\z@ height\fi\@len - \kern-.5\linethickness} - -\def\@sline{\setbox\@picbox=\hbox{\linefont \count@=\@xarg \multiply\count@ 8 - \ifnum\@yarg>0 \advance\count@\@yarg \advance\count@-9 - \else \advance\count@-\@yarg \advance\count@ 55 \fi \char\count@}% - \ifnum\@yarg<0 \@picheight=-\ht\@picbox \advance\@ydim\@picheight - \else \@picheight=\ht\@picbox \fi - \@xdim=\wd\@picbox \@save=\@ydim - \loop\ifdim\@xdim<\@len \raise\@ydim\copy\@picbox - \advance\@xdim\wd\@picbox \advance\@ydim\@picheight \repeat - \advance\@xdim-\@len \kern-\@xdim - \multiply\@xdim\@yarg \divide\@xdim\@xarg \advance\@ydim-\@xdim - \raise\@ydim\box\@picbox} - -\def\vector(#1,#2)#3{\@line(#1,#2){#3}% - \ifnum\@xarg=0 \@vvector \else\ifnum\@yarg=0 \@hvector \else\@svector\fi\fi} -\def\@hvector{\ifneg\rlap{\linefont\char27}\else - \smash{\llap{\linefont\char45}}\fi} % we have to smash because of font bug -\def\@vvector{\ifnum\@yarg<0 \raise-\@len\rlap{\linefont\char63}% - \else\setbox\@picbox=\rlap{\linefont\char54}\advance\@len-\ht\@picbox - \raise\@len\box\@picbox\fi} - -\def\@svector{\setbox\@picbox=\hbox to\z@{\linefont - \ifnum\@yarg<0 \count@=55 \@yarg=-\@yarg \else\count@=-9 \fi - \ifneg\multiply\@xarg16 \multiply\@yarg2 - \else\hss % \llap - \ifnum\@xarg>2 \multiply\@xarg9 \multiply\@yarg2 \advance\count@29 - \else\ifnum\@yarg>2 \multiply\@xarg16 \multiply\@yarg9 \advance\count@-20 - \else\multiply\@xarg24 \multiply\@yarg3 \fi\fi\fi - \advance\count@\@xarg \advance\count@\@yarg \char\count@ - \ifneg\hss\fi}% \rlap - \raise\@save\box\@picbox} - -\def\disk#1{\@len=#1\unitlength \count@='160 \@diskcirc} -\def\circle#1{\@len=#1\unitlength \count@='140 \@diskcirc} -\def\@diskcirc{\setbox\@picbox=\hbox{\circlefont\char\count@}\@xdim=\wd\@picbox - \leavevmode \ifdim\@len>15.499\@xdim \@bigdc \else \@smalldc\fi} -\def\@bigdc{\ifnum\count@<'160 \@bigcirc - \else \@len=15\@xdim \@diskcirc\fi} -\def\@smalldc{{\advance\@len-.5\@xdim - \loop\ifdim\@xdim<\@len \advance\count@\@ne \advance\@xdim\wd\@picbox\repeat - \hbox{\circlefont\char\count@}}} -\def\@bigcirc{{\circlefont\count@=15 - \setbox\@picbox=\hbox{\char\count@}\@xdim=\wd\@picbox - \ifdim\@len>2.5\@xdim \@len=2.5\@xdim\fi - \advance\@len-.125\wd\@picbox - \loop\ifdim\@xdim<\@len \advance\count@ 4 \advance\@xdim.25\wd\@picbox\repeat - \@ydim=.5\@xdim \advance\@ydim.5\linethickness - \setbox\@picbox=\vbox{\hbox{\char\count@\advance\count@-3\char\count@}% - \nointerlineskip - \hbox{\advance\count@\m@ne\char\count@\advance\count@\m@ne\char\count@}}% - \kern-\@ydim\lower\@ydim\box\@picbox}} - -\newif\ifovaltl \newif\ifovaltr \newif\ifovalbl \newif\ifovalbr -\ovaltltrue \ovaltrtrue \ovalbltrue \ovalbrtrue -\def\oval(#1,#2){\@xdim=#1\unitlength \@ydim=#2\unitlength - {\circlefont \setbox\@picbox=\hbox{\char0} - \ifdim\@xdim<\wd\@picbox \@xdim=\wd\@picbox\fi - \ifdim\@ydim<\wd\@picbox \@ydim=\wd\@picbox\fi - \@save=\@xdim \ifdim\@ydim<\@save \@save=\@ydim \fi - \count@=39 - \loop \setbox\@picbox=\hbox{\char\count@}\ifdim\@save<\wd\@picbox - \advance\count@-4 \repeat - \setbox\strutbox=\hbox{\vrule height\ht\@picbox depth\dp\@picbox width\z@ - \kern\wd\@picbox}% - \@save=.5\wd\@picbox \advance\@save-.5\linethickness - \setbox0=\hbox to\@xdim{\ifovaltl\char\count@\else\strut\fi - \kern-\@save\leaders\hrule height\ifovaltl\linethickness\else\z@\fi\hfil - \leaders\hrule height\ifovaltr\linethickness\else\z@\fi\hfil\kern\@save - \ifovaltr\advance\count@-3\char\count@\else\strut\fi\kern-\wd\@picbox}% - \advance\count@\m@ne - \setbox2=\hbox to\@xdim{\ifovalbl\char\count@\else\strut\fi - \kern-\@save\leaders\hrule height\ifovalbl\linethickness\else\z@\fi\hfil - \leaders\hrule height\ifovalbr\linethickness\else\z@\fi\hfil\kern\@save - \ifovalbr\advance\count@\m@ne\char\count@\else\strut\fi\kern-\wd\@picbox}% - \@save=\@ydim \advance\@save-\wd\@picbox \divide\@save 2 - \setbox\@picbox=\vbox{\box0\nointerlineskip - \hbox to\@xdim{\vrule height\@save width\ifovaltl\linethickness\else\z@\fi - \hfil\ifovaltr\vrule width\linethickness\kern-\linethickness\fi}% - \nointerlineskip - \hbox to\@xdim{\vrule height\@save width\ifovalbl\linethickness\else\z@\fi - \hfil\ifovalbr\vrule width\linethickness\kern-\linethickness\fi}% - \nointerlineskip\box2}% - \@save=.5\@ydim \advance\@save.5\linethickness \leavevmode - \kern-.5\@xdim \kern-.5\linethickness \lower\@save\box\@picbox}} - -% ============================================================ - -%% More picture environment tags, output by fig2dev - - -%% The framebox tag was missing in DEK's code. Below is a copy from -%% the 1994/06/01 version of ltboxes.dtx. Actually, we need only the -%% \@framepicbox tag. - -% \DescribeMacro\framebox -% |\framebox| ... : like |\makebox|, except it puts a `frame' around -% the box. The frame is made of lines of thickness -% |\fboxrule|, separated by space |\fboxsep| from the -% text -- except for |\framebox(X,Y)| ... , where the -% thickness of the lines is as for the picture environment, -% and there is no separation added. - -\def\framebox(#1,#2){% - \@ifnextchar[{\@framebox(#1,#2)}{\@framebox(#1,#2)[]}% ] (Emacs) - } -\long\def\@framebox(#1,#2)[#3]#4{% - \frame{\makebox(#1,#2)[#3]{#4}}} - -\long\def\frame#1{% - \leavevmode - \hbox{% - \hskip-\linethickness - \vbox{% - \vskip-\linethickness - \hrule height\linethickness - \hbox{% - \vrule width\linethickness - #1% - \vrule width\linethickness}% - \hrule height\linethickness - \vskip -\linethickness}% - \hskip -\linethickness}} - - -%% The dashbox tag was also missing. We copy it from ltpictur.dtx, -%% 1994/05/22 v1.0e LaTeX Kernel (Picture Mode). The (missing) -%% indentation is from there, not introduced by me. Sorry, but this -%% must be emphasized. - -% \@wholewidth -> \linethickness -% \@makepicbox -> \makebox - -\xfig@newdimen\@dashdim -\xfig@newbox\@dashbox -\xfig@newcount\@dashcnt - -\def\@whilenoop#1{} -\def\@whilenum#1\do #2{\ifnum #1\relax #2\relax\@iwhilenum{#1\relax - #2\relax}\fi} -\def\@iwhilenum#1{\ifnum #1\let\@nextwhile\@iwhilenum - \else\let\@nextwhile\@whilenoop\fi\@nextwhile{#1}} - -\def\dashbox#1(#2,#3){\leavevmode\hbox to\z@{\baselineskip \z@skip -\lineskip \z@skip -\@dashdim #2\unitlength -\@dashcnt \@dashdim \advance\@dashcnt 200 -\@dashdim #1\unitlength\divide\@dashcnt \@dashdim -\ifodd\@dashcnt\@dashdim \z@ -\advance\@dashcnt \@ne \divide\@dashcnt \tw@ -\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@ -\advance\@dashcnt \m@ne -\setbox\@dashbox \hbox{\vrule height \@halfwidth depth \@halfwidth -width \@dashdim}\put(0,0){\copy\@dashbox}% -\put(0,#3){\copy\@dashbox}% -\put(#2,0){\hskip-\@dashdim\copy\@dashbox}% -\put(#2,#3){\hskip-\@dashdim\box\@dashbox}% -\multiply\@dashdim \thr@@ -\fi -\setbox\@dashbox \hbox{\vrule height \@halfwidth depth \@halfwidth -width #1\unitlength\hskip #1\unitlength}\count@\z@ -\put(0,0){\hskip\@dashdim \@whilenum \count@ <\@dashcnt -\do{\copy\@dashbox\advance\count@ \@ne }}\count@\z@ -\put(0,#3){\hskip\@dashdim \@whilenum \count@ <\@dashcnt -\do{\copy\@dashbox\advance\count@ \@ne }}% -\@dashdim #3\unitlength -\@dashcnt \@dashdim \advance\@dashcnt 200 -\@dashdim #1\unitlength\divide\@dashcnt \@dashdim -\ifodd\@dashcnt \@dashdim \z@ -\advance\@dashcnt \@ne \divide\@dashcnt \tw@ -\else -\divide\@dashdim \tw@ \divide\@dashcnt \tw@ -\advance\@dashcnt \m@ne -\setbox\@dashbox\hbox{\hskip -\@halfwidth -\vrule width \linethickness -height \@dashdim}\put(0,0){\copy\@dashbox}% -\put(#2,0){\copy\@dashbox}% -\put(0,#3){\lower\@dashdim\copy\@dashbox}% -\put(#2,#3){\lower\@dashdim\copy\@dashbox}% -\multiply\@dashdim \thr@@ -\fi -\setbox\@dashbox\hbox{\vrule width \linethickness -height #1\unitlength}\count@\z@ -\put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \count@ <\@dashcnt -\do{\vskip #1\unitlength\copy\@dashbox\advance\count@ \@ne }% -\vskip\@dashdim}}\count@\z@ -\put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \count@<\@dashcnt -\do{\vskip #1\unitlength\copy\@dashbox\advance\count@ \@ne }% -\vskip\@dashdim}}}\makebox(#2,#3)} - - -% ============================================================ - -%% Then we must supply the LaTeX tags that are inserted by fig2dev. - -% \setlength is the LaTeX PC way of setting a register. -\def\setlength#1#2{#1=#2\relax} - -% -------------------------------------------------- - -% \makeatletter is called to access private macros in the \SetFigFont -% definition. Since we never expand that definition, we could ignore -% the catcode change. But we should not define a macro with a nonsense -% name... -\ifx \makeatletter\undefined - \def\makeatletter{\catcode`\@=11 } % <-- Space -\fi - -% -------------------------------------------------- - -% The real hassle in that macro file is the font switch code. Once -% there was an interface, in transfig 2.1.7 & 2.1.8: A macro named -% \SetFigFont was used to select the type for texts. The macro -% definition itself is written by fig2dev, it is part of the figure -% code. -% -% Then transfig 3 was released and the interface disappeared. There's -% still the macro \SetFigFont and the macro definition is still -% written by fig2dev, but it may be defined with 3 arguments or with 5 -% arguments, one cannot determine what's used. The second form is used -% when NFSS is added to the defines of fig2dev and should be the -% default. (After all, LaTeX2e subsumed NFSS.) The first form must be -% used for LaTeX 2.09 w/OFSS. -% -% \SetFigFont is not defined if it is defined already when the figure -% code is read. OK, one might think, let's define a plain TeX version. -% (Actually, xfig.tex up to revision 1.3 did so.) But which interface -% shall we use for our definition? In a typical installation one has -% old documents with xfig pictures that were created with an old -% fig2dev, we must therefore support the three-arg-variant. Newly -% created figures will use the five-arg-variant, though. There is no -% obvious way to determine which variant will be used in the -% respective figure. - -% Please note that the information above -- and the one below about -% the actual possible interfaces of \SetFigFont -- was determined by -% looking at the output of example files and the code in setfigfont.c -% and texfonts.h, as not even the comments in these files got updated -% when the new \SetFigFont interface was introduced. (Sigh.) -% -% The changes were not even marked in the list of changes, I learned -% about them when folks from the Net sent me complaints about revision -% 1.1 of xfig.tex. (I hadn't installed xfig 3 at this time.) -% -% Do I really have to tell you what I think about these kinds of -% changes, in terms of software quality? (Don't ask me when I'm in a -% bad mood if you want polite answers.) - -% Well, here's the solution: As told above, I've analyzed the possible -% expansions of \SetFigFont. I'll define macros for every cseq that's -% in the expansion, one of these macros will bind \SetFigFont to -% \SetFigFontOFSS or \SetFigFontNFSS, respectively. Let's have a look: -% -% OFSS: evaluates \@setsize. This macro has supposed to have 4 -% arguments (type, baselineskip, font-setup, font-setup). Then the -% type specifier is evaluated by a \csname. Passing nothing there will -% effectively be a nop. -% -% NFSS: The \SetFigfont expansion uses more cseqs, but is more -% regular, too. We may supply empty expansions for everything that -% shall setup the font parameters: \reset@font, \fontsize (2 args), -% \fontfamily & \fontseries & \fontshape (each 1 arg). Then -% \selectfont is evaluated, here we bind the appropriate expansion of -% \SetFigFont. - -% Now we may setup the macro definitions, evaluate one pseudo -% \SetFigFont and \SetFigFont will be bound to the correct expansion. -% -% The first argument must be a number, as the OFSS \SetFigFont version -% assigns it to a count register. -\def\xfig@bindSetFigFont{% - % OFSS - \def\@setsize##1##2##3##4{\let\SetFigFont\SetFigFontOFSS}% - % NFSS - \let\reset@font\relax - \def\fontsize##1##2{}% - \def\fontfamily##1{}% - \def\fontseries##1{}% - \def\fontshape##1{}% - \def\selectfont{\let\SetFigFont\SetFigFontNFSS}% - % Now bind correct \SetFigFont by evaluating \SetFigFont. - \SetFigFont{0}{}{}{}{}% - } - -% -------------------------------------------------- - -% The interface of \SetFigFontOFSS: -% #1 is the size (w/o pt), -% #2 the baselineskip (w/o pt), -% #3 a plain TeX type specifier. -% If #3 is empty we assume that a default font should be taken. -% This default font can be named by \FigFontDefault. Note, that -% this parameter is not empty if you choose the font `Default' in -% xfig. You have to chang texfonts.h accordingly. I did it -% already for 2.1.7 and sent the diffs to the maintainer, but -% obviously he dumped them since they did not appear in 3.x. -% -% It's a pity, that we can't use the plain TeX type specifier. We -% demand an appropriate font scaled to the correct size. This is not -% the best solution, but nowadays most DVI drivers generate the fonts on -% the fly anyhow. - -\def\FigFontDefault{cmr10} -\def\FigFontType{\FigFontDefault\space} -\def\FigFontTyperm{cmr10} -\def\FigFontTypebf{cmbx10} -\def\FigFontTypeit{cmti10} -\def\FigFontTypesf{cmss10} -\def\FigFontTypett{cmtt10} -\def\SetFigFontOFSS#1#2#3{% - \font\FigFont \csname FigFontType#3\endcsname\space at #1pt - \FigFont - \baselineskip #2pt\relax - } - -% The interface of \SetFigFontNFSS: -% #1 is the size (w/o pt), -% #2 the baselineskip (w/o pt), -% #3 the NFSS font family (as a cseq), -% #4 the NFSS font series (as a cseq), and -% #5 the NFSS font shape (as a cseq). -% -% The current font state is reset before the arguments take effect. -% The call to \SetFigFont doesn't use the full possibilities of NFSS; -% only fixed combinations of arguments are supplied, as xfig itself -% knows only about a fixed set of fonts (default, roman, bold, italic, -% sans serif, and typewriter). - -% We map that interface back to the one of \SetFigFontOFSS. To do that -% we redefine the NFSS font specifiers locally to create plain TeX -% font specifiers. That's mostly easy, medium density (`md') series -% and upright (`up') shape are ignored in plain anyhow. The default is -% explicitely specified by \familydefault, we don't need to infer it. -% But there is one exception: bold is specified as `roman bold', ie, -% as `rmbf'. For that exception we just define a new FigFontType macro. - -\def\FigFontTypermbf{\FigFontTypebf} -\def\SetFigFontNFSS#1#2#3#4#5{% - \begingroup - \let\familydefault\empty - \def\rmdefault{rm}% - \def\sfdefault{sf}% - \def\ttdefault{tt}% - \let\mddefault\empty - \def\bfdefault{bf}% - \let\updefault\empty - \def\itdefault{it}% - \xdef\FigFontSpec{#3#4#5}% - \endgroup - \SetFigFontOFSS{#1}{#2}{\FigFontSpec}% - } - -% -------------------------------------------------- - -% Environments are enclosed in \begin{foo} ... \end{foo}. -% I don't check if the call is ok -- this file is specific for -% machine-generated code, that shall be correct by definition. -% -% We need to setup the correct \SetFigFont binding, as explained above. -% And let's evaluate a hook to enable document specific adaptions. - -\def\begin#1{% - \begingroup - \def\end##1{% - \csname end##1\endcsname - \endgroup - }% - \xfig@bindSetFigFont - \csname #1Hook\endcsname - \csname begin#1\endcsname - } - - -% ============================================================ - -\catcode`\@=\CatAtCode - -\endinput - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% $Log: xfig.tex,v $ -% Revision 1.4 1995/05/07 16:52:05 schrod -% Determine \SetFigFont variant automatically. \OldXfig is not -% looked at any more, \SetFigFontOld and \SetFigFontNew are renamed to -% \SetFigFontOFSS and \SetFigFontNFSS. -% -% Revision 1.3 1995/04/17 00:01:08 schrod -% Don't allocate registers anew if xfig.tex is read in the second -% time. -% -% Revision 1.2 1995/03/16 01:15:51 schrod -% Support output of transfig 3.1.1. -% -% Revision 1.1 1995/03/13 23:18:15 schrod -% Started to manage this package with CVS. Made minor code cleanup. -% - -% 94-06-10 js Initial revision. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Local Variables: -mode: plain-tex -TeX-master: t -TeX-brace-indent-level: 4 -page-delimiter: "^% ==*$" -End: |