From e54af50d357e3b6361efda48b2917f1f9a05d9cb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:53:01 +0000 Subject: trunk/Master/texmf-dist/source/latex/everysel git-svn-id: svn://tug.org/texlive/trunk@265 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/everysel/everysel.asc | 12 + .../texmf-dist/source/latex/everysel/everysel.drv | 74 ++++ .../texmf-dist/source/latex/everysel/everysel.dtx | 395 +++++++++++++++++++++ .../texmf-dist/source/latex/everysel/everysel.ins | 121 +++++++ 4 files changed, 602 insertions(+) create mode 100644 Master/texmf-dist/source/latex/everysel/everysel.asc create mode 100644 Master/texmf-dist/source/latex/everysel/everysel.drv create mode 100644 Master/texmf-dist/source/latex/everysel/everysel.dtx create mode 100644 Master/texmf-dist/source/latex/everysel/everysel.ins (limited to 'Master/texmf-dist/source/latex/everysel') diff --git a/Master/texmf-dist/source/latex/everysel/everysel.asc b/Master/texmf-dist/source/latex/everysel/everysel.asc new file mode 100644 index 00000000000..54c3a932ff5 --- /dev/null +++ b/Master/texmf-dist/source/latex/everysel/everysel.asc @@ -0,0 +1,12 @@ +-----BEGIN PGP MESSAGE----- +Version: 2.6.3ia +Comment: PGP sig of everysel.dvi + +iQEVAwUAN115IOHJal4pKBTlAQEWSwgAgFSDHVuHOzFg90rJS0LVjMF4HbqEhHsd +QYGhdANYdu9OSXEvZdz7L4Lb1l0SC67Hlhjc8QVaYEjBkwcyyTkKhMm7LJeZG/YA +HzIyeu93gpeqWCKBWp1x+GBXFonqwGRW3mZygKSL5fpZVMisB5ZeiP/Zw/UgKYe/ +CkU4d94HqABRq7X4zkeS4CeqKzn1G3X3NWMljBuWnPjMmG75S9K9dL4ET09guoah +XLMxc+I4cvr16XSxUSTKr7Y4cPlgUi+uhfbFXzD683d6ZX0nFY2MOo+t1i1+g/6k +y2GbQTiyTKe2CPL+WWwxHkrHhpFbfibts9t1AMbXBMm+6BZLSsE9Kg== +=XBVB +-----END PGP MESSAGE----- diff --git a/Master/texmf-dist/source/latex/everysel/everysel.drv b/Master/texmf-dist/source/latex/everysel/everysel.drv new file mode 100644 index 00000000000..6ac7b8eb8b7 --- /dev/null +++ b/Master/texmf-dist/source/latex/everysel/everysel.drv @@ -0,0 +1,74 @@ +%% +%% This is file `everysel.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% everysel.dtx (with options: `driver') +%% This file is part of the EverySel package +%% ----------------------------------------- +%% +%% Copyright (C) [1996..1999] Martin Schr"oder. All rights reserved. +%% +%% To produce the documentation in the way you like you are allowed +%% to change this driver file. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesFile{everysel.drv} + [1999/06/08 v1.03 Driver for EverySelectfont Package (MS)] +\documentclass{ltxdoc} +\usepackage{url} +\usepackage[toc]{multitoc} +\usepackage{everysel} +\GetFileInfo{everysel.sty} +\RecordChanges % Gather update information +\EnableCrossrefs +%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +\OnlyDescription % comment out for implementation details +%%\OldMakeIndex % use if your MakeIndex is pre-v2.9 +\setcounter{IndexColumns}{2} +\setlength{\IndexMin}{40ex} +\setlength{\columnseprule}{.4pt} +\addtolength{\oddsidemargin}{1cm} +\addtolength{\textwidth}{-1cm} +\raggedright % otherwise we get over/underfull hboxes +\begin{document} + \DocInput{everysel.dtx} +\end{document} +%% \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 \~} +%% +%% ==================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "1.03", +%% date = "8 June 1999", +%% filename = "everysel.sty", +%% address = {Martin Schr\"oder +%% Cr\"usemannallee 3 +%% D-28213 Bremen}, +%% telephone = "+49-421-2239425", +%% email = "Martin.Schroeder@ACM.org", +%% pgp-Key = "2048 bit / KeyID 292814E5", +%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E", +%% docstring = "LaTeX package which provides hooks into +%% \cs{selectfont}. +%% } +%% ==================================================================== +\endinput +%% +%% End of file `everysel.drv'. diff --git a/Master/texmf-dist/source/latex/everysel/everysel.dtx b/Master/texmf-dist/source/latex/everysel/everysel.dtx new file mode 100644 index 00000000000..cb6e315c81c --- /dev/null +++ b/Master/texmf-dist/source/latex/everysel/everysel.dtx @@ -0,0 +1,395 @@ +% \iffalse +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%\ProvidesPackage{everysel} +% [1999/06/08 v1.03 EverySelectfont Package (MS)] +% +%<*driver> +\ProvidesFile{everysel.drv} + [1999/06/08 v1.03 Driver for EverySelectfont Package (MS)] +\documentclass{ltxdoc} +\usepackage{url} +\usepackage[toc]{multitoc} +\usepackage{everysel} +\GetFileInfo{everysel.sty} +\RecordChanges % Gather update information +\EnableCrossrefs +%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +\OnlyDescription % comment out for implementation details +%%\OldMakeIndex % use if your MakeIndex is pre-v2.9 +\setcounter{IndexColumns}{2} +\setlength{\IndexMin}{40ex} +\setlength{\columnseprule}{.4pt} +\addtolength{\oddsidemargin}{1cm} +\addtolength{\textwidth}{-1cm} +\raggedright % otherwise we get over/underfull hboxes +\begin{document} + \DocInput{everysel.dtx} +\end{document} +% +% +% Copyright (C) [1996..1999] by Martin Schr\"oder. All rights reserved. +% +% This program may be redistributed and/or modified under the terms +% of the LaTeX Project Public License, either version 1.0 of this +% license, or (at your option) any later version. +% The latest version of this license is in +% CTAN:macros/latex/base/lppl.txt. +% +% Happy users are requested to send me a postcard. :-) +% +% For error reports in case of UNCHANGED versions see everysel.ins +% +% \fi +% +% \CheckSum{105} +% +%% \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 meta-comment +%% ==================================================================== +%% @LaTeX-style-file{ +%% author = {Martin Schr\"oder}, +%% version = "1.03", +%% date = "8 June 1999", +%% filename = "everysel.sty", +%% address = {Martin Schr\"oder +%% Cr\"usemannallee 3 +%% D-28213 Bremen}, +%% telephone = "+49-421-2239425", +%% email = "Martin.Schroeder@ACM.org", +%% pgp-Key = "2048 bit / KeyID 292814E5", +%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E", +% checksum = "06457 414 1509 13717", +% codetable = "ISO/ASCII", +% keywords = "LaTeX, NFSS", +% supported = "yes", +%% docstring = "LaTeX package which provides hooks into +%% \cs{selectfont}. +% +% The checksum field above contains a CRC-16 +% checksum as the first value, followed by +% the equivalent of the standard UNIX wc +% (word count) utility output of lines, +% words, and characters. This is produced +% by Robert Solovay's checksum utility." +%% } +%% ==================================================================== +%\fi +% +% \changes{v1.00}{1996-05-24}{New} +% \changes{v1.02}{1998-04-11}{Minor documentation enhancements} +% \changes{v1.02}{1998-08-09}{Minor documentation enhancements} +% \changes{v1.03}{1999/06/08}{Moved to LPPL} +% +% +% ^^A ----------------------------- +% +% \pagestyle{headings} +% +% \newcommand*{\file}[1]{\texttt{#1}} +% \newcommand*{\package}[1]{\textsf{#1}} +% \hyphenation{every-select-font} +% +% +% ^^A ----------------------------- +% +% \changes{v1.01}{1997-03-09}{Fixed use of \cs{newline} in title.} +% \title{\unskip +% The \package{EverySel} package^^A +% \thanks{^^A +% The version number of this file is \fileversion, +% last revised \filedate.\protect\newline +% The name \textsf{EverySel} is a tribute to the $8+3$ +% file-naming convention of certain ``operating +% systems'' and their ``file systems''; strictly +% speaking it should be \textsf{EverySelectfont}.}^^A +% } +% \author{Martin Schr\"oder\\[0.5ex] +% \normalsize Cr\"usemannallee 3\\ +% \normalsize D-28213 Bremen\\ +% \normalsize Martin.Schroeder@ACM.org\\ +% \scriptsize \texttt{PGP-Key: 2048 bit / KeyID 292814E5}\\[-0.5em] +% \scriptsize \texttt{7E86 6EC8 97FA 2995~~82C3 FEA5 2719 090E}} +% \date{\filedate} +% \maketitle +% +% +% ^^A ----------------------------- +% +% +% \begin{abstract} +% This packages provides hooks into the NFSS-command +% \cs{selectfont} called \cs{EverySelectfont} and +% \cs{AtNextSelectfont} analogous to \cs{AtBeginDocument}. +% \end{abstract} +% +% \pagestyle{headings} +% +% +% ^^A ----------------------------- +% +% \tableofcontents +% +% +% ^^A ----------------------------- +% +% \section{Introduction} +% ^^A +% This package provides the hooks \cs{EverySelectfont} and +% \cs{AtNextSelectfont} whose arguments are executed just after +% \LaTeX{} has loaded a new font using \cs{selectfont} (which means +% that it will be executed after \emph{every} font loaded via NFSS). +% +% An example application would be a package for setting ragged text +% which needs to distiguinsh between monospaced and proportional +% fonts. +% Such a package exists: \package{ragged2e}\cite{package:ragged2e}. +% +% +% ^^A ----------------------------- +% +% \section{Usage} +% ^^A +% \DescribeMacro{\EverySelectfont} +% \cs{EverySelectfont}\marg{code} declares +% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally +% and executed just after \emph{each} \cs{selectfont}. +% +% \emph{Warning:} The \mbox{$\langle$\emph{code}$\rangle$} is saved +% globally; there is currently no way to remove it. +% +% \DescribeMacro{\AtNextSelectfont} +% \cs{AtNextSelectfont}\marg{code} declares +% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally +% and executed just after \emph{and only the next} \cs{selectfont}. +% +% Repeated use of the commands is permitted: the code in their +% argument is stored (and executed) in the order of their +% declarations. +% +% The argument of \cs{AtNextSelectfont} is executed \emph{after} +% the argument of \cs{EverySelectfont}. +% +% +% ^^A ----------------------------- +% +% \section{Options} +% ^^A +% The package has no options. +% +% +% ^^A ----------------------------- +% +% \section{Required packages} +% ^^A +% The package requires no further packages. +% +% +% ^^A ----------------------------- +% +% \StopEventually{^^A +% +% +% ^^A ----------------------------- +% +% \section{Acknowledgements} +% ^^A +% David Carlisle provided the solution for my problems with \cs{CheckCommand}. +% +% +% ^^A ----------------------------- +% +% \begin{thebibliography}{1} +% \raggedright +% \bibitem{package:tracefnt} +% Frank Mittelbach and Rainer Sch\"opf. +% \newblock The \package{tracefnt} package for use with the new +% font selection scheme. +% \newblock \url{CTAN: tex-archive/macros/latex/base/ltfsstrc.dtx}. +% \newblock \LaTeXe{} package. +% \bibitem{package:ragged2e} +% Martin Schr\"oder. +% \newblock The \package{ragged2e} package. +% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/ragged2e.dtx}. +% \newblock \LaTeXe{} package. +% \end{thebibliography} +% +% } +% +% +% ^^A ----------------------------- +% +% \section{The implementation} +% ^^A +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \subsection{Allocations} +% ^^A +% First we allocate the hooks +% \begin{macro}{\@EverySelectfont@EveryHook} +% The code to be executed just after the normal \cs{selectfont}. +% \begin{macrocode} +\newcommand{\@EverySelectfont@EveryHook}{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@EverySelectfont@AtNextHook} +% The code to be executed just after the normal \cs{selectfont} +% and \cs{@EverySelectfont@EveryHook}. +% \begin{macrocode} +\newcommand{\@EverySelectfont@AtNextHook}{} +% \end{macrocode} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{The user-visible commands} +% ^^A +% \begin{macro}{\EverySelectfont} +% \begin{macro}{\AtNextSelectfont} +% These commands are modeled after \cs{AtBeginDocument}. +% \begin{macrocode} +\newcommand*{\EverySelectfont}[1] + {\g@addto@macro\@EverySelectfont@EveryHook{#1}} +\newcommand*{\AtNextSelectfont}[1] + {\g@addto@macro\@EverySelectfont@AtNextHook{#1}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \subsection{Inserting the hooks} +% ^^A +% The hooks are placed \emph{inside} \cs{selectfont}. +% Unfortunately for us there are \emph{two} versions of +% \cs{selectfont} in normal \LaTeX: One is defined in the kernel and +% the other by the package \package{tracefnt}\cite{package:tracefnt}. +% So we have to check for two versions. +% \begin{macro}{\@EverySelectfont@Init} +% We do this in the macro \cs{@EverySelectfont@Init}, which is +% executed just after \cs{begin\{document\}} (with the aid of +% \cs{AtBeginDocument}), when we know for sure which version of +% \cs{selectfont} we have to overload. +% \begin{macrocode} +\newcommand*{\@EverySelectfont@Init}{% +% \end{macrocode} +% We have to distinguish two cases: \package{tracefnt} and +% no \package{tracefnt}. +% \begin{macrocode} + \@ifpackageloaded{tracefnt}{% +% \end{macrocode} +% And we have a problem: \cs{selectfont} is defined using +% \cs{DeclareRobustCommand}, which really defines +% \cs{selectfont\textvisiblespace}. +% So instead of simply using \cs{CheckCommand} we also have to use +% \cs{expandafter} and \cs{csname}\ldots\cs{endcsname}. +% \begin{macrocode} + \expandafter\CheckCommand\csname selectfont \endcsname{% + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip \fi + \xdef\font@name{% + \csname\curr@fontshape/\f@size\endcsname}% + \pickup@font + \font@name + \ifnum \tracingfonts>\tw@ + \@font@info{Switching to \font@name}\fi + \size@update + \enc@update + }% + }{% +% \end{macrocode} +% Now the case without \package{tracefnt}. +% \begin{macrocode} + \expandafter\CheckCommand\csname selectfont \endcsname{% + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip \fi + \xdef\font@name{% + \csname\curr@fontshape/\f@size\endcsname}% + \pickup@font + \font@name + \size@update + \enc@update + }% + }% +% \end{macrocode} +% After the checks we can be sure we have the correct version of +% \cs{selectfont}, so we redefine it with our hooks. +% \begin{macrocode} + \DeclareRobustCommand{\selectfont}% + {% + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip \fi + \xdef\font@name{% + \csname\curr@fontshape/\f@size\endcsname}% + \pickup@font + \font@name + \@EverySelectfont@EveryHook + \@EverySelectfont@AtNextHook +% \end{macrocode} +% We have to reset \cs{@EverySelectfont@AtNextHook} after each use. +% \begin{macrocode} + \gdef\@EverySelectfont@AtNextHook{}% + \size@update + \enc@update + }% +% \end{macrocode} +% The additions of \package{tracefnt} to \cs{selectfont} can be +% implemented using \cs{EverySelectfont}. +% \begin{macrocode} + \@ifpackageloaded{tracefnt}{% + \EverySelectfont{% + \ifnum \tracingfonts>\tw@ + \@font@info{Switching to \font@name}\fi}% + }{}% +% \end{macrocode} +% Since \cs{@EverySelectfont@Init} should only be used once it is +% self-destructing. +% \begin{macrocode} + \let\@EverySelectfont@Init\undefined + } +% \end{macrocode} +% Finally we insert \cs{EverySelectfont@Init} into \cs{begin\{document\}}. +% \begin{macrocode} +\AtBeginDocument{\@EverySelectfont@Init} +% \end{macrocode} +% \end{macro} +% +% +% ^^A ----------------------------- +% +% \begin{macrocode} +% +% \end{macrocode} +% +% +% ^^A ----------------------------- +% +% \Finale +% +% ^^A Print the indices but make sure that they are not printed twice +% ^^A (ltxdoc.cfg might have a second \PrintIndex command) +% \PrintIndex\PrintChanges\let\PrintChanges\relax\let\PrintIndex\relax +% diff --git a/Master/texmf-dist/source/latex/everysel/everysel.ins b/Master/texmf-dist/source/latex/everysel/everysel.ins new file mode 100644 index 00000000000..18eb206a5d1 --- /dev/null +++ b/Master/texmf-dist/source/latex/everysel/everysel.ins @@ -0,0 +1,121 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesFile{everysel.ins} + [1998/06/08 v1.03 Installation script for EverySelectfont Package (MS)] +%% +%% Copyright (C) [1996..1999] by Martin Schr"oder. All rights reserved. +%% +%% This program may be redistributed and/or modified under the terms +%% of the LaTeX Project Public License, either version 1.0 of this +%% license, or (at your option) any later version. +%% The latest version of this license is in +%% CTAN:macros/latex/base/lppl.txt. +%% +%% Happy users are requested to send me a postcard. :-) +%% +%% This file will be used by the docstrip.tex program to generate +%% fast loadable files from the doc files. +%% +%% Remember: DON'T CHANGE THIS FILE +%% +%% checksum = "40644 130 459 3845" +%% +%% The checksum field above contains a CRC-16 checksum as the first +%% value, followed by the equivalent of the standard UNIX wc (word +%% count) utility output of lines, words, and characters. +%% This is produced by Robert Solovay's checksum utility. +%% +%% --------------- start of docstrip commands ------------------ +\input docstrip.tex +{\ifx\endbatchfile\undefined +\Msg{**********************************************} +\Msg{*} +\Msg{* This installation requires docstrip} +\Msg{* version 2.4d or later.} +\Msg{*} +\Msg{* An older version of docstrip has been input} +\Msg{*} +\Msg{**********************************************} +\errhelp{Move or rename old docstrip.tex.} +\errmessage{Old docstrip in input path} +\batchmode +\csname @@end\endcsname +\fi} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* The everysel distribution contains these files:} +\Msg{*} +\Msg{* \space\space everysel.asc} +\Msg{* \space\space everysel.dtx} +\Msg{* \space\space everysel.dvi} +\Msg{* \space\space everysel.ins} +\Msg{* \space\space everysel.bug} +\Msg{*} +\Msg{* If you receive only some of these files from someone, complain!} +\Msg{*} +\Msg{***********************************************************} + +\preamble + +Copyright (C) [1996..1999] by Martin Schr"oder. All rights reserved. + +This file is part of the EverySel package + +This program may be redistributed and/or modified under the terms +of the LaTeX Project Public License, either version 1.0 of this +license, or (at your option) any later version. +The latest version of this license is in + CTAN:macros/latex/base/lppl.txt. + +Happy users are requested to send me a postcard. :-) + +The EverySel package contains these files: + + everysel.asc + everysel.dtx + everysel.dvi + everysel.ins + everysel.bug + +Error Reports in case of UNCHANGED versions to + + Martin Schr"oder + Cr"usemannallee 3 + D-28213 Bremen + Martin.Schroeder@ACM.org + +\endpreamble +\declarepreamble\driverpreamble +This file is part of the EverySel package +----------------------------------------- + +Copyright (C) [1996..1999] Martin Schr"oder. All rights reserved. + +To produce the documentation in the way you like you are allowed +to change this driver file. + +\endpreamble + +% Don't display progress +\keepsilent +\askforoverwritefalse +\generate{\file{everysel.sty}{\from{everysel.dtx}{package}} + \usepreamble\driverpreamble + \file{everysel.drv}{\from{everysel.dtx}{driver}} + } + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* style files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space everysel.sty} +\Msg{*} +\Msg{* To produce the documentation run the file everysel.drv} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +\endbatchfile +%% +%% End of file `everysel.ins'. -- cgit v1.2.3