diff options
100 files changed, 1909 insertions, 20990 deletions
diff --git a/Master/texmf-dist/doc/fontinst/base/README b/Master/texmf-dist/doc/fontinst/base/README index 6c5acf8fc52..9e5f39cde19 100644 --- a/Master/texmf-dist/doc/fontinst/base/README +++ b/Master/texmf-dist/doc/fontinst/base/README @@ -16,10 +16,13 @@ containing glyphs from more than one base font, taking advantage of e.g. "expert" font sets. Fontinst cannot examine files to see if they contain any -useful information, nor automatically search for files -or work with binary file formats; those tasks must -normally be done manually or with the help of some other -tool, such as the pltotf and vptovf programs. +useful information or work with binary file formats; those +tasks must normally be done manually or with the help of +some other tool, such as the pltotf and vptovf programs. +Nor can fontinst automatically search for files, but if +they are named according to the fontname scheme (Berry) +then fontinst sometimes succeeds very well in guessing +what the interesting files are called. * Documentation @@ -31,7 +34,7 @@ questions about how one uses fontinst, see this manual. Sadly, the manual has been neglected for some time, and although it was recently revised, much remains to do. -In particular, many commands still lack description and +In particular, several commands still lack description and explanations (although at least the manual now lists all the syntaxes). Some alternative sources of information that you may find useful are: @@ -109,5 +112,5 @@ General information about the mailing list is at: http://tug.org/mailman/listinfo/fontinst -7 August 2004, +16 December 2004, Lars Hellstr\"om diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex b/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex index 3d1027d9415..88911506970 100644 --- a/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex +++ b/Master/texmf-dist/doc/fontinst/base/encspecs/encspecs.tex @@ -44,7 +44,21 @@ } \makeatother \DeclareRobustCommand\ETX{\textsmaller{ETX}} - +\DeclareRobustCommand\PDF{\textsmaller{PDF}} + +% From tugboat.cls +\def\thinskip{\hskip 0.16667em\relax} +\def\endash{--} +\def\emdash{\endash-} +\makeatletter +\def\d@sh#1#2{\unskip#1\thinskip#2\thinskip\ignorespaces} +\def\dash{\d@sh\nobreak\endash} +\def\Dash{\d@sh\nobreak\emdash} +\def\ldash{\d@sh\empty{\hbox{\endash}\nobreak}} +\def\rdash{\d@sh\nobreak\endash} +\def\Ldash{\d@sh\empty{\hbox{\emdash}\nobreak}} +\def\Rdash{\d@sh\nobreak\emdash} +\makeatother \usepackage{shortvrb} \MakeShortVerb{\|} @@ -79,6 +93,9 @@ \section{Introduction} +This is a kind of FAQ on some initial questions, and my personal +answers to those. + \paragraph*{Why should one specify font encodings?} Because without a specification, font designers\footnote{Maybe not a good term, since it is really about @@ -143,7 +160,11 @@ carries some meaning, even if you usually have to combine several characters to make up even one word---whereas a \emph{glyph} simply is a piece of graphics. In printed text, glyphs are used to represent characters and the first step of reading is to determine which -character(s) a given glyph is representing. +character(s) a given glyph is representing.\footnote{Some \PDF\ viewers +also try to accomplish this, but in general they need extra +information to do it right. The generic solution provided is to embed +a \emph{ToUnicode CMap}\Ldash which is precisely a map from slots to +characters\Rdash in the \PDF\ font object.} In the output, \TeX\ neither deals with characters nor glyphs, really (although many of its messages speak of characters), but with @@ -302,8 +323,8 @@ of |\lccode| values. In \eTeX\ each set of hyphenation patterns has its own set of |\lccode| values for hyphenation, so the problem isn't as severe there. The hyphenation mechanism of \TeXOmega\ should become -completely independent of the font encoding, but in the current -implementation it is still operating on material encoded according to +completely independent of the font encoding, although the last time I +checked it was still operating on material encoded according to a font encoding. @@ -416,10 +437,31 @@ this is to use the |\Unicode| command, which has the syntax \end{quote} The \meta{code point} is the number of the character (in hexadecimal notation, usually a four-digit number) and the \meta{name} is the name. -Case is insignificant in these arguments. If a character does not -have a Unicode code point then the specification should simply be a -description in text which identifies the character. Such descriptions -are written using the |\comment| command +Case is insignificant in these arguments. If a slot corresponds to a +string of characters rather than to a single character, then one uses +the |\charseq| command, which has the syntax +\begin{quote} + |\charseq|\marg{\cs{Unicode} commands} +\end{quote} +e.g. +\begin{quote}\begin{verbatim} +\nextslot{30} +\setslot{ffi} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0069}{LATIN SMALL LETTER I} + } +\endsetslot +\end{verbatim}\end{quote} +Several |\Unicode| commands not in the argument of a |\charseq| +instead mean that each of the listed characters is a valid +interpretation of the slot. + +If a character cannot be specified in terms of Unicode code points then +the specification should simply be a description in text which +identifies the character. Such descriptions are written using the +|\comment| command \begin{quote} |\comment|\marg{text} \end{quote} @@ -444,8 +486,8 @@ ordinary and odd ligatures need not be. No clear distinction can be made between ordinary and odd ligatures, but a non-mandatory ligature should be categorized as ordinary if it makes sense for the majority of users, and as odd otherwise. Hence the `fi' ligature is -categorized as ordinary in the \texttt{T1} encoding, whereas the `ij' -ligature is odd. +categorized as ordinary in the \texttt{T1} encoding (although it +makes no sense in Turkish), whereas the `ij' ligature is odd. In the \ETX\ format, a ligature is specified using one of the slot commands @@ -885,15 +927,9 @@ so that they do match. \subsection{Encoding specification body syntax} The \meta{body} part of an encoding specification must comply to a -much stricter syntax than the rest of the file. -The full syntax of the \ETX\ format can\footnote{Well, it should be, -only the manual hasn't been updated for a while now, so some things -are missing from it. They're all documented in the \package{fontinst} -sources~\cite{fontinst-pre}, though.} be found in the \package{fontinst} -manual~\cite{fontinst-man}, but font encoding specifications only need -a subset of that. The \meta{body} is a sequence of -\meta{encoding command}s, each of which should be one of the -following: +much stricter syntax than the rest of the file. The \meta{body} is +a sequence of \meta{encoding command}s, each of which should be one +of the following: \begin{quote} |\setslot|\marg{glyph name} \meta{slots commands} |\endsetslot|\\ |\nextslot|\marg{number}\\ @@ -905,12 +941,13 @@ following: The |\needsfontinstversion| command is usually placed immediately after the |\encoding| command. The \meta{version number} must be at least |1.918| for many of the features described in this file to be -available. +available, and at least |1.928| if the |\charseq| command is used. The \meta{slot commands} are likewise a sequence of \meta{slot command}s, each of which should be one of the following: \begin{quote} |\Unicode|\marg{code point}\marg{name}\\ + |\charseq|\marg{\cs{Unicode} commands}\\ |\comment|\marg{text}\\ |\Ligature|\marg{ligtype}\marg{right}\marg{new}\\ |\ligature|\marg{ligtype}\marg{right}\marg{new}\\ @@ -941,6 +978,10 @@ the normal \LaTeX\ |\label| command; when it is used in a \meta{slot commands} it references that particular slot (by number and glyph name). +The full syntax of the \ETX\ format can be found in the +\package{fontinst} manual~\cite{fontinst-man}, but font encoding +specifications only need a subset of that. + \subsection{Additional \package{fontdoc} features} @@ -1257,7 +1298,7 @@ the above conditions reformulated. Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth, and Lars Hellstr\"om: \textit{The \package{fontinst} utility}, documented source code, v\,1.9xx, - \ctanref{fonts/utilities/fontinst-prerelease/source}{% + \ctanref{fonts/utilities/fontinst/source}{% \textsc{ctan}:\discretionary{}{}{\thinspace}% \texttt{fonts}\slash \texttt{utilities}\slash \texttt{fontinst}\slash \texttt{source}/}. @@ -1266,7 +1307,7 @@ the above conditions reformulated. Ad\-di\-son--Wes\-ley, 1991; volume A of \textit{Computers and typesetting}. \bibitem{LaTeXCompanion} - Frank Mittelbac and Michel Goossens, with Johannes Braams, + Frank Mittelbach and Michel Goossens, with Johannes Braams, David Carlisle, and Chris Rowley: \textit{The \LaTeX\ Companion} (second edition), Ad\-di\-son--Wes\-ley, 2004; ISBN~0-201-36299-6. diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx b/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx index 8fbdb57c29c..6f07bbd6f4a 100644 --- a/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx +++ b/Master/texmf-dist/doc/fontinst/base/encspecs/ot1draft.etx @@ -1,6 +1,6 @@ \relax \documentclass[twocolumn]{article} -\usepackage[specification]{fontdoc}[2001/06/01] +\usepackage[specification]{fontdoc}[2004/11/28] \DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} @@ -10,7 +10,7 @@ \title{\texttt{OT1} encoding draft specification} \author{Lars Hellstr\"om} -\date{2001/09/09} +\date{2004/12/16} \maketitle \begin{abstract} @@ -34,7 +34,7 @@ \end{abstract} \encoding -\needsfontinstversion{1.918} +\needsfontinstversion{1.928} @@ -664,7 +664,10 @@ slot~\ref{underscore} is ordinary, not mandatory. \nextslot{11} \setslot{ff} - \Unicode{FB00}{LATIN SMALL LIGATURE FF} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + } \comment{This glyph should be two characters wide in a monowidth font.} \ligature{LIG}{i}{ffi} @@ -672,25 +675,39 @@ slot~\ref{underscore} is ordinary, not mandatory. \endsetslot \setslot{fi} - \Unicode{FB01}{LATIN SMALL LIGATURE FI} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0069}{LATIN SMALL LETTER I} + } \comment{This glyph should be two characters wide in a monowidth font.} \endsetslot \setslot{fl} - \Unicode{FB02}{LATIN SMALL LIGATURE FL} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{006C}{LATIN SMALL LETTER L} + } \comment{This glyph should be two characters wide in a monowidth font.} \endsetslot \setslot{ffi} - \Unicode{FB03}{LATIN SMALL LIGATURE FFI} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0069}{LATIN SMALL LETTER I} + } \comment{This glyph should be three characters wide in a monowidth font.} \endsetslot \setslot{ffl} - \Unicode{FB04}{LATIN SMALL LIGATURE FFL} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{006C}{LATIN SMALL LETTER L} + } \comment{This glyph should be three characters wide in a monowidth font.} \endsetslot @@ -967,6 +984,15 @@ only worked for fonts which have \(\mathit{ligaturing} = 2\), but that can be fixed; see~\cite{latex/3368}. +\section{Changes} + +The changes made to this specification since the original 2001/09/09 +version are as follows. + +2004/12/16: Changed the f-ligatures to character sequences, which +makes more sense for \texttt{CMap}s. Incremented needed versions +accordingly. /LH + \begin{thebibliography}{9} \bibitem{ltoutenc} diff --git a/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx b/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx index d160fab4e02..d82c9e53ed0 100644 --- a/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx +++ b/Master/texmf-dist/doc/fontinst/base/encspecs/t1draft.etx @@ -1,6 +1,6 @@ \relax \documentclass[twocolumn]{article} -\usepackage[specification]{fontdoc}[2001/06/18] +\usepackage[specification]{fontdoc}[2004/11/28] \usepackage{shortvrb} \MakeShortVerb{\|} @@ -23,7 +23,7 @@ \encoding -\needsfontinstversion{1.918} +\needsfontinstversion{1.928} \begincomment \section{Mandatory characters} @@ -688,6 +688,11 @@ is less of a disadvantage. which could have made better use of this slot; the only function of this slot which could not have been handled using macros is that |\SS| and |SS| can have different hyphenation.} + \label{SS} + \charseq{ + \Unicode{0053}{LATIN CAPITAL LETTER S} + \Unicode{0053}{LATIN CAPITAL LETTER S} + } \endsetslot \setslot{agrave} @@ -1229,9 +1234,13 @@ therefore be replaced by others or completely left out if the ligature programs are modified accordingly. \endcomment + \nextslot{27} \setslot{ff} - \Unicode{FB00}{LATIN SMALL LIGATURE FF} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + } \comment{This glyph should be two characters wide in a monowidth font.} \ligature{LIG}{i}{ffi} @@ -1239,25 +1248,39 @@ ligature programs are modified accordingly. \endsetslot \setslot{fi} - \Unicode{FB01}{LATIN SMALL LIGATURE FI} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0069}{LATIN SMALL LETTER I} + } \comment{This glyph should be two characters wide in a monowidth font.} \endsetslot \setslot{fl} - \Unicode{FB02}{LATIN SMALL LIGATURE FL} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{006C}{LATIN SMALL LETTER L} + } \comment{This glyph should be two characters wide in a monowidth font.} \endsetslot \setslot{ffi} - \Unicode{FB03}{LATIN SMALL LIGATURE FFI} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0069}{LATIN SMALL LETTER I} + } \comment{This glyph should be three characters wide in a monowidth font.} \endsetslot \setslot{ffl} - \Unicode{FB04}{LATIN SMALL LIGATURE FFL} + \charseq{ + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{0066}{LATIN SMALL LETTER F} + \Unicode{006C}{LATIN SMALL LETTER L} + } \comment{This glyph should be three characters wide in a monowidth font.} \endsetslot @@ -1414,6 +1437,10 @@ it's not to be used for ranges. /LH to the discussion section. Also added remark on \texttt{grave} versus \texttt{gravecomb}. /LH +2004/11/28: Changed the f-ligatures to character sequences, which +makes more sense for \texttt{CMap}s. Added equivalent for +slot~\ref{SS}. /LH + \begin{thebibliography}{9} \bibitem{AGL} diff --git a/Master/texmf-dist/doc/fontinst/base/manual/fontinst.dvi b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.dvi Binary files differnew file mode 100644 index 00000000000..ae8133acad4 --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.dvi diff --git a/Master/texmf-dist/doc/fontinst/base/manual/fontinst.pdf b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.pdf Binary files differindex af1d415db39..20c50851cdd 100644 --- a/Master/texmf-dist/doc/fontinst/base/manual/fontinst.pdf +++ b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.pdf diff --git a/Master/texmf-dist/doc/fontinst/base/manual/fontinst.tex b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.tex index b87c937e515..19f5f012231 100644 --- a/Master/texmf-dist/doc/fontinst/base/manual/fontinst.tex +++ b/Master/texmf-dist/doc/fontinst/base/manual/fontinst.tex @@ -2,9 +2,9 @@ %%% @LaTeX-file{ %%% author = "Alan Jeffrey and Rowland McDonnell and %%% Ulrik Vieth and Lars Hellstr{\"o}m", -%%% version = "1.927", -%%% date = "6 August 2004", -%%% time = "22:10:00 CEST", +%%% version = "1.928", +%%% date = "2004-12-16", +%%% time = "12:18:32 +01:00", %%% filename = "fontinst.tex", %%% email = "fontinst@tug.org", %%% checksum = "", @@ -29,7 +29,10 @@ \usepackage[OT1]{fontenc} \usepackage{url,xspace} \usepackage{graphicx} -% \renewcommand\rmdefault{ppl} + +\IfFileExists{palatino.flag}{ + \renewcommand\rmdefault{ppl} +} %\renewcommand\rmdefault{padx} %\renewcommand\rmdefault{pmnx} @@ -128,7 +131,34 @@ % % \catcode`\<=\active % % \catcode`\>=\active % } +% \makeatother + + +% ltxguide.cls decl environment, but with equal space above and +% below. +\DeleteShortVerb{\|} +\makeatletter +\newenvironment{decl*}[1][]{% + \par + \small\addvspace{2.3ex}% + \vskip -\parskip + \ifx\relax#1\relax + \def\@decl@date{}% + \else + \def\@decl@date{\NEWfeature{#1}}% + \fi + \noindent\hspace{-\leftmargini}% + \begin{tabular}{|l|}% + \hline\ignorespaces +}{% + \\\hline + \end{tabular}% + \nobreak\@decl@date\par\nobreak + \vspace{2.3ex}\vskip -\parskip +} \makeatother +\MakeShortVerb{\|} + % Set spacing around captions. @@ -158,6 +188,8 @@ \newcommand{\Dvips} {\setpackagename{Dvips}\xspace} \newcommand{\fontinst}{\setpackagename{font\-inst}\xspace} \newcommand{\Fontinst}{\setpackagename{Font\-inst}\xspace} +\newcommand{\fontdoc}{\setpackagename{font\-doc}\xspace} +\newcommand{\Fontdoc}{\setpackagename{Font\-doc}\xspace} % \show\fontname \newcommand{\fontnamekb}{fontname\xspace} @@ -302,9 +334,7 @@ \author{Alan Jeffrey\and Rowland McDonnell\and Lars Hellstr\"om} \illustration{roadmap.eps} \version{1.9} -\date{July 2004} - -\errorcontextlines=999 +\date{December 2004} \begin{document} @@ -722,10 +752,10 @@ Such blocks have the structure The \m{install commands} describe the fonts, glyphs and encodings used to build fonts, whereas the purpose of the delimiting |\installfonts| and |\endinstallfonts| are rather to organise the writing of \fd files. -\begin{decl} +\begin{decl*} |\installfonts|\\ |\endinstallfonts| -\end{decl} +\end{decl*} At |\installfonts|, \fontinst's internal list of \fd files to generate are cleared. At |\endinstallfonts|, \fd files are written for those combinations of encoding and font family that appeared in the @@ -741,11 +771,11 @@ combinations of encoding and font family that appeared in the \end{hackernote} The most important \meta{install command} is -\begin{decl} +\begin{decl*} |\installfont|\arg{font-name}\arg{metrics-list}\arg{etx-list}\\ \hspace*{1.5em}\arg{encoding}\arg{family}\arg{series}% \arg{shape}\arg{size} -\end{decl} +\end{decl*} This produces a \TeX\ virtual font called \m{font-name}. The \meta{metrics-list} and the \meta{etx-list} determine this font, whereas the other arguments specify how the \fd file will declare it @@ -764,14 +794,14 @@ metric properties in memory, and then the \etx files are processed (several times) to select a set of glyphs and write the corresponding information to a \vpl file. -For example, to install the T1-encoded Times Roman font +For example, to install the \texttt{T1}-encoded Times Roman font (using \texttt{t1.etx} and \texttt{latin.mtx}), you say: \begin{verbatim} \installfont{ptmr8t}{ptmr8r,latin}{t1} {T1}{ptm}{m}{n}{} \end{verbatim} -To install a OT1-encoded Times Roman font with a scaled version of -Symbol for the Greek letters, you say: +To install a \texttt{OT1}-encoded Times Roman font, with a scaled +version of Symbol for the Greek letters, you say: \begin{verbatim} \installfont{zptmrsy}{ptmr8r,psyr scaled 1100,latin}{ot1} {OT1}{ptm}{m}{n}{} @@ -780,18 +810,18 @@ Symbol for the Greek letters, you say: As the second example indicates, there is more to the list items than just file names. In the case of an metrics list item, the syntax permits the two forms -\begin{decl} +\begin{decl*} \meta{filename}\meta{optional modifiers}\\ |\metrics| \meta{metric commands} -\end{decl} +\end{decl*} \NEWfeature{v1.923} where an \meta{optional modifier} is one of -\begin{decl} +\begin{decl*} \verb*| scaled |\meta{rawscale factor}\\ \verb*| suffix |\meta{glyph name suffix}\\ \verb*| encoding |\meta{etx}\\ \verb*| option |\meta{string} -\end{decl} +\end{decl*} A list item may contain several such modifiers, but most commonly it does not contain any. The \meta{metric commands} are explicit metric commands, as described in @@ -837,23 +867,23 @@ whether a particular string has been supplied as an option. The elements in the \meta{etx-list} have fewer variants, but there is still a general syntax -\begin{decl} +\begin{decl*} \meta{filename}\meta{optional modifiers} -\end{decl} -The only \meta{optional modifier} permitted is however -\begin{decl} - \verb*| mtxasetx| -\end{decl} -and that is probably only relevant for use with |\installrawfont| (see -below). +\end{decl*} +The \meta{optional modifier}s permitted are: +\begin{decl*} + \verb*| mtxasetx|\\ + \verb*| option |\meta{string} +\end{decl*} +The \texttt{option} one is as for metric files. \texttt{mtxasetx} is +probably only relevant for use with |\installrawfont| (see below). -\begin{decl} +\begin{decl}[v1.912] |\installfontas|\arg{font-name}\\% \hspace*{1.5em}\arg{encoding}\arg{family}\arg{series}% \arg{shape}\arg{size} \end{decl} -\NEWfeature{v1.912} This install command adds an \fd entry for the \meta{font-name}, but it doesn't actually generate that font. Usually that font was generated by a previous |\installfont|, and this is used to create @@ -874,7 +904,7 @@ The normal reason for using this command is that one wishes to ``refine'' the metrics of a font that was generated by transformation commands. -For example, to install an 8r-encoded Times Roman raw font +For example, to install an \texttt{8r}-encoded Times Roman raw font (using \texttt{8r.etx} and \texttt{8r.mtx}), you say: \begin{verbatim} \installrawfont{ptmr8r}{ptmr8r,8r}{8r} @@ -882,10 +912,9 @@ For example, to install an 8r-encoded Times Roman raw font \end{verbatim} The effect of a -\begin{decl} +\begin{decl*}[v1.923] \meta{filename}\verb*| mtxasetx| -\end{decl} -\NEWfeature{v1.923} +\end{decl*} in the \meta{etx-list} is not that \meta{filename}\texttt{.etx} is read, but that \meta{filename}\texttt{.mtx} is read. The interpretation of the commands in this file is however not the @@ -928,8 +957,8 @@ of encoding and family, and clears the internal list of entries to put in that file. |\installfamily| commands usually come first in each block of \meta{install commands}. -For example, to produces a \LaTeX\ family with the Cork-encoded Times -family, you say: +For example, to produces a \LaTeX\ family with the \texttt{T1}-encoded +Times family, you say: \begin{verbatim} \installfamily{T1}{ptm}{} \end{verbatim} @@ -943,6 +972,14 @@ In more recent versions of \fontinst, the |\installfamily| command is only necessary if you want the \m{fd-commands} argument to be nonempty, but it doesn't hurt to make it explicit. +\begin{hackernote} + The \m{fd-commands} argument is tokenized with the current catcodes + and written to file without expansion. In particular this means + that spaces will be inserted after all control sequences whose + names consists of letters, which can be unexpected if you intend to + make use of control sequences whose names contain |@| characters. +\end{hackernote} + @@ -957,14 +994,14 @@ condensed or re-encoded. \emph{It is the responsibility of the device driver to implement this transform.} Each \verb|\transformfont| command writes out an \mtx file and a raw \pl file for \m{font-name}. -A \m{transformed font} is given by the following commands: -\begin{decl} +The following commands are valid \m{transformed font}s: +\begin{decl*} |\fromafm|\arg{afm}\\ |\fromany|\arg{whatever}\\ |\frompl|\arg{pl}\\ |\fromplgivenetx|\marg{pl}\marg{etx}\\ |\frommtx|\arg{mtx} -\end{decl} +\end{decl*} This reads the metrics of a font which is about to be transformed from an external file. |\fromafm|, |\frompl|, and |\fromplgivenetx| write out an \mtx file corresponding to the \afm or \pl file. In addition, @@ -977,21 +1014,21 @@ a file in any of the formats (in the order \mtx, \pl, \afm) and behaves as the first |\from|\dots\ for which it found a file. A \m{transformed font} may also be one of the following: -\begin{decl} +\begin{decl*} |\scalefont|\arg{integer expression}\arg{transformed font}\\ |\xscalefont|\arg{integer expression}\arg{transformed font}\\ |\yscalefont|\arg{integer expression}\arg{transformed font}\\ |\slantfont|\arg{integer expression}\arg{transformed font} -\end{decl} +\end{decl*} This applies a geometric transformation to the font metrics of \m{transformed font}. The scale factor or slant factor are given in 1000 units to the design size. Typical examples are 167 for slanted fonts or 850 for condensed fonts. The final case of a \m{transformed font} is: -\begin{decl} +\begin{decl*} |\reencodefont|\arg{etx}\arg{transformed font} -\end{decl} +\end{decl*} This rearranges the encoding vector of \m{transformed font} to match the encoding given by the \etx file. @@ -999,12 +1036,16 @@ the encoding given by the \etx file. For example, to create an oblique, |8r|-encoded version of Adobe Times called \texttt{ptmro8r} you say: \begin{verbatim} - \transformfont{ptmro8r}{\reencodefont{8r}{\slantfont{167}{\fromafm{ptmr8a}}}} + \transformfont{ptmro8r}{ + \reencodefont{8r}{ + \slantfont{167}{\fromafm{ptmr8a}} + } + } \end{verbatim} This will create \texttt{ptmr8a.mtx}, \texttt{ptmr8a.pl}, \texttt{ptmro8r.mtx} and \texttt{ptmro8r.pl}, which can then be used -as raw fonts in \verb|\installfont| commands. The same transformation -can also be achieved in two steps: +as raw fonts in \verb|\installfont| commands. The equivalent +transformation can also be achieved in two steps: \begin{verbatim} \transformfont{ptmr8r}{\reencodefont{8r}{\fromafm{ptmr8a}}} \transformfont{ptmro8r}{\slantfont{167}{\frommtx{ptmr8r}}} @@ -1019,6 +1060,40 @@ you add a line to \texttt{psfonts.map}: \begin{verbatim} ptmro8r Times-Roman ".167 SlantFont TeXBase1Encoding ReEncodeFont" <<8r.enc \end{verbatim} +See Section~\ref{Sec:Mapmaking} and +Subsection~\ref{Ssec:MapFragments} for details on how to generate +such lines automatically. + + +\subsection{Reglyphing commands} + +``Reglyphing'' is an \mtx file transformation that changes glyph +names but leaves the slot numbers and metrics as they were; +optionally it may drop some of the metric commands. See +Subsection~\ref{Ssec:Des:Reglyph} for an introduction to this. + +\begin{decl} + |\reglyphfonts|\\ + |\endreglyphfonts| +\end{decl} + +\begin{decl} + |\reglyphfont|\marg{destination font}\marg{source font} +\end{decl} + +\begin{decl} + |\renameglyph|\marg{to}\marg{from}\\ + |\renameglyphweighted|\marg{to}\marg{from}\marg{weight}\\ + |\killglyph|\marg{glyph}\\ + |\killglyphweighted|\marg{glyph}\marg{weight} +\end{decl} + +\begin{decl} + |\offmtxcommand|\marg{command}\\ + |\onmtxcommand|\marg{command} +\end{decl} + + \subsection{Miscellaneous settings} @@ -1069,8 +1144,8 @@ control over what \fd entries will be made. \begin{decl} |\declaresize|\arg{size}\arg{fd-size-range} \end{decl} -This declares a new size, and gives the \fd commands for it. For -example, \url{fontinst.sty} declares the following sizes: +This declares a new size, and gives the \fd size specifications for +it. For example, \url{fontinst.sty} declares the following sizes: \begin{verbatim} \declaresize{}{<<->>} \declaresize{5}{<<5>>} @@ -1090,7 +1165,7 @@ example, \url{fontinst.sty} declares the following sizes: \begin{decl} |\declareencoding|\arg{string}\arg{etx} \end{decl} -This declares which \etx file corresponds to which encoding +This declares which \etx file corresponds to which \texttt{codingscheme} string. For example, \url{fontinst.sty} declares the following encoding strings: \begin{verbatim} @@ -1112,16 +1187,14 @@ encoding strings: \subsection{Other} -The following commands belong to this section, but there is currently -no description of them here. +The following commands also belong to this section, but there is +currently no description of them here. |\afmtomtx|\marg{afmfile}\marg{mtxfile} |\endrecordtransforms| -|\endreglyphfonts| - |\etxtopl|\marg{encoding list}\marg{plfile} |\etxtovpl|\marg{encoding list}\marg{vplfile} @@ -1130,10 +1203,6 @@ no description of them here. |\generalpltomtx|\marg{plfile}\marg{mtxfile}\marg{plsuffix}\marg{opt-enc} -|\killglyph|\marg{glyph} - -|\killglyphweighted|\marg{glyph}\marg{weight} - |\latinfamily|\marg{family}\marg{commands} |\mtxtomtx|\marg{source MTX}\marg{destination MTX} @@ -1142,69 +1211,189 @@ no description of them here. |\NOFILES| -|\offmtxcommand|\marg{command} +|\recordtransforms|\marg{filename} -|\onmtxcommand|\marg{command} -|\recordtransforms|\marg{filename} -|\reglyphfont|\marg{destination font}\marg{source font} -|\reglyphfonts| +\section{Mapmaking commands} +\label{Sec:Mapmaking} -|\renameglyph|\marg{to}\marg{from} +The commands described in this section are for use with command files +that input \texttt{finstmsc.sty}. -|\renameglyphweighted|\marg{to}\marg{from}\marg{weight} +\subsection{Mapfile command reference} +For an introduction to making map file entries, see +Subsection~\ref{Ssec:MapFragments}. -\section{Mapmaking commands} +\begin{decl} + |\adddriver|\marg{driver name}\marg{fragment file name} +\end{decl} +This opens the file \meta{fragment file name} for writing mapfile +entries to. The \meta{driver name} selects the format of these +entries. -The following commands belong to this section, but there is currently -no description of them here. Note that several of them have a -different syntax and meaning than they do in fontmaking command files. +\begin{decl} + |\makemapentry|\marg{\TeX\ font name} +\end{decl} +This causes a mapfile entry for the specified font to be written to +all files currently open for receiving mapfile entries. These +commands are usually automatically generated by \fontinst. -|\adddriver|\marg{driver name}\marg{fragment file name} +\begin{decl} + |\donedrivers| +\end{decl} +This closes all files open for receiving mapfile entries. -|\AssumeAMSBSYY| -|\AssumeBaKoMa| +\subsection{Drivers} -|\AssumeLWFN| +The \meta{driver name}s that may be used with |\adddriver| are: -|\AssumeMetafont| +\begin{decl} + |dvips| +\end{decl} +The \dvips driver. The mapfiles generated are useful also with pdf\TeX. -|\debugvalue|\arg{name} +\begin{decl} + |dvipdfm| +\end{decl} +The \setpackagename{dvipdfm} \dvi-to-\pdf driver. Not much tested, +but appears to work. -|\declarepsencoding|\marg{etx}\marg{postscript name}\marg{action} +\begin{decl}[v1.915] + |pltotf| +\end{decl} +Not really a \dvi driver. The file that is generated is a shell +script of \texttt{pltotf} commands for converting precisely those \pl +files which are needed to \tfm files (\fontinst generally generates +also a bunch of \pl files that in the end turn out to be +unnecessary). The \texttt{TFMfileprefix} variable can be used to +specify a path to the directory where these files should be placed. -|\donedrivers| +\begin{decl} + |debug| +\end{decl} +Not a \dvi driver either, but for each base font a report on the +information that was available. Useful if you need to write the +driver file yourself. -|\download|\marg{file} -|\enctoetx|\marg{encfile}\marg{etxfile} +\subsection{Configuration commands} -|\etxtoenc|\marg{etxfile}\marg{encfile} +The following commands configure the generation of mapfile entries, +mostly with respect to how various pieces of information are deduced +from other pieces. -|\fromafm|\marg{AFM name}\marg{PS name} +\begin{decl} + |\AssumeAMSBSYY|\\ + |\AssumeBaKoMa|\\ + |\AssumeLWFN|\\ + |\AssumeMetafont| +\end{decl} -|\frompl|\marg{PL name} +\begin{decl} + |\declarepsencoding|\marg{etx}\marg{postscript name}\marg{action} +\end{decl} -|\frommtx|\marg{MTX name} +\begin{decl} + |\specifypsfont|\marg{PS font name}\marg{actions} +\end{decl} -|\fromvpl| -|\makemapentry|\marg{\TeX\ font name} +An \meta{action} is one of +\begin{decl*}[v1.928] + |\download|\marg{file}\\ + |\fulldownload|\marg{file} +\end{decl*} +where \meta{file} is a file to download (`download' typically means +``include in the generated \PS output or equivalent''). The difference +between |\download| and |\fulldownload| have to do with how partial +downloading (subsetting) of fonts should be handled. |\download| means +use the driver's defaults (often settable via command line options) +for this. |\fulldownload| means don't subset: always include the full +font, if \fontinst knows how to express this in a map file entry for +this particular driver. -|\reencodefont|\marg{etx} +Additional actions could be added in the future, if there is a need +for them. -|\reglyphfont| -|\specifypsfont|\marg{PS font name}\marg{actions} +\begin{decl} + |\storemapdata|\marg{\TeX\ font name}\marg{source}\marg{transforms} +\end{decl} +This records information about how the font named \meta{\TeX\ font +name} was generated. Such commands are usually found in the file of +recorded transforms. If a font is encountered for which no +information has been stored, then the corresponding \mtx file will be +sourced, looking for a |\storemapdata| command there. + +A \meta{source} is one of +\begin{decl*} + |\fromafm|\marg{AFM name}\marg{PS name}\\ + |\frompl|\marg{PL name}\\ + |\frommtx|\marg{MTX name}\\ + |\fromvpl| +\end{decl*} +Note that several of them have a different syntax and meaning than +they do in fontmaking command files. + +A \meta{transform} is one of +\begin{decl*} + |\reencodefont|\marg{etx}\\ + |\reglyphfont|\\ + |\transformfont|\marg{x-scale}\marg{slant-scale} +\end{decl*} +Note that all of these have a different meaning than they do in +fontmaking command files. -|\storemapdata|\marg{\TeX\ font name}\marg{source}\marg{transforms} +\begin{decl} + |\debugvalue|\arg{name} +\end{decl} +This adds a value to the list of those that are reported by the +\texttt{debug} driver. Example: +\begin{verbatim} + \debugvalue{PS_font_file} +\end{verbatim} + + + +\subsection{Basic conversion commands} + +Some of the basic ``convert an $X$ file to a $Y$ file'' commands in +\fontinst are not useful as part of a fontmaking run, and are +available only in \texttt{finstmsc.sty} to conserve some memory. + +\begin{decl} + |\enctoetx|\marg{encfile}\marg{etxfile} +\end{decl} +This reads the file \meta{encfile}\texttt{.enc} which should be +simple \PS code defining a \PS encoding vector and generates a +corresponding rudimentary \fontinst encoding file +\meta{etxfile}\texttt{.etx}. It's a basic ``import encoding to +\fontinst'' command. + +\begin{decl}[v1.911] + |\etxtoenc|\marg{etxfiles}\marg{encfile} +\end{decl} +This does the opposite of |\enctoetx|; the information in the \etx +files that is converted is the correspondence between slots and glyph +names. +\NEWfeature{v1.927} +The \meta{etxfiles} argument is a comma-separated list of encoding +files which are superimposed to generate the \PS encoding. The first +|\setslot| for a particular slot is the one which decides which glyph +will be placed there. + +\begin{decl}[v1.928] + |\etxtocmap|\marg{etxfile}\marg{cmapfile} +\end{decl} +This reads an \etx file and generates a corresponding ToUnicode CMap +file; the information that is converted is the map from slot numbers +to |\Unicode| code points. -|\transformfont|\marg{x-scale}\marg{slant-scale} @@ -1237,11 +1426,11 @@ and end the group at some point after having read them. Taking string variables as an example, there are three commands for changing a string variable: -\begin{decl} +\begin{decl*} |\setstr|\arg{name}\arg{string expression}\\ |\resetstr|\arg{name}\arg{string expression}\\ |\unsetstr|\arg{name} -\end{decl} +\end{decl*} The |\resetstr| command unconditionally sets the string variable \meta{name} to the full expansion of the \meta{string expression}. The |\unsetstr| command unconditionally renders the string variable @@ -1257,68 +1446,20 @@ variables is recurring in \fontinst. Variables are most commonly set using some |\set|\dots\ command; this has the effect that the first command to try to set a variable is the one which actually sets it. +If |\set|\dots\ is the command for setting the value of a variable, +the command for getting that value has the same name without the +|set| part, e.g., |\setint|--|\int|, |\setkern|--|\kern|, etc. There +are typically also conditionals for testing whether variables are +set, and these take the form |\ifis|\dots\arg{name}|\then|. -% \subsection{Argument types} -% -% There are roughly five types of arguments that \fontinst -% commands can take. These are -% \begin{itemize} -% \item integer expressions, -% \item string expressions, -% \item dimensions, -% \item commands (i.e., \TeX\ control sequences), and -% \item other (pretty much ``none of the above''). -% \end{itemize} -% The most common form of an integer expression is simply a \TeX\ -% \meta{number} and the most common form of a string expression is -% simply a sequence of character tokens, but there are more complicated -% forms. Dimensions are simply \TeX\ \meta{dimen}s; their use is rather -% limited. Common to integer expressions, string expressions, and -% dimensions is that these argument types get expanded during -% evaluation (in the case of string expressions, this expansion -% \emph{is} the evaluation), which means one can use macros in -% arguments of these types. -% -% Command arguments do not get expanded---they are mainly used with -% commands that modify the definitions of other commands. As for the -% ``other'' arguments one cannot give any rules: they might get -% expanded, but it could also happen that they won't. - - - - - -% There are three types of files used by the \fontinst package: -% \begin{itemize} -% \item \emph{fontinst files} contain commands to process fonts -% metrics so you can use a font with \TeX. For example, -% \texttt{fontptcm.tex} is a \emph{fontinst file}. -% -% \item \emph{encoding files} contain information about an encoding, -% including the code table, ligatures, and font dimensions. For -% example, \texttt{8r.etx} is an \emph{encoding file}. -% -% \item \emph{metric files} contain information about glyphs, -% including glyph dimensions, composite characters, and kerning. -% For example, \texttt{latin.mtx} is a \emph{metric file}. -% \end{itemize} - - -\subsection{General commands} - -The following \emph{general commands} can be used anywhere: - -\begin{decl} - |\needsfontinstversion|\arg{version} -\end{decl} -This issues a warning if the current version of the \fontinst -package is less than \m{version}. +The following commands for changing the value of a variable can be +used anywhere: \begin{decl} |\setdim|\arg{dim}\arg{dimension}\\ |\setint|\arg{int}\arg{integer expression}\\ - |\setstr|\arg{str}\arg{string} + |\setstr|\arg{str}\arg{string expression} \end{decl} If the dimension variable \m{dim} is currently undefined, it is defined to be the current value of \m{dimension}. @@ -1327,13 +1468,14 @@ If the integer variable \m{int} is currently undefined, it is defined to be the current value of \m{integer expression}. If the string variable \m{str} is currently undefined, it is -defined to be the current value of \m{string}. +defined to be the current value of \m{string expression}. \begin{decl} |\setcommand|\arg{command}\meta{parameter text}\arg{replacement text} \end{decl} -If the command \m{command} is currently undefined, it is defined -to be the \m{definition}. This uses the same syntax for +If the command \m{command} is currently undefined, it is defined to +grab parameters as specified by the \meta{parameter text} and then +expand to the \m{replacement text}. This uses the same syntax for parameters as the \TeX\ \verb|\def| command. \begin{center} \begin{tabular}{r l} @@ -1345,11 +1487,18 @@ parameters as the \TeX\ \verb|\def| command. \multicolumn{2}{c}{and so on.} \end{tabular} \end{center} +Some examples: +\begin{verbatim} + \setcommand\lc#1#2{#2} + \setcommand\lc#1#2{#1small} +\end{verbatim} +With the first definition, |\lc{A}{a}| expands to |a|, but with the +second it expands to |Asmall|. \begin{decl} |\resetdim|\arg{dim}\arg{dimension}\\ |\resetint|\arg{int}\arg{integer expression}\\ - |\resetstr|\arg{str}\arg{string} + |\resetstr|\arg{str}\arg{string expression} \end{decl} The dimension variable \m{dim} is defined to be the current value of \m{dimension}. @@ -1358,36 +1507,15 @@ The integer variable \m{int} is defined to be the current value of \m{integer expression}. The string variable \m{str} is defined to be the current value of -\m{string}. +the \m{string expression}. (|\resetstr| mostly boils down to a \TeX\ +|\edef| command.) \begin{decl} |\resetcommand|\arg{command}\meta{parameter text}\arg{replacement text} \end{decl} -The command \m{command} is defined to be the \m{definition}, -regardless of whether it was already defined or not. This is a -synonym for the \TeX\ \verb|\def| command. - -\begin{decl} - |\ifisint|\arg{int}|\then|\\ - |\ifisdim|\arg{dim}|\then|\\ - |\ifisstr|\arg{str}|\then|\\ - |\ifisglyph|\arg{glyph}|\then|\\ - |\ifiscommand|\arg{command}|\then| -\end{decl} -Expands out to \verb|\iftrue| if the integer variable -\m{int} is defined, and \verb|\iffalse| otherwise. - -Expands out to \verb|\iftrue| if the dimension variable -\m{dim} is defined, and \verb|\iffalse| otherwise. - -Expands out to \verb|\iftrue| if the string variable -\m{str} is defined, and \verb|\iffalse| otherwise. - -Expands out to \verb|\iftrue| if the glyph variable -\m{glyph} is defined, and \verb|\iffalse| otherwise. - -Expands out to \verb|\iftrue| if the command -\m{command} is defined, and \verb|\iffalse| otherwise. +The command \m{command} is defined to grab parameters as specified by +the \meta{parameter text} and then expand to the \m{replacement text}. +This is a synonym for the \TeX\ \verb|\def| command. \begin{decl} |\unsetdim|\arg{dim}\\ @@ -1398,6 +1526,73 @@ Expands out to \verb|\iftrue| if the command Makes \m{dim}, \m{int}, \m{str}, or \m{command} an undefined dimension, integer, string or command. +\begin{decl}[v1.900] + |\offcommand|\marg{command}\\ + |\oncommand|\marg{command} +\end{decl} +|\offcommand| turns off a command, i.e., it redefines it to do +nothing (while still taking the same number of arguments). +|\oncommand| turns a command back on, i.e., it restores the +definition the command had before a previous |\offcommand|. Using +|\offcommand| on a command that is already off or |\oncommand| on a +command that is not off has no effect. + + +\subsection{Argument types} + +There are roughly six types of arguments that \fontinst +commands can take. These are +\begin{itemize} + \item integer expressions, + \item string expressions, + \item comma-separated lists of string expressions, + \item dimensions, + \item commands (i.e., \TeX\ control sequences), and + \item other (pretty much ``none of the above''). +\end{itemize} +Integer expressions are explained in Subsection~\ref{Sec:integer} +below. + +The most common form of a string expression is simply a sequence of +character tokens, but any balanced text which expands to such a +sequence of tokens is legal. Several of the standard \etx files use +macros in string expressions to make glyph names to some extent +configurable. Besides such custom macros, the following \fontinst +commands may be used to access variable values inside a string +expression +\begin{decl*} + |\strint|\arg{int}\\ + |\str|\arg{str}\\ + |\dim|\arg{dim} +\end{decl*} +Incidentally, these \m{int}, \m{str}, and \m{dim} are themselves +string expressions (for the names of integer, string, and dimen +respectively variables). + +Dimensions are simply \TeX\ \meta{dimen}s; their use is rather +limited. \Fontinst does not provide for any sort of ``dimen +expressions''. Most actual lengths are expressed as integer +expressions, in \afm units ($1/1000$ of the font size). + +Common to integer expressions, string expressions, and +dimensions is that these argument types get expanded during +evaluation (in the case of string expressions, this expansion +\emph{is} the evaluation), which means one can use macros in +arguments of these types. Command arguments do not get +expanded---they are mainly used with commands that modify the +definitions of other commands. + +Comma-separated lists of string expressions are first split at commas +(without prior expansion) and each element is then treated as a +string expression (i.e., \emph{gets expanded}). (As remarked elsewhere, +the \meta{metrics-list} argument of |\installfont| is not properly a +comma-separated list of string expressions, even though it may look +like one.) +As for the ``other'' arguments one cannot give any rules: they +might get expanded, but it could also happen that they won't. + + + \subsection{Integer expressions} \label{Sec:integer} @@ -1412,7 +1607,9 @@ The \emph{integer expressions} are: \begin{decl} \m{number} \end{decl} -Returns the value of a \TeX\ \m{number} (as explained in \emph{The \TeX book}). +Returns the value of a \TeX\ \m{number} (as explained in +\emph{The \TeX book}). Typical examples of this kind of integer +expression are |0|, |1000|, |538|, |-20|, etc. \begin{decl} |\int|\arg{int} @@ -1431,8 +1628,10 @@ variable \m{glyph}. \begin{decl} |\kerning|\arg{left}\arg{right} \end{decl} -Returns the kerning between the \m{left} and \m{right} glyph -variables. +Returns the kerning between the \m{left} and \m{right} glyphs. Unlike +other types of variable accesses, where it is an error to access +something that has not been explicitly set, this command returns |0| +if no kern has been set between the two glyphs. \begin{decl} |\neg|\arg{integer expression}\\ @@ -1452,95 +1651,277 @@ variables. |\sub| returns the first \m{integer expression} minus the second. +|\max| returns the maximum of the two \m{integer expression}s. + +|\min| returns the minimum of the two \m{integer expression}s. + |\mul| returns the product of the two \m{integer expression}s. |\div| returns the first \m{integer expression} divided by the second. |\scale| returns the first \m{integer expression} times the second, -divided by 1000. +divided by 1000. |\scale| does better rounding than the corresponding +combination of |\mul| and |\div|. + +|\half| returns half the \m{integer expression}. It does better +rounding than |\scale|\arg{integer expression}|{500}| or +|\div|\arg{integer expression}|{2}|. + +|\otherhalf| returns the ``other half'' of the \m{integer +expression}, i.e., the sum of |\half| something and |\otherhalf| the +same thing is that thing back. + + +\subsection{Conditionals and loops} + +\Fontinst has a rather extensive family of conditionals (|\if|s), and +as of late also some convenient loop commands. The most common forms +of a \fontinst conditional are +\begin{decl*} + |\if|\dots \meta{argument(s)}|\then| \meta{then branch} |\Fi|\\ + |\if|\dots \meta{argument(s)}|\then| \meta{then branch} |\Else| + \meta{else branch} |\Fi| +\end{decl*} +i.e., \fontinst uses Plain\TeX\ style conditionals rather than \LaTeX\ +style conditionals. Every |\if|\dots\ command can be thought of as +testing some condition. If the condition is true then the \meta{then +branch} will be executed, but not the \meta{else branch} (if there is +one). If the condition is false then the \meta{then branch} will nor be +executed, but if there is an \meta{else branch} then that will be +executed. Conditionals may be nested (i.e., occur in the then or else +branch). +\begin{hackernote} + The |\then| is not just syntactic sugar, but a functional part of + those conditionals which take arguments. Its purpose is to look + like an |\if| to \TeX\ when the conditional occurs in a skipped + branch of another conditional. +\end{hackernote} -\subsection{Other} +The most common conditionals are those which test if a variable is set. +\begin{decl*} + |\ifisint|\arg{int}|\then|\\ + |\ifisdim|\arg{dim}|\then|\\ + |\ifisstr|\arg{str}|\then|\\ + |\ifiscommand|\arg{command}|\then| +\end{decl*} +These cause the following \meta{then branch} to be executed if the +specified variable is set, and the \meta{else branch} to be executed +if the variable is not set. The \meta{int}, \meta{dim}, and +\meta{str} are string expressions for the names of an integer, +dimension, and string respectively variable. The \meta{command} is +the actual control sequence (command variable) that should be tested. -The following commands belong to this section, but there is currently -no description of them here. +\begin{decl} + |\ifisglyph|\arg{glyph}|\then| +\end{decl} +This similarly tests if a glyph (also a variable of a kind) is set in +the current glyph base. The glyph name \meta{glyph} is a string +expression. -|\begincomment| +\begin{decl}[v1.917] + |\ifareglyphs|\marg{glyph list}|\then| +\end{decl} +This command tests whether all the glyphs in the \meta{glyph list} +(a comma-separated list of string expressions) are set in the current +glyph base. If one of the glyphs is not set then condition is false. -|\bye| +\begin{decl}[v1.900] + |\ifnumber|\marg{integer expression}\meta{rel}% + \marg{integer expression}|\then| +\end{decl} +The \meta{rel} is one of \texttt{<}, \texttt{=}, and \texttt{>}. +This command evaluates the two \meta{integer expression}s and +then tests whether the specified relation holds between their values. -|\Else| +\begin{decl}[v1.900] + |\ifiskern|\marg{glyph1}\marg{glyph2}|\then| +\end{decl} +This tests whether a kern has been set with \meta{glyph1} on the left +and \meta{glyph2} on the right (both arguments are string +expressions). This is almost the negation of +\begin{verbatim} + \ifnumber{\kerning{<glyph1>}{<glyph2>}}={0}\then +\end{verbatim} +but |\ifiskern| can distinguish the case that an zero kern has been +set (true) from the case that no such kern has been set (false), +which |\kerning| can not. It is however unlikely that this +distinction would ever be of use in a practical situation. -|\endcomment| +\begin{decl}[v1.924] + |\ifoption|\marg{string}|\then| +\end{decl} +Test whether \meta{string} (a string expression) is among the current +list of options. This list is by default empty, elements are added +using |option| modifiers (cf.~the description of |\installfont|), and +the list is cleared for each new file for which one can specify +options. + +\begin{decl}[v1.909] + |\Else| + |\Fi| +\end{decl} +For \fontinst, these two control sequences are precisely the same as +the \TeX\ primitives |\else| and |\fi|, but things are a bit more +complicated in \fontdoc. The mechanism in \fontdoc\ that allows it to +present both branches of the conditional in the typeset output +requires that |\Else| and |\Fi| generate typeset output. See also the +|\showbranches| \fontdoc command. -|\endfor|\parg{name} +\begin{hackernote} + Before |\Else| and |\Fi| were introduced, the \TeX\ primitives + |\else| and |\fi| were used instead for \fontinst conditionals. + Back then, \fontdoc defined all conditionals to expand to |\iftrue|. + + It used to be the case that all conditionals would be fully + expandable (which in particular would have made it possible to use + them in string expressions), but that is no longer the case. +\end{hackernote} -|\eTeX|\marg{version number} -|\Fi| -|\fontinstcc| +\begin{decl}[v1.901] + |\for|\parg{name}\marg{start}\marg{stop}\marg{step} + \meta{body} |\endfor|\parg{name} +\end{decl} +will cause the \meta{body} code to be repeated some number of times. +How many depends on the values of \meta{start}, \meta{stop}, and +\meta{step}, which are integer expressions. + +As a precaution, the \meta{body} is not allowed to contain any +empty lines (|\par| tokens). If you want to have the visual +separation (for sakes of legibility or otherwise), put a |%| +somewhere on the line---that makes it nonempty. + +\meta{name} is used as the name of an integer variable. This +variable gets reset to the value of \meta{start} before the first +repetition of \meta{body code}. After each repetition but the last, +it is incremented by \meta{step}. \meta{body} gets repeated if +the value of \meta{name} has not gotten past that of \meta{stop}. To +get past means to be bigger if \meta{step} is positive and to be +smaller if \meta{step} is negative. In the case that \meta{step} is +zero, the entire construction above will be equivalent to +\begin{quote} + |\resetint|\marg{name}\marg{start}\\ + \meta{body} +\end{quote} -|\fontinsterror|\marg{subsystem}\marg{error}\marg{help} +|\for| \textellipsis\ |\endfor| constructions can be nested. +\meta{name} is used by |\for| to identify its matching |\endfor|, so +they need to be identical in |\for| and |\endfor|. \textbf{Note} that +the delimiters around the \meta{name} are parentheses, not braces. -|\fontinstinfo|\marg{subsystem}\marg{info} -|\fontinstwarning|\marg{subsystem}\marg{warning} +\begin{decl}[v1.901] + |\foreach|\parg{name}\marg{csep-list} + \meta{body} |\endfor|\parg{name} +\end{decl} +will cause the \meta{body} code to be repeated one time for each item +in the \meta{csep-list}. \meta{csep-list} is a comma-separated list +of string expressions. -|\fontinstwarningnoline|\marg{subsystem}\marg{warning} +As a precaution, the \meta{body} is not allowed to contain any +empty lines (|\par| tokens). If you want to have the visual +separation (for sakes of legibility or otherwise), put a |%| +somewhere on the line---that makes it nonempty. -|\for|\parg{name}\marg{start}\marg{stop}\marg{step} +\meta{name} is used as the name of a string variable. Before each +repetition of the \meta{body code}, this variable will get reset to +the next item in the \meta{csep-list}. -|\foreach|\parg{name}\marg{csep-list} +|\foreach|\textellipsis\ |\endfor| constructions can be nested. +\meta{name} is used by |\foreach| to identify its matching |\endfor|, +so they need to be identical in |\foreach| and |\endfor|. +\textbf{Note} that the delimiters around the \meta{name} are +parentheses, not braces. -|\ifareglyphs|\marg{glyph list}|\then| -|\ifiskern|\marg{glyph1}\marg{glyph2}|\then| -|\ifnumber|\marg{integer expression}\meta{rel}% -\marg{integer expression}|\then| +\subsection{Other general commands} -|\ifoption|\marg{string}|\then| +\begin{decl} + |\needsfontinstversion|\arg{version} +\end{decl} +This issues a warning if the current version of the \fontinst +package is less than \m{version}. -|\input| \meta{file name} +\begin{decl} + |\needsTeXextension|\marg{extension tests}\marg{who}\\ + |\eTeX|\marg{version number}\\ + |\pdfTeX|\marg{version number}\marg{revision} +\end{decl} -|\messagebreak| +\begin{decl}[v1.915] + |\fontinstcc|\\ + |\normalcc| +\end{decl} +|\fontinstcc| switches to the catcodes used in e.g.\@ +\texttt{fontinst.sty}: |_| and |@| are letters, space and newline are +ignored, and |~| is a space. |\normalcc| switches back to normal +catcodes. -|\needsTeXextension|\marg{extension tests}\marg{who} +\begin{decl}[v1.900] + |\begincomment| \meta{text} |\endcomment| +\end{decl} +This hides the \meta{text} from \fontinst processing, but allows it +to show up when the file is typeset with \fontdoc. + +\begin{decl}[v1.906] + |\fontinsterror|\marg{subsystem}\marg{error}\marg{help}\\ + |\fontinstwarning|\marg{subsystem}\marg{warning}\\ + |\fontinstwarningnoline|\marg{subsystem}\marg{warning}\\ + |\fontinstinfo|\marg{subsystem}\marg{info} +\end{decl} -|\normalcc| +\begin{decl}[v1.906] + |\messagebreak| +\end{decl} -|\offcommand|\marg{command} -|\oncommand|\marg{command} +Finally, there are two Plain\TeX\ commands which should be mentioned: +\begin{decl*} + |\input| \meta{file name}\\ + |\bye| +\end{decl*} -|\pdfTeX|\marg{version number}\marg{revision} -|\strint|\arg{int} \section{Encoding files} An \emph{encoding file} (or \texttt{.etx} file) is a \TeX\ document -consisting of: - -\begin{decl} +with the structure: +\begin{quote} |\relax|\\ - \emph{ignored material}\\ + \meta{ignored material}\\ |\encoding|\\ - \m{encoding commands}\\ + \meta{encoding commands}\\ |\endencoding|\\ - \emph{ignored material} -\end{decl} -This describes the encoding of a font, using the \m{encoding - commands}. + \meta{ignored material} +\end{quote} +This describes the encoding of a font, using the \m{encoding commands}. Since the encoding file ignores any material between \verb|\relax| and \verb|\encoding|, an \emph{encoding file} can also be a \LaTeX\ -document. +document. The structure is then +\begin{quote} + |\relax|\\ + |\documentclass{article} %| Or some other class\\ + |\usepackage{fontdoc}|\\ + \meta{\LaTeX\ preamble}\\ + |\begin{document}|\\ + \meta{\LaTeX\ text}\\ + |\encoding|\\ + \m{encoding commands}\\ + |\endencoding|\\ + \meta{\LaTeX\ text}\\ + |\end{document}| +\end{quote} -See also the descriptions in \texttt{encspecs.tex}. + +See also the descriptions in \emph{Writing ETX format font encoding +specifications} (\texttt{encspecs.tex}). \subsection{Encoding commands} @@ -1553,25 +1934,80 @@ The \m{encoding commands} are: Sets the number of the next slot. If there is no \verb|\nextslot| command, the number is the successor of the previous slot. -\begin{decl} +\begin{decl}[v1.8] |\skipslots|\arg{integer expressions} \end{decl} -\NEWfeature{v1.8} Advances the number of the next slot. \begin{decl} - |\setslot|\arg{glyph}\\ - \m{slot commands}\\ - |\endsetslot| + |\setslot|\arg{glyph} \m{slot commands} |\endsetslot| +\end{decl} +Assigns \m{glyph} to the current slot. The \m{slot commands} can be +used to specify additional behaviour for the slot, and typically also +contains comments about the glyph. + +\begin{decl}[v1.9] + |\setleftboundary|\marg{glyph} \m{slot commands} + |\endsetleftboundary| +\end{decl} +Makes the beginning of a word (left boundary) behave like the right +side of \m{glyph} with respect to kerning. |\ligature| commands in +the \meta{slot commands} create beginning of word ligatures. + +\begin{decl}[v1.9] + |\setrightboundary|\marg{glyph} \end{decl} -Sets the slot of the \m{glyph}. The \m{slot commands} describe -the glyph, and give its usage in \TeX. +Makes the end of a word (right boundary) behave like the left +side of \m{glyph} with respect to kerning and ligatures. The current +slot position is left empty. \begin{decl} |\inputetx|\arg{file} \end{decl} Inputs the \m{encoding commands} of \m{file}\texttt{.etx}. +\begin{decl}[v1.917] + |\setfontdimen|\marg{fontdimen no.}\marg{integer variable} +\end{decl} +Sets up a correspondence between a font dimension and an integer +variable. When generating a font, the font dimension value is taken +from the integer variable. When converting a font from \pl or \vpl +format, the fontdimen value will be recorded as a |\setint| command +for the variable. + +\begin{decl}[v1.924] + |\ifdirect| +\end{decl} +Encoding files set up a correspondence between slot numbers and glyph +names, which can be used in two different ways. In the \emph{direct} +mode, encoding files map slot numbers to glyph names. In the +\emph{inverse} mode, glyph names are mapped to slot numbers. The +inverse mapping can in general be one-to-many, and when precisely one +target slot is needed \fontinst chooses that arbitrarily. The |\ifdirect| +conditional can be used to disambiguate the inverse mapping, by +conditionalising all undesired |\setslot|s on that the file is being +interpreted in the direct mode. + +Currently the only case in which encoding files are being read in +the inverse mode is when reencoding fonts. + +\begin{decl}[v1.8] + |\setslotcomment|\marg{text}\\ + |\resetslotcomment|\marg{text}\\ + |\unsetslotcomment| +\end{decl} +These commands can be used to specify an automatic |\comment| text +for all slots. They are ignored by \fontinst, but interpreted by +\fontdoc. + +\begin{decl}[v1.8] + |\useexamplefont|\marg{font} +\end{decl} +This command is ignored by \fontinst. In \fontdoc it sets the font +that is used by the |\slotexample| command. The \meta{font} argument +has the same syntax for a font as the \TeX\ primitive |\font|. + + \subsection{Slot commands} @@ -1581,21 +2017,21 @@ The \m{slot commands} are: \begin{decl} |\comment|\arg{text} \end{decl} -A comment, which is ignored by \fontinst. +A comment, which is ignored by \fontinst, but typeset as a separate +paragraph by \fontdoc. -\begin{decl} +\begin{decl}[v1.917] |\label|\arg{text} \end{decl} -A reference label. Ignored by \fontinst. +A reference label, which records the slot number and glyph name. +Ignored by \fontinst. \begin{decl} - |\ligature|\arg{ligtype}\arg{glyph}\arg{glyph}\\ - |\Ligature|\arg{ligtype}\arg{glyph}\arg{glyph}\\ - |\oddligature|\marg{note}\arg{ligtype}\arg{glyph}\arg{glyph} + |\ligature|\arg{ligtype}\arg{glyph}\arg{glyph} \end{decl} -Specifies a ligature of type \m{ligtype} from the current glyph -followed by the first glyph to the second glyph. The \m{ligtype}s are -as in \vpl files (see the \texttt{vptovf} Web source for more +|\ligature| declares a ligature of type \m{ligtype} from the current +glyph followed by the first glyph to the second glyph. The \m{ligtype}s +are as in \vpl files (see the \texttt{vptovf} Web source for more details). For example: \begin{verbatim} \setslot{ff} @@ -1604,28 +2040,50 @@ details). For example: \comment{The `ff' ligature.} \endsetslot \end{verbatim} +\begin{decl*}[v1.918] + |\Ligature|\arg{ligtype}\arg{glyph}\arg{glyph}\\ + |\oddligature|\marg{note}\arg{ligtype}\arg{glyph}\arg{glyph} +\end{decl*} +The |\Ligature| command is by default a synonym of |\ligature| (but +\fontdoc may typeset them differently). The |\oddligature| command is +by default ignored by \fontinst. See \setfilename{encspecs.tex} for +an explanation of the semantic differences. \begin{decl} |\makerightboundary|\arg{glyph} \end{decl} +This makes the current slot the end of word (right boundary) marker +with respect to ligatures and kerning, i.e., \TeX\ will kern and +ligature as if there was an invisible occurrence of this character +after the last character of every word. All kerns and ligatures with +\meta{glyph} as the right part will apply for this slot. + +It is preferable to use |\setrightboundary| to control end of word +behaviour if you have an empty slot to spare. \begin{decl} - |\Unicode|\marg{code point}\marg{name} + |\Unicode|\marg{code point}\marg{name}\\ + |\charseq|\marg{\cs{Unicode} commands} \end{decl} +These commands declare a Unicode character or character sequence as +possible interpretations of what is in this slot. They are ignored +when making fonts, but \fontdoc give them a prominent role in +encoding specifications and to |\etxtocmap| they are the primary +properties of the slot. - -\begin{decl} +\begin{decl}[Obsolete?!] |\usedas|\arg{type}\arg{control sequence} \end{decl} -\NEWfeature{Obsolete?!} -Sets the \TeX\ control sequence for this slot, with the \emph{type} -taken from: +This command declares a \TeX\ control sequence for this slot, with +the \emph{type} taken from: \begin{verbatim} char accent mathord mathbin mathrel mathopen mathclose mathpunct mathvariable mathaccent mathdelim \end{verbatim} +There is currently no code in \fontinst which makes any use of this +command. \begin{decl} |\nextlarger|\arg{glyph} @@ -1634,8 +2092,8 @@ Sets a \textsc{nextlarger} entry from the current slot to the \m{glyph}. \begin{decl} - |\varchar|\\ - \m{varchar commands}\\ + |\varchar| + \m{varchar commands} |\endvarchar| \end{decl} Sets a \textsc{varchar} entry for the current slot, using the @@ -1655,23 +2113,8 @@ Sets the top, middle, bottom, or repeated \m{glyph} of the The following commands belong to this section, but there is currently no description of them here. -|\endsetleftboundary| - -|\ifdirect| - |\ifisinslot|\marg{glyph}\marg{slot}|\then| -|\resetslotcomment|\marg{text} - -|\setfontdimen|\marg{fontdimen no.}\marg{integer variable} - -|\setleftboundary|\marg{glyph} - -|\setslotcomment|\marg{text} - -|\useexamplefont|\marg{font} - -|\unsetslotcomment| @@ -1679,18 +2122,19 @@ no description of them here. \label{Sec:Metric} -A \emph{metric file} (or \texttt{.mtx} file) is a \TeX\ document -consisting of: - -\begin{decl} +A \emph{metric file} (or \mtx file) is a \TeX\ document with the +structure: +\begin{quote} |\relax|\\ \emph{ignored material}\\ |\metrics|\\ \m{metric commands}\\ |\endmetrics|\\ \emph{ignored material} -\end{decl} -This describes the glyphs in a font, using the \m{metric commands}. +\end{quote} +This describes the glyphs in a font, using the \m{metric commands}. +Like encoding files, metric files can simultaneously be \LaTeX\ +documents. Metric files are usually either \emph{hand-crafted} or \emph{transformable}. The transformable metric files typically encode @@ -1705,12 +2149,11 @@ hand-crafted metric files are more like programs. \subsection{Metric commands} -The \m{metric commands} are: +The \m{metric commands} are as follows. All glyph name arguments are +string expressions. \begin{decl} - |\setglyph|\arg{name}\\ - \m{glyph commands} \\ - |\endsetglyph| + |\setglyph|\arg{name} \m{glyph commands} |\endsetglyph| \end{decl} If the glyph called \m{name} is undefined, it is built using the \m{glyph commands} given below, for example: @@ -1723,11 +2166,13 @@ If the glyph called \m{name} is undefined, it is built using the \glyph{A}{850} \endsetglyph \end{verbatim} +The \meta{glyph commands} are not executed if the glyph has already +been set. \begin{decl} - |\resetglyph|\arg{name}\\ - \m{glyph commands}\\ - |\endsetglyph| + |\resetglyph|\arg{name} + \m{glyph commands} + |\endresetglyph| \end{decl} Gives the definition of the glyph called \m{name} using the \m{glyph commands}. @@ -1738,80 +2183,57 @@ Gives the definition of the glyph called \m{name} using the Makes the glyph called \m{name} undefined. \begin{decl} - |\setrawglyph|\arg{name}\arg{font}\arg{dimen}\arg{integer}\\ - \arg{integer}\arg{integer}\arg{integer}\arg{integer}\\ - |\setscaledrawglyph|\arg{name}\arg{font}\arg{dimen}\arg{integer}\arg{integer}\\ - \arg{integer}\arg{integer}\arg{integer}\arg{integer} + |\setrawglyph|\arg{name}\arg{font}\arg{dimen}\arg{slot}\\ + \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic + correction}\\ + |\setscaledrawglyph|% + \arg{name}\arg{font}\arg{dimen}\arg{scale}\arg{slot}\\ + \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic + correction} \end{decl} This sets a glyph called \m{name} from the \m{font}, which has the -given design size, slot, width, height, depth and italic correction. -If the integer variable \texttt{rawscale} is set, the glyph will be -scaled by that amount. This command will usually be generated -automatically from an \afm or \pl file. - -\begin{decl} - |\setnotglyph|\arg{name}\arg{font}\arg{dimen}\\ - \arg{integer}\arg{integer}\arg{integer}\arg{integer}\\ - |\setscalednotglyph|\arg{name}\arg{font}\arg{dimen}\arg{integer}\arg{integer}\\ - \arg{integer}\arg{integer}\arg{integer}\arg{integer} -\end{decl} -This sets a glyph called \m{name}\texttt{-not}, which is present in -the \m{font}, but is not in the default encoding. It takes the same -arguments as \verb|\setrawglyph|, although the slot will normally be -$-1$. This command will usually be generated automatically from an -\afm file. - -\begin{decl} - |\setkern|\arg{glyph}\arg{glyph}\arg{integer expression}\\ - |\resetkern|\arg{glyph}\arg{glyph}\arg{integer expression} -\end{decl} -|\setkern| sets a kern between the two glyphs, scaled by the current -value of \texttt{rawscale}, unless such a kern already has been set. +given design size, slot, width, height, depth and italic correction. +The \meta{scale} is a scaling factor which has been applied to the +font to give it the specified metrics. These commands will usually be +generated automatically from an \afm or \pl file. +If the integer variable \texttt{rawscale} is set, another scaling by +that amount will be applied to the glyph. \begin{decl} - |\setleftkerning|\arg{glyph}\arg{glyph}\arg{integer expression}\\ - |\setrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression} -\end{decl} -Sets the amount by which the first glyph should mimic how the second -glyph kerns on the left or right, for example: -\begin{verbatim} - \setleftkerning{Asmall}{A}{850} - \setrightkerning{Asmall}{A}{850} - \setleftkerning{IJ}{I}{1000} - \setrightkerning{IJ}{J}{1000} -\end{verbatim} -Sets the amount by which the first glyph should mimic how the second -glyph kerns on the right, for example: - -\begin{decl} - |\setleftrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression} + |\setnotglyph|\arg{name}\arg{font}\arg{dimen}\arg{slot}\\ + \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic + correction}\\ + |\setscalednotglyph|% + \arg{name}\arg{font}\arg{dimen}\arg{scale}\arg{slot}\\ + \hspace*{1.5em}\arg{width}\arg{height}\arg{depth}\arg{italic + correction} \end{decl} -\NEWfeature{v1.8} -Sets the amount by which the first glyph should mimic how the second -glyph kerns on both sides, for example: -\begin{verbatim} - \setleftrightkerning{Asmall}{A}{850} -\end{verbatim} +These sets a glyph called \m{name}\texttt{-not}, which is present in +the \m{font}, but is not in the default encoding. They take the same +arguments as |\setrawglyph| and |\setscaledrawglyph| respectively, +although the slot will normally be $-1$. This command will usually +be generated automatically from an \afm file. -\begin{decl} - |\noleftkerning|\arg{glyph}\\ - |\norightkerning|\arg{glyph}\\ - |\noleftrightkerning|\arg{glyph} -\end{decl} -\NEWfeature{v1.9} -Removes all kerning on the specified side(s) of the \meta{glyph}. +Reencoding a font can turn |\setrawglyph| commands into +|\setnotglyph| commands and vice versa. \begin{decl} |\inputmtx|\arg{file} \end{decl} Inputs the \m{metric commands} of \m{file}\texttt{.mtx}. +\begin{decl}[v1.9] + |\usemtxpackage|\marg{package~list}\\ + |\ProvidesMtxPackage|\marg{package~name} +\end{decl} \subsection{Glyph commands} -The \m{glyph commands} are: +The \m{glyph commands} add material to the glyph currently being +constructed in a |\setglyph| \dots\ |\endsetglyph| or +|\resetglyph| \dots\ |\endresetglyph|. They are: \begin{decl} |\glyph|\arg{glyph}\arg{integer expression} @@ -1819,13 +2241,17 @@ The \m{glyph commands} are: Sets the named glyph \m{glyph} at the given scale, with 1000 as the natural size. This: \begin{itemize} -\item Advances the current glyph width. -\item Sets the current glyph height to be at least the height of the - named glyph, adjusted for the current vertical offset. -\item Sets the current glyph depth to be at least the depth of the - named glyph, adjusted for the current vertical offset. -\item Sets the current glyph italic correction to be the same as the - set glyph. + \item + Advances the current glyph width. + \item + Sets the current glyph height to be at least the height of the + named glyph, adjusted for the current vertical offset. + \item + Sets the current glyph depth to be at least the depth of the + named glyph, adjusted for the current vertical offset. + \item + Sets the current glyph italic correction to be the same as the + set glyph. \end{itemize} The named glyph must have already been defined, otherwise an error will occur. For example: @@ -1847,7 +2273,7 @@ Sets a rule of the given width and height, for example: \end{verbatim} \begin{decl} - |\glyphspecial|\arg{text} + |\glyphspecial|\arg{string expression} \end{decl} Sets a driver-dependent \verb|\special|, for example: \begin{verbatim} @@ -1857,7 +2283,7 @@ Sets a driver-dependent \verb|\special|, for example: \end{verbatim} \begin{decl} - |\glyphwarning|\arg{text} + |\glyphwarning|\arg{string expression} \end{decl} Sets a warning \verb|\special|, and produces a warning message each time the glyph is used, for example: @@ -1900,16 +2326,15 @@ example: \end{verbatim} \begin{decl} - |\push|\\ - \m{glyph commands}\\ - |\pop| + |\push| \m{glyph commands} |\pop| \end{decl} -Performs the \m{glyph commands} without adjusting the current position -or glyph width, for example: +Performs the \m{glyph commands}, but at the |\pop| the current +position and glyph width are restored to what they were at the |\push|, +for example: \begin{verbatim} \setglyph{aacute} \push - \movert{\div{\sub{\width{a}}{\width{acute}}}{2}} + \movert{\half{\sub{\width{a}}{\width{acute}}}} \glyph{acute}{1000} \pop \glyph{a}{1000} @@ -1922,13 +2347,12 @@ or glyph width, for example: This is generated from \texttt{PCC} instructions in an \afm file, and is syntactic sugar for: \begin{quote} -\begin{small} -|\push|\\ -|\movert|\arg{first integer expression}\\ -|\moveup|\arg{second integer expression}\\ -|\glyph|\arg{glyph}|{1000}|\\ -|\pop| -\end{small} + \small + |\push|\\ + |\movert|\arg{first integer expression}\\ + |\moveup|\arg{second integer expression}\\ + |\glyph|\arg{glyph}|{1000}|\\ + |\pop| \end{quote} \begin{decl} @@ -1969,38 +2393,160 @@ letter `A' with: \end{verbatim} -\subsection{Other} +\subsection{Kerning commands} -The following commands belong to this section, but there is currently -no description of them here. +The kerning commands may be used anywhere in a metrics file. + +\begin{decl} + |\setkern|\arg{glyph}\arg{glyph}\arg{integer expression} +\end{decl} +This sets a kern between the two glyphs, scaled by the current +value of \texttt{rawscale}, unless such a kern already has been set. + +\begin{decl}[v1.9] + |\resetkern|\arg{glyph}\arg{glyph}\arg{integer expression} +\end{decl} +|\resetkern| unconditionally sets a kern between the two glyphs, +scaled by the current value of \texttt{rawscale}. + +\begin{decl} + |\setleftkerning|\arg{glyph}\arg{glyph}\arg{integer expression}\\ + |\setrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression} +\end{decl} +Sets the amount by which the first glyph should mimic how the second +glyph kerns on the left or right, for example: +\begin{verbatim} + \setleftkerning{Asmall}{A}{850} + \setrightkerning{Asmall}{A}{850} + \setleftkerning{IJ}{I}{1000} + \setrightkerning{IJ}{J}{1000} +\end{verbatim} +The commands work by copying kerning pairs containing the first glyph. +As the names indicates, these commands do not override kerning pairs +previously set. -|\aliased|\marg{font's name}\marg{alias name} +\begin{decl}[v1.8] + |\setleftrightkerning|\arg{glyph}\arg{glyph}\arg{integer expression} +\end{decl} +Sets the amount by which the first glyph should mimic how the second +glyph kerns on both sides, for example: +\begin{verbatim} + \setleftrightkerning{Asmall}{A}{850} +\end{verbatim} +This command is equivalent to doing first a |\setleftkerning| and +then a |\setrightkerning|. -|\ProvidesMtxPackage|\marg{package~name} +\begin{decl}[v1.906] + |\noleftkerning|\arg{glyph}\\ + |\norightkerning|\arg{glyph}\\ + |\noleftrightkerning|\arg{glyph} +\end{decl} +Removes all kerning on the specified side(s) of the \meta{glyph}. -|\unsetkerns|\marg{left~glyph~list}\marg{right~glyph~list} +\begin{decl}[v1.9] + |\unsetkerns|\marg{left~glyph~list}\marg{right~glyph~list} +\end{decl} +Removes all kerns with one glyph in the \meta{left glyph list} on the +left and one glyph in the \meta{right glyph list} on the right. -|\usemtxpackage|\marg{package~list} + + +\subsection{Other} + +\begin{decl}[v1.915] + |\aliased|\marg{font's name}\marg{alias name} +\end{decl} +This command is meant to be used in glyph name arguments of commands +one may find in metric files. It was added to support combining +mapfile entry generation with a custom form of reglyphing that has +been developed for the \texttt{T2} bundle (Cyrillic font support). +This does however not necessarily mean that the \texttt{T2} bundle +has been updated to take advantage of this feature. + +The basic problem is that cyrillic fonts display a much greater +variation in how the glyphs are named than latin fonts do.% +\footnote{The Adobe guidelines have not been as prevailing here as +in the latin range, but this isn't entirely surprising when they +give suggestions such as using the name \texttt{afii10018} for +\texttt{U+0411} (\textsc{cyrillic capital letter be}), even though +there is a good reason: AFII is a glyph registry.} +This complicates writing files similar to \setfilename{latin.mtx}, so +the author of the \texttt{T2} bundle took the route to regularize the +glyph names at the \afm to \mtx conversion step. Since \TeX\ does not +know anything about glyph names, this makes no difference for the +virtual fonts that are built. +The glyph names do however make a difference for base fonts that are +reencoded, since \PS encoding vectors list explicit glyph names that +have to be the same as in the font. \Fontinst's choice of encoding +vector for a mapfile entry is based on which \etx file was used in the +reencoding, and hence the glyph names used when reencoding must match +those actually used in the font, or problems will follow. + +The |\aliased| command can be used to preserve the information +necessary for such reencodings. If a glyph name is specified as for +example +\begin{verbatim} + \aliased{afii10018}{CYRB} +\end{verbatim} +then \fontinst will behave as if the glyph name is \texttt{CYRB} +(i.e., the \meta{alias name}) for all purposes \emph{except} +reencoding, where instead \fontinst behaves as if the glyph name is +the \meta{font's name} \texttt{afii10018}. This makes it possible to +use \etx files when reencoding which can be correctly translated to +the right encoding vectors. \section{\textsf{fontdoc} commands} -|\macroparameter|\marg{digit} +The following commands are defined by \fontdoc but are unknown to +\fontinst. + + +\subsection{Comment commands} + +\begin{decl} + |\plaindiv|\\ + |\plainint|\\ + |\plainmax|\\ + |\plainmin|\\ + |\plainneg| +\end{decl} +These are the \LaTeX\ definitions of |\div|, |\int|, |\max|, |\min|, +and |\neg| respectively. They are provided under these names because +\fontinst uses the normal names for integer expression constructions. -|\plaindiv| +\begin{decl}[v1.8] + |\slotexample| +\end{decl} +This typesets the character in the current slot from the example font +(cf.~|\useexamplefont|). -|\plainint| +\begin{decl}[v1.916] + |\macroparameter|\marg{digit} +\end{decl} +This can be used in integer and string expressions. It typesets as +\textit{\#n}, where `\textit{n}' is the \meta{digit}. -|\plainmax| +\begin{decl}[v1.918] + |\textunicode|\marg{code point}\marg{name} +\end{decl} +This generates a reference to a particular Unicode character, for use +within a |\comment| or similar. -|\plainmin| -|\showbranches| +\subsection{Style control commands} -|\slotexample| +\begin{decl}[v1.909] + |\showbranches| +\end{decl} +The is the main switch that turns on displaying both branches of +\fontinst conditionals. If you use this command in an encoding or +metrics file, you \textbf{must} use |\Else| and |\Fi| to delimit the +conditionals in that file. If you do not use this command in an +encoding or metrics file, then the conditionals will not generate any +typeset material and neither will their \meta{else branch}es. -|\textunicode|\marg{code point}\marg{name} @@ -2125,6 +2671,15 @@ implicitly use or set are listed below. |\setint| commands for this variable. \item[Used by] Some MTX and ETX files. \end{smalldes} + \item[cmapname] (string) + \begin{smalldes} + \item[Description] The name given to the CMap generated from + an ETX file. + \item[Set by] ETX files. + \item[Used by] The ETX-to-CMap converter. When not set, the + value |fontinst-|\nolinebreak[1]\meta{cmap file name} is + used instead. + \end{smalldes} \item[codingscheme] (string) \begin{smalldes} \item[Description] The codingscheme name. @@ -2586,7 +3141,12 @@ does however deserve to be treated separately. \section{Customisation} The \fontinst package reads a file \texttt{fontinst.rc} if it -exists. This can contain your own customisations. +exists. This can contain your own customisations. The catcodes that +are in force when this file is read are the same as those selected by +|\fontinstcc|. + +Similarly \texttt{finstmsc.sty} reads \texttt{finstmsc.rc} and the +\fontdoc package reads \texttt{fontdoc.cfg}. You can create a \texttt{fontinst} format by running ini\TeX{} on \texttt{fontinst.sty} then saying \verb|\dump|. @@ -2882,6 +3442,7 @@ to know about. \subsection{Making map file fragments} +\label{Ssec:MapFragments} A \emph{map file fragment} is the lines\footnote{Not in general an entire map file, hence the word \emph{fragment}.} of a map file that @@ -3320,7 +3881,7 @@ SYMBOLS}. msbm10 encoding msbm,% mccmhax,mccmkern,mcmissing,% cmsy10-base,cmsy10-extra% - }{mc}{MC}{cm}{m}{n}{<10->} + }{mc}{MC}{cm}{m}{n}{<<10->>} \end{verbatim} Also note the explicit \LaTeX\ size specification for the range ``10\,pt and up''. diff --git a/Master/texmf-dist/doc/fontinst/base/manual/intro98.dvi b/Master/texmf-dist/doc/fontinst/base/manual/intro98.dvi Binary files differnew file mode 100644 index 00000000000..d272df5088e --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/manual/intro98.dvi diff --git a/Master/texmf-dist/doc/fontinst/base/manual/intro98.pdf b/Master/texmf-dist/doc/fontinst/base/manual/intro98.pdf Binary files differindex d18cd3d8616..3f517608d16 100644 --- a/Master/texmf-dist/doc/fontinst/base/manual/intro98.pdf +++ b/Master/texmf-dist/doc/fontinst/base/manual/intro98.pdf diff --git a/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tables.pdf b/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tables.pdf Binary files differnew file mode 100644 index 00000000000..8d6c2b593c7 --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tables.pdf diff --git a/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tutorial.pdf b/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tutorial.pdf Binary files differnew file mode 100644 index 00000000000..4ae8a1eeb75 --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/talks/et99-font-tutorial.pdf diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1901test.mtx b/Master/texmf-dist/doc/fontinst/base/test/v1901test.mtx new file mode 100644 index 00000000000..624a39bf81d --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1901test.mtx @@ -0,0 +1,22 @@ +\relax + +% This is a test MTX file for the new implementation of +% the \transformfont stuff. + +\metrics + +\setint{italicslant}{0} +\setint{italicslant}{100} +\setint{xheight}{400} + +\setrawglyph{a}{v1901test}{10.95pt}{10} {500}{400}{0}{40} +\setrawglyph{g}{v1901test}{10.95pt}{10} {500}{400}{-300}{40} + +\setkern{a}{g}{100} + +\setglyph{ag} + \glyphpcc{a}{0}{500} + \glyphpcc{g}{500}{0} +\endsetglyph + +\endmetrics
\ No newline at end of file diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1906test.mtx b/Master/texmf-dist/doc/fontinst/base/test/v1906test.mtx new file mode 100644 index 00000000000..94306a07b32 --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1906test.mtx @@ -0,0 +1,64 @@ +\relax +% v1906test.mtx +% +% A test of the nokerning commands and the \glyphbboxright IE. + + +\metrics + +\for(i){0}{20}{1} + \setglyph{c\strint{i}} + \glyphrule{20}{\mul{\add{\int{i}}{1}}{20}} + \movert{\mul{20}{\int{i}}} + \endsetglyph +\endfor(i) + + +\setglyph{d} + \for(i){5}{10}{1} + \glyphpcc{c\strint{i}}{\int{i}}{\int{i}} + \endfor(i) + \resetint{j}{\glyphbboxright} + \immediate\write16{\string\glyphbboxright=\strint{j}} + \glyph{c20}{1000} + \resetint{j}{\glyphbboxright} + \immediate\write16{\string\glyphbboxright=\strint{j}} +\endsetglyph + + +\for(i){0}{20}{1} + \for(j){0}{20}{1} + \setkern{c\strint{i}}{c\strint{j}}{\mul{\int{i}}{\int{j}}} + \endfor(j) +\endfor(i) + +\noleftkerning{c1,c3,c5,c7,c9,c11,c13,c15,c17,c19} +\immediate\write16{\expandafter\meaning\csname a_macro\endcsname} +\norightkerning{c1,c3,c5,c7,c9} + +% \resetint{i}{0} +% \loop +% \setkern{c\strint{i}}{c\strint{i}}{-50} +% \resetint{j}{\sub{20}{\int{i}}} +% \resetkern{c\strint{i}}{c\strint{j}}{-100} +% \ifnum 20>\int{i} +% \resetint{i}{\add{\int{i}}{1}} +% \repeat + + +% \resetint{i}{0} +% \loop +% \ifiskern{c3}{c\strint{i}}\then +% \resetint{T}{\kerning{c3}{c\strint{i}}} +% \message{c3:c\strint{i} has kern \strint{T} units^^J} +% \else +% \message{c3:c\strint{i} no kern^^J} +% \fi +% \ifnum 20>\int{i} +% \resetint{i}{\add{\int{i}}{1}} +% \repeat + + + +\endmetrics + diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1914testmap.tex b/Master/texmf-dist/doc/fontinst/base/test/v1914testmap.tex index 17dd9c2375d..9b1921bbc8d 100644 --- a/Master/texmf-dist/doc/fontinst/base/test/v1914testmap.tex +++ b/Master/texmf-dist/doc/fontinst/base/test/v1914testmap.tex @@ -1,9 +1,17 @@ \input finstmsc.sty + +\resetstr{PSfontsuffix}{.pfb} +\adddriver{dvipdfm}{v1914test.dvipdfm} +\adddriver{pltotf}{v1914test.sh} % v1.915 feature, actually +\input v1914test.recs +\donedrivers + \AssumeLWFN \adddriver{dvips}{v1914test.map} \adddriver{debug}{v1914test.debug} \debugvalue{PS_font_file} -\adddriver{pltotf}{v1914test.sh} % v1.915 feature, actually \input v1914test.recs \donedrivers + + \bye diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1914testshow.tex b/Master/texmf-dist/doc/fontinst/base/test/v1914testshow.tex new file mode 100644 index 00000000000..bd7a957b0a8 --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1914testshow.tex @@ -0,0 +1,22 @@ +\documentclass{article} + + +\newcommand\fontxy[2]{% + \usefont{T1}{padxy}{m#1#2}{n}% + Flygande b\"ackasiner s\"oka hwila p\r{a} mjuka tuvor% +} + + +\begin{document} + +$$ + \hss + \begin{tabular}{lll} + \fontxy00& \fontxy10& \fontxy20\\ + \fontxy01& \fontxy11& \fontxy21\\ + \fontxy02& \fontxy12& \fontxy22 + \end{tabular} + \hss +$$ +\end{document} + diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1916test.mtx b/Master/texmf-dist/doc/fontinst/base/test/v1916test.mtx new file mode 100644 index 00000000000..1829c79d02d --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1916test.mtx @@ -0,0 +1,23 @@ +\relax + +\documentclass[twocolumn]{article} +\usepackage{fontdoc} + +\errorcontextlines=999 + +\begin{document} + +\metrics + +\foreach(glyph){a,b,c,d,tilde,\strint{a},db\str{a}ef,AB\str{glyph}CD} + \resetglyph{\str{glyph}} + \glyph{\str{glyph}}{1000} + \resetitalic{0} + \endresetglyph +\endfor(glyph) + + +\endmetrics + + +\end{document} diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1923test.tex b/Master/texmf-dist/doc/fontinst/base/test/v1923test.tex index 5115f93b373..ede00d90444 100644 --- a/Master/texmf-dist/doc/fontinst/base/test/v1923test.tex +++ b/Master/texmf-dist/doc/fontinst/base/test/v1923test.tex @@ -37,6 +37,10 @@ \installfonts \installfont{test}{rsfs10 encoding rsfs,cmsy10}{oms}{OMS}{xxx}{m}{n}{} \endinstallfonts +% %4b +% \installfonts +% \installfont{test}{cmsy10,rsfs10 encoding rsfs}{oms}{OMS}{xxx}{m}{n}{} +% \endinstallfonts \bye diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1928test.tex b/Master/texmf-dist/doc/fontinst/base/test/v1928test.tex new file mode 100644 index 00000000000..8242cc3438c --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1928test.tex @@ -0,0 +1,13 @@ +%&Plain + +\input finstmsc.sty + +%1 +\etxtocmap{t1draft}{temp} +\etxtocmap{ot1draft}{ot1} +\etxtocmap{omsdraft}{oms} + + + +\bye + diff --git a/Master/texmf-dist/doc/fontinst/base/test/v1928test2.tex b/Master/texmf-dist/doc/fontinst/base/test/v1928test2.tex new file mode 100644 index 00000000000..c9b099e643c --- /dev/null +++ b/Master/texmf-dist/doc/fontinst/base/test/v1928test2.tex @@ -0,0 +1,32 @@ +\documentclass{article} + + + + +\def\FontWithCMap#1#2#3{% + \font#1=#2\relax + \immediate\pdfobj stream file {#3}% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% +} +\def\AddCMapToFont#1#2{% + \immediate\pdfobj stream file {#2}% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% +} + + +\begin{document} + + +\FontWithCMap\test{cmr12}{ot1.cmap} +\test abcdef ghijkl mnopqr stuvwx yz fi fl ffi ffl + + +\begin{math} + a + \AddCMapToFont{\textfont2}{oms.cmap} + \mathcal{A} - \mathcal{B} + \mathcal{C} * \mathcal{D} \cdot + \mathcal{E} \bullet \mathcal{F} \spadesuit +\end{math} + + +\end{document} diff --git a/Master/texmf-dist/source/fontinst/base/fibasics.dtx b/Master/texmf-dist/source/fontinst/base/fibasics.dtx index 9c459a075b6..56515e55140 100644 --- a/Master/texmf-dist/source/fontinst/base/fibasics.dtx +++ b/Master/texmf-dist/source/fontinst/base/fibasics.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1456} +% \CheckSum{1512} % \iffalse meta-comment % % Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, @@ -64,7 +64,7 @@ % stuff any earlier than this. Note that |\fontinstversion| is not % just used for indentification but also in |\needsfontinstversion|. % \begin{macrocode} -%<pkg|doc>\def\fontinstversion{1.927} +%<pkg|doc>\def\fontinstversion{1.929} % \end{macrocode} % \end{macro} % @@ -86,7 +86,7 @@ %<doc>\NeedsTeXFormat{LaTeX2e}[1995/06/01] %<doc>\ProvidesPackage{fontdoc} %<pkg>\ProvidesPackage{fontinst} -%<pkg|doc>[2004/08/07 v\fontinstversion\space +%<pkg|doc>[2005/02/05 v\fontinstversion\space %<doc> fontinst documentation package] %<pkg> fontinst installation package] % \end{macrocode} @@ -665,19 +665,25 @@ % % \begin{macro}{\plainint} % \begin{macro}{\plaindiv} +% \begin{macro}{\plainneg} +% \changes{1.928}{2004/11/24}{Added \cs{plainneg}. That the +% \protect\LaTeX\ \cs{neg} is taken over by \package{fontdoc} but +% is needed in \texttt{oms.etx} had gone unnoticed for over ten +% years!! (LH) Problem reported by Peter Dyballa.} % \begin{macro}{\plainmax} % \begin{macro}{\plainmin} -% \package{fontdoc} saves away \LaTeX's |\int|, |\div|, |\max|, and -% |\min| as |\plainint|, |\plaindiv|, |\plainmax|, and |\plainmin|, -% since these control sequences are going to be used for other -% purposes. +% \package{fontdoc} saves away \LaTeX's |\int|, |\div|, |\neg|, |\max|, +% and |\min| as |\plainint|, |\plaindiv|, |\plainneg|, |\plainmax|, +% and |\plainmin| respectively, since these control sequences are going +% to be used for other purposes. % \begin{macrocode} \let\plainint=\int \let\plaindiv=\div +\let\plainneg=\neg \let\plainmax=\max \let\plainmin=\min % \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} +% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro} % % \begin{macro}{\TypesetList} % \changes{1.914}{2000/05/13}{Macro added. (LH)} @@ -1319,9 +1325,7 @@ % % \subsection{Conditionals} % -% \subsubsection -% {Conditionals in \package{fontinst}} -% ^^A \subsubsection{Conditionals in fontinst} +% \subsubsection{Conditionals in \package{fontinst}} % % \begin{macro}{\then} % \begin{macro}{\if_true} @@ -1494,9 +1498,7 @@ % \end{macro} % % -% \subsubsection -% {Conditionals in \package{fontdoc}} -% ^^A \subsubsection{Conditionals in fontdoc} +% \subsubsection{Conditionals in \package{fontdoc}} % % \changes{1.909}{1999/10/16}{System for documenting both branches of % \texttt{if} statements in ETX and MTX files added. (LH)} @@ -1928,6 +1930,78 @@ % \end{macro} % % +% \subsection{Hexadecimal numbers} +% +% Some of the file formats \package{fontinst} can generate requires +% that some numbers are written in hexadecimal form rather than in +% \TeX's default decimal form. This is somewhat awkward, as it would be +% very hard to implement without using explicit arithmetic. +% +% \begin{macro}{\format_hex} +% The |\format_hex| command formats a number as hexadecimal digits. +% The syntax is +% \begin{quote} +% |\format_hex|\marg{command}\marg{value}\marg{digits} +% \end{quote} +% where \meta{command} will be |\def|ined to be the formatted number. +% \meta{value} is the number to format; it must not be negative. +% \meta{digits} is the number of digits to generate. If the +% \meta{value} is greater than or equal to $16^{\mathit{digits}}$ +% then |\a_count| will be set to \meta{value} divided by this number +% and the formatted value will be for the corresponding reminder. +% \changes{1.928}{2004/11/28}{Macro added. (LH)} +% +% The macro overwrites |\a_count|, |\b_count|, and |\c_count|. +% +% \begin{macro}{\format_hex_i} +% The |\format_hex_i| macro is the iterator for |\format_hex|. +% It is used in the context +% \begin{quote} +% |\format_hex_i|\marg{command}\marg{control token} +% \end{quote} +% If the \meta{control token} is |i| then nothing is done. +% Otherwise the quotient and reminder of |\a_count| with respect to +% $16$ is computed, where the former is assigned to |\a_count| and +% the latter is converted to hexadecimal and prepended to the +% \meta{command}, after which the macro expands to +% |\format_hex_i|\meta{command}. +% \begin{macrocode} +%<*pkg> +\def\format_hex_i#1#2{ + \if #2i \else + \b_count=\a_count + \divide \a_count \sixt@@n + \c_count=\a_count + \multiply \c_count \sixt@@n + \advance \b_count -\c_count + \edef#1{ + \ifcase\b_count 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or a\or b\or c\or d\or e\or f\fi + #1 + } + \expandafter\format_hex_i \expandafter#1 + \fi +} +% \end{macrocode} +% \end{macro} +% +% To get the loop to run the wanted number of times, one uses the +% trick that |\romannumeral| can generate an arbitrary number of |m|s. +% The |\identity_one| stuff is to prevent |\number| from processesing +% the subsequent |001~|, which will be the last that |\roman| reads. +% \begin{macrocode} +\def\format_hex#1#2#3{ + \a_count=#2 + \let#1\empty_command + \expandafter\format_hex_i \expandafter#1 \romannumeral + \expandafter\identity_one\expandafter{\number#3}001~ +} +%</pkg> +% \end{macrocode} +% \end{macro} +% +% +% % \subsection{Error, warning, and info messages} % % The code in this subsection is an adaptation of code from the diff --git a/Master/texmf-dist/source/fontinst/base/ficommon.dtx b/Master/texmf-dist/source/fontinst/base/ficommon.dtx index 3127c25cbe5..22348cd9ce8 100644 --- a/Master/texmf-dist/source/fontinst/base/ficommon.dtx +++ b/Master/texmf-dist/source/fontinst/base/ficommon.dtx @@ -1653,8 +1653,8 @@ % \end{macrocode} % \end{macro} % - - +% +% % \subsection{Setting variables} % \label{Ssec:Variables} % @@ -2335,7 +2335,7 @@ % repetition of the \meta{body code}, this variable will get reset to % the next item in the \meta{csep-list}. % -% |\for|\textellipsis\ |\endfor| constructions can be nested. +% |\foreach|\textellipsis\ |\endfor| constructions can be nested. % \meta{name} is used by |\foreach| to identify its matching |\endfor|, % so they need to be identical in |\foreach| and |\endfor|. % @@ -2381,7 +2381,8 @@ % \end{macrocode} % % In \package{fontdoc}, |\comment| starts a new text paragraph and -% leaves the argument to be typeset. +% leaves the argument to be typeset. Note that the argument group +% thus survives; some commands make use of this fact. % \begin{macrocode} %<*doc> \def\comment{\par\noindent} diff --git a/Master/texmf-dist/source/fontinst/base/ficonv.dtx b/Master/texmf-dist/source/fontinst/base/ficonv.dtx index e1fee953b8c..8af04ffc216 100644 --- a/Master/texmf-dist/source/fontinst/base/ficonv.dtx +++ b/Master/texmf-dist/source/fontinst/base/ficonv.dtx @@ -1,4 +1,4 @@ -% \CheckSum{2221} +% \CheckSum{2337} % \iffalse meta-comment % % Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, @@ -301,9 +301,152 @@ \out_line{\percent_char\four_spaces #1~=~"See~file~#2",} \fi } +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Converting an ETX file to CMAP file} +% \changes{1.928}{2004/11/28}{ETX to CMAP converter added. (LH)} +% +% \DescribeMacro{\etxtocmap} +% The command +% \begin{quote} +% |\etxtocmap|\marg{etxfile}\marg{cmapfile} +% \end{quote} +% reads \meta{etxfile}|.etx| and generates a ToUnicode CMap file +% \meta{cmapfile}|.cmap| that maps slots to Unicode strings as +% specified by the \meta{etxfile}. +% +% \begin{macro}{\write_cmap_body} +% The |\write_cmap_body| command writes the actual CMap +% data\footnote{As opposed to silly stuff that is requested by the +% file format specification but probably isn't of any use for +% anything, which is written by \cs{ref_to_sourcefile}.} to the +% current output file. The syntax is +% \begin{quote} +% |\write_cmap_body|\marg{etxfile} +% \end{quote} +% +% More precisely, what this command writes is the codespace range +% specification and the mappings. The latter are all encoded using +% \texttt{bfchar} operators. +% \begin{macrocode} +\def\write_cmap_body#1{ + \out_line{1~begincodespacerange~<00>~<FF>~endcodespacerange} + \let\do_slot=\_a_true + \def\Unicode##1##2{\cmap_charseq{\cmap_codepoint{##1}{##2}}} + \let\charseq=\cmap_charseq + \inputetx{#1} +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\cmap_codepoint} +% This is what |\Unicode| is inside a |\charseq|. It appends a +% UTF-16BE character in hexadecimal notation (either four hex +% digits for a character in the BMP, or eight hex digits for +% a surrogate pair) to |\a_macro|, and also appends a space for +% grouping the digits for easier reading. +% \changes{1.928}{2004/12/05}{Added \cs{uppercase} to ensure case +% independence. (LH)} +% \begin{macrocode} +\def\cmap_codepoint#1#2{ + \uppercase{\a_count="#1\x_relax} + \ifnum "10000>\a_count + \format_hex\b_macro{\a_count}{4} + \edef\a_macro{\a_macro \b_macro \space} + \else + \advance \a_count -"10000 + \d_count=\a_count + \divide \a_count "400 + \b_count=\a_count + \multiply \b_count "400 + \advance \d_count -\b_count + \advance \a_count "D800 + \advance \d_count "DC00~ + \format_hex\b_macro{\a_count}{4} + \format_hex\c_macro{\d_count}{4} + \edef\a_macro{\a_macro \b_macro \c_macro \space} + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\cmap_charseq} +% This macro is what |\charseq| is when generating a CMap; all +% writing of CMap entries is routed through it. Only the first +% character equivalent of each slot should get written to file, so +% the |_a_| switch is used for keeping track of whether this would be +% the first. +% +% \begin{macrocode} +\def\cmap_charseq#1{% + \if_a_ + \bgroup + \let\Unicode=\cmap_codepoint + \let\a_macro=\empty_command + #1 + \format_hex\b_macro{\slot_number}{2} + \out_line{1~beginbfchar~<\b_macro>~<~\a_macro>~endbfchar} + \egroup + \_a_false + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% +% +% \begin{macro}{\etxtocmap} +% The +% \begin{macrocode} +\def\etxtocmap#1#2{\begingroup + \inputetx{#1} + \open_out{#2.cmap} + \out_line{\percent_char !PS-Adobe-3.0~Resource-CMap} + \out_line{\percent_char\percent_char + DocumentNeededResources:~procset~CIDInit} + \out_line{\percent_char\percent_char + IncludeResource:~procset~CIDInit} +% \end{macrocode} +% Here comes the first problem: the CMap must have a name. If the ETX +% file sets the string variable \texttt{cmapname} then that is used +% as name, but otherwise |fontinst-|\meta{cmapfile} is used as name. +% Note that this is different from the pattern in |\etxtoenc|, which +% instead uses the \meta{etxname}. +% \begin{macrocode} + \setstr{cmapname}{fontinst-#2} + \out_line{\percent_char\percent_char + BeginResource:~CMap~\str{cmapname}} +% \end{macrocode} +% The next problem is whether one should bother with the quite +% extensive version control junk that Adobe has specified. I prefer +% not to, because it is very much geared towards using CMaps with +% CIDFonts, which is not the case here. +% +% Thus it is time for the actual PS code. +% \begin{macrocode} + \out_line{/CIDInit~/ProcSet~findresource~begin} + \out_line{7~dict~begin} + \out_line{begincmap} + \out_line{/CMapName~/\str{cmapname}~def} + \out_line{/CMapType~2~def} + \write_cmap_body{#1} + \out_line{endcmap} + \out_line{CMapName~currentdict~/CMap~defineresource~pop} + \out_line{end} + \out_line{end} + \out_line{\percent_char\percent_char EndResource} + \out_line{\percent_char\percent_char EOF} + \close_out{ToUnicode~CMap} +\endgroup} %</misc> % \end{macrocode} % \end{macro} +% +% % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -1384,6 +1527,8 @@ % \changes{1.917}{2001/03/13}{Added resetting of % \cs{setsomething_global}---assignments made here must be % local. (LH)} +% \changes{1.929}{2005/02/05}{Corrected `\texttt{pltotf}' in +% comment. (LH)} % \begin{macrocode} \def\mtxtopl#1#2{{ \let\setsomething_global=\x_relax @@ -1398,7 +1543,7 @@ \out_line{} \out_line{(COMMENT~This~file~can~be~turned~into~ a~ligless~TeX~font~with)} - \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)} + \out_line{(COMMENT~pltotf~#2.pl~#2.tfm)} \out_line{} \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)} \out_line{} diff --git a/Master/texmf-dist/source/fontinst/base/fimain.dtx b/Master/texmf-dist/source/fontinst/base/fimain.dtx index 62ae7dad6fa..6edad395440 100644 --- a/Master/texmf-dist/source/fontinst/base/fimain.dtx +++ b/Master/texmf-dist/source/fontinst/base/fimain.dtx @@ -1,4 +1,4 @@ -% \CheckSum{4010} +% \CheckSum{4033} % \iffalse meta-comment % % Copyright 1993, 1994, 1995, 1996 Alan Jeffrey, @@ -97,9 +97,7 @@ \global\slot@number=0% \FD@slot@known@true \IfFileExists{\lowercase@file.etx}{% - \def\relax{\let\relax=\x@relax\iffalse}% - \let\encoding=\fi - \outer\x@cs\def{endencoding}{\endinput}% + \FD@relax@encoding@tricks \@@input \@filef@und \let\relax=\x@relax }{% @@ -109,6 +107,23 @@ } \endgroup } +% \end{macrocode} +% \begin{macro}{\FD@relax@encoding@tricks} +% There is a problem with |\if| \dots\ |\fi| nesting in the +% redefinition of |\relax| and |\encoding|, which interacts badly +% with |\IfFileExists|. To work around that, these redefinitions +% are hidden in the |\FD@relax@encoding@tricks| macro. +% \changes{1.928}{2004/11/24}{Macro added, to fix bug reported by +% Peter Dyballa. (LH)} +% \begin{macrocode} +\def\FD@relax@encoding@tricks{% + \def\relax{\let\relax=\x@relax\iffalse}% + \let\encoding=\fi + \outer\x@cs\def{endencoding}{\endinput}% +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} \def\encoding{% \par \ifFD@spec@ \addvspace{\bigskipamount}\fi @@ -586,6 +601,65 @@ % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro} % +% \begin{macro}{\charseq} +% Most commonly occurring glyphs correspond to one |\Unicode| +% character, but this is not at all true in general---in fact there +% may even be letters which cannot be encoded as single characters, +% as they do not exist in precomposed form but have to be expressed +% with a base letter and combining diacritical mark. Reasonable +% compliance with the standard requires supporting character +% sequences as well as individual characters. +% \changes{1.928}{2004/11/27}{Command added. (LH)} +% \changes{1.928}{2004/12/16}{Typeset form changed, from paragraph to +% a one-item-per-line list. (LH)} +% +% In \package{fontinst}, the |\charseq| command is used to specify +% such a character sequence. The syntax is +% \begin{quote} +% |\charseq|\marg{\cs{Unicode} commands} +% \end{quote} +% where the \meta{\cs{Unicode} commands} is one or several |\Unicode| +% commands. This means the sequence of those characters. For example +% \begin{quote} +% |\charseq{|\\ +% | \Unicode{0066}{LATIN SMALL LETTER F}|\\ +% | \Unicode{0069}{LATIN SMALL LETTER I}|\\ +% |}| +% \end{quote} +% is typeset as +% \begin{quote} +% Unicode character sequence:\\ +% \vadjust{}\quad\texttt{U+0066} (\textsc{latin small letter f})\\ +% \vadjust{}\quad\texttt{U+0069} (\textsc{latin small letter i}) +% \end{quote} +% This indentation is made using the \texttt{IfBranch} environment, +% which could be considered a bit hackish. +% +% |\charseq| is gobbled in \Module{pkg} and \Module{misc}, but in the +% latter case it might get redefined. +% \begin{macrocode} +%<pkg|misc>\let\charseq=\gobble_one +% \end{macrocode} +% Note how the environment group restores the definition +% of |\Unicode|. +% \begin{macrocode} +%<*doc> +\newcommand\charseq[1]{% + \comment{Unicode character sequence:}% + \begin{IfBranch}% + \def\Unicode##1##2{% + \noindent\FD@codepoint{##1} + \ifx\par##2\par\else(\FD@charname{##2})\fi + \par + }% + #1% + \end{IfBranch}% +} +%</doc> +% \end{macrocode} +% \end{macro} +% +% % \DescribeMacro{\vartop} % \DescribeMacro{\varmid} % \DescribeMacro{\varbot} @@ -4011,6 +4085,8 @@ % font metrics file. % \changes{1.926}{2003/07/10}{Only looking for PL and VPL files when % an encoding is specified. (LH)} +% \changes{1.929}{2005/01/13}{Missing space in message inserted. (LH) +% Pointed out by Peter Dyballa.} % \begin{macrocode} \ifx \pl_encoding\empty_command \fromany\file_name @@ -4021,7 +4097,7 @@ \inputmtx{\str{afm-name}} \else \fontinsterror{\string\install...}{ - Font/MTX~file~\file_name\space not found + Font/MTX~file~\file_name\space not~found }{ You~can~insert~an~\string\inputmtx\space command~here \messagebreak to~input~some~other~MTX~file~instead. @@ -4045,9 +4121,13 @@ % and the generated MTX file is named % \meta{font}\texttt{-}\meta{etx}\texttt{.mtx} to avoid that it is % picked up by |\fromany| by mistake. +% \changes{1.929}{2005/01/12}{The \texttt{afm-name} string usually has +% a value at this point, so it is necessary to reset it. (LH, +% sighing because he knows this isn't the first time this problem +% occurred) First to be hit by this bug was Michael Zedler.} % \begin{macrocode} \def\metrics_given_encoding#1#2{ - \x_setstr{afm-name}{#1-#2} + \x_cs\edef{s-afm-name}{#1-#2} \if_file_exists{#1.pl}\then \generalpltomtx{#1}{#1-#2}{pl}{#2} \else diff --git a/Master/texmf-dist/source/fontinst/base/fimapgen.dtx b/Master/texmf-dist/source/fontinst/base/fimapgen.dtx index bce3a5a99fd..fccdf30b5e2 100644 --- a/Master/texmf-dist/source/fontinst/base/fimapgen.dtx +++ b/Master/texmf-dist/source/fontinst/base/fimapgen.dtx @@ -1,4 +1,4 @@ -% \CheckSum{873} +% \CheckSum{876} % \iffalse meta-comment % % Copyright 1999 the fontinst maintenance team and any individual @@ -853,6 +853,16 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\fulldownload} +% By default this defaults to being a synonym of |\download|, to +% simplify matters for drivers where the distinction is not relevant. +% They should be redefined when that is not the desired effect. +% \changes{1.928}{2004/12/13}{Command added. (LH)} +% \begin{macrocode} +\def\fulldownload#1{\download{#1}} +% \end{macrocode} +% \end{macro} +% % Some encodings seem to always be present, so they can be declared here. % \begin{macrocode} \declarepsencoding{8r}{TeXBase1Encoding}{\download{8r.enc}} diff --git a/Master/texmf-dist/source/fontinst/base/fisource.dvi b/Master/texmf-dist/source/fontinst/base/fisource.dvi Binary files differindex cc308845392..335361e6f20 100644 --- a/Master/texmf-dist/source/fontinst/base/fisource.dvi +++ b/Master/texmf-dist/source/fontinst/base/fisource.dvi diff --git a/Master/texmf-dist/source/fontinst/base/fisource.ist b/Master/texmf-dist/source/fontinst/base/fisource.ist new file mode 100644 index 00000000000..a7f22dde295 --- /dev/null +++ b/Master/texmf-dist/source/fontinst/base/fisource.ist @@ -0,0 +1,47 @@ +%% +%% This is file `docindex.ist', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% docindex.dtx (with options: `ist') +%% +%% This file may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.2 of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% This file may only be distributed together with a copy of the source +%% file from which it was generated. You may distribute that source file +%% without this generated file. +%% +item_0 "}{1}\n\\indexitem{1}{" +item_1 "}{2}\n \\indexitem{2}{" +item_01 "}{2}\n \\indexitem{2}{" +item_x1 "}{2}\n \\indexitem{2}{" +item_2 "}{3}\n \\indexitem{3}{" +item_12 "}{3}\n \\indexitem{3}{" +item_x2 "}{3}\n \\indexitem{3}{" +delim_0 "}{9}{" +delim_1 "}{9}{" +delim_2 "}{9}{" +delim_n ", " +delim_r "--" +group_skip "}{0}\n%^^A\n\\indexnewletter{0}{" +heading_prefix "" +heading_suffix "" +headings_flag 1 +actual '=' +quote '!' +level '>' +page_precedence "naArR" +keyword "\\xdocindexentry" +page_compositor "\\+" +preamble "\\docindexguard{\\endinput}\n%^^A\n\\indexnewletter{1}{" +postamble "}{0}\n\\endinput" +%% +%% +%% End of file `docindex.ist'. diff --git a/Master/texmf-dist/source/fontinst/base/fisource.sty b/Master/texmf-dist/source/fontinst/base/fisource.sty index c530b6bf26b..35ae65d39f8 100644 --- a/Master/texmf-dist/source/fontinst/base/fisource.sty +++ b/Master/texmf-dist/source/fontinst/base/fisource.sty @@ -498,6 +498,12 @@ % to the version number headings. The way it is done is however a % hack; I should define a separate instance explicitly instead. % (LH)} +% +% Typesetting the list of changes is annoyingly slow. It should be +% examined what takes all that time, but I suspect it is the +% paragraph breaking (the parameters involved are rather absurd). I +% suspect that in particular the |\multchanges| complicates things +% more than they really need to. --- LH, 2004/12/15. % \begin{macrocode} \setcounter{GlossaryColumns}{1} \@namedef{TP@I{}{docindex}{changes}}#1#2{% diff --git a/Master/texmf-dist/source/fontinst/base/fisource.tex b/Master/texmf-dist/source/fontinst/base/fisource.tex index b5a5cab7e76..8c684883f99 100644 --- a/Master/texmf-dist/source/fontinst/base/fisource.tex +++ b/Master/texmf-dist/source/fontinst/base/fisource.tex @@ -497,6 +497,23 @@ of fonts. The most important are: which integer variables correspond to font dimensions in a (V)PL file. This correspondence is used both when generating a ligful (V)PL file and when a (V)PL file is converted to an MTX file. + \item \texttt{finstmsc.sty} now contains a new command which + generates a ToUnicode CMap file from an ETX file. The syntax of + this command is + \begin{quote} + |\etxtocmap|\marg{etxfile}\marg{cmapfile} + \end{quote} + \item Unicode equivalents of slots need no longer be single + characters. To specify a multiple-character equivalent of a + slot, use the |\charseq| command and place the individual + characters as |\Unicode| commands in its arguments. For a + \texttt{fi} slot, one would say + \begin{quote} + |\charseq{|\\ + | \Unicode{0066}{LATIN SMALL LETTER F}|\\ + | \Unicode{0069}{LATIN SMALL LETTER I}|\\ + |}| + \end{quote} \end{itemize} @@ -1678,6 +1695,15 @@ implicitly use or set are listed below. |\setint| commands for this variable. \item[Used by] Some MTX and ETX files. \end{smalldes} + \item[cmapname] (string) + \begin{smalldes} + \item[Description] The name given to the CMap generated from + an ETX file. + \item[Set by] ETX files. + \item[Used by] The ETX-to-CMap converter. When not set, the + value |fontinst-|\nolinebreak[1]\meta{cmap file name} is + used instead. + \end{smalldes} \item[codingscheme] (string) \begin{smalldes} \item[Description] The codingscheme name. diff --git a/Master/texmf-dist/source/fontinst/base/trig.dtx b/Master/texmf-dist/source/fontinst/base/trig.dtx deleted file mode 100644 index 8540ec3dee7..00000000000 --- a/Master/texmf-dist/source/fontinst/base/trig.dtx +++ /dev/null @@ -1,308 +0,0 @@ -% \iffalse -%% File: trig.dtx Copyright (C) 1993 1994 1995 1996 1997 1999 David Carlisle -%% -%% This file is part of the Standard LaTeX `Graphics Bundle'. -%% It may be distributed under the terms of the LaTeX Project Public -%% License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. -%% -% -%<*dtx> - \ProvidesFile{trig.dtx} -%</dtx> -%<*!plain> -%<package&!plain>\NeedsTeXFormat{LaTeX2e} -%<package&!plain>\ProvidesPackage{trig} -%<driver> \ProvidesFile{trig.drv} -% \fi -% \ProvidesFile{trig.dtx} - [1999/03/16 v1.09 sin cos tan (DPC)] -% -% \iffalse -%</!plain> -%<*driver> -\documentclass{ltxdoc} -\usepackage{trig} -\begin{document} - \DocInput{trig.dtx} -\end{document} -%</driver> -% \fi -% -% \GetFileInfo{trig.dtx} -% \title{The \textsf{trig} package\thanks{This file -% has version number \fileversion, last -% revised \filedate.}} -% \author{David Carlisle} -% \date{\filedate} -% \maketitle -% -% \CheckSum{246} -% -% \changes{v1.00}{1993/00/00}{Undocumented versions} -% \changes{v1.05}{1993/10/07}{Documented, added tan} -% \changes{v1.06}{1994/02/01}{Update for LaTeX2e} -% \changes{v1.07}{1994/03/15}{Use ltxdoc} -% \changes{v1.08}{1994/10/16}{Change \cs{@xc} to \cs{nin@ty}} -% -% \section{Introduction} -% -% These macros implement the trigonometric functions, sin, cos and tan. -% In each case two commands are defined. For instance the command -% |\CalculateSin{33}| may be isued at some point, and then anywhere -% later in the document, the command |\UseSin{33}| will return the -% decimal expansion of $\sin(33^\circ)$. -% -% The arguments to these macros do not have to be whole numbers, -% although in the case of whole numbers, \LaTeX\ or plain \TeX\ counters -% may be used. In \TeX{}Book syntax, arguments must be of type: -% \meta{optional signs}\meta{factor} -% -% Some other examples are:\\ -% |\CalculateSin{22.5}|, |\UseTan{\value{mycounter}}|, -% |\UseCos{\count@}|. -% -% Note that unlike the psfig macros, these save all previously -% computed values. This could easily be changed, but I thought that in -% many applications one would want many instances of the -% same value. (eg rotating all the headings of a table by the -% \emph{same} amount). -% -% I don't really like this need to pre-calculate the values, I -% originally implemented |\UseSin| so that it automatically calculated -% the value if it was not pre-stored. This worked fine in testing, until -% I remembered why one needs these values. You want to be able to say -% |\dimen2=\UseSin{30}\dimen0|. Which means that |\UseSin| must -% \emph{expand} to a \meta{factor}. -% -% \StopEventually{} -% -% \section{The Macros} -% -% \begin{macrocode} -%<*package> -% \end{macrocode} -% -% \begin{macro}{\nin@ty}\begin{macro}{\@clxx} -% \begin{macro}{\@lxxi}\begin{macro}{\@mmmmlxviii} -% Some useful constants for converting between degrees and radians. -% $$\frac{\pi}{180}\simeq\frac{355}{113\times180}=\frac{71}{4068}$$ -% \begin{macrocode} -\chardef\nin@ty=90 -\chardef\@clxx=180 -\chardef\@lxxi=71 -\mathchardef\@mmmmlxviii=4068 -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% The approximation to $\sin$. I experimented with various -% approximations based on Tchebicheff polynomials, and also some -% approximations from a SIAM handbook `Computer Approximations' However -% the standard Taylor series seems sufficiently accurate, and used by -% far the fewest \TeX\ tokens, as the coefficients are all rational. -% \begin{eqnarray*} -% \sin(x)& \simeq& x - (1/3!)x^3 + (1/5!)x^5 - (1/7!)x^7 + (1/9!)x^9\\ -% &\simeq&\frac{((((7!/9!x^2-7!/7!)x^2+7!/5!)x^2 +7!/3!)x^2+7!/1!)x} -% {7!}\\ -% &=&\frac{((((1/72x^2-1)x^2+42)x^2 +840)x^2+5040)x} -% {5040} -% \end{eqnarray*} -% The nested form used above reduces the number of operations required. -% In order to further reduce the number of operations, and more -% importantly reduce the number of tokens used, we can precompute the -% coefficients. Note that we can not use $9!$ as the denominator as -% this would cause overflow of \TeX's arithmetic. -% \begin{macro}{\@coeffz}\begin{macro}{\@coeffa}\begin{macro}{\@coeffb} -% \begin{macro}{\@coeffc}\begin{macro}{\@coeffd} -% Save the coefficients as |\|(|math|)|char|s. -% \begin{macrocode} -\chardef\@coeffz=72 -%\chardef\@coefa=1 -\chardef\@coefb=42 -\mathchardef\@coefc=840 -\mathchardef\@coefd=5040 -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\TG@rem@pt} -% The standard trick of getting a real number out of a \meta{dimen}. -% This gives a maximum accuracy of approx.\ 5 decimal places, which -% should be sufficient. It puts a space after the number, perhaps it -% shouldn't. -% \begin{macrocode} -{\catcode`t=12\catcode`p=12\gdef\noPT#1pt{#1}} -\def\TG@rem@pt#1{\expandafter\noPT\the#1\space} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\TG@term} -% Compute one term of the above nested series. Multiply the previous sum -% by $x^2$ (stored in |\@tempb|, then add the next coefficient, |#1|. -% \begin{macrocode} -\def\TG@term#1{% - \dimen@\@tempb\dimen@ - \advance\dimen@ #1\p@} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\TG@series} -% Compute the above series. the value in degrees will be in |\dimen@| -% before this is called. -% \begin{macrocode} -\def\TG@series{% - \dimen@\@lxxi\dimen@ - \divide \dimen@ \@mmmmlxviii -% \end{macrocode} -% |\dimen@| now contains the angle in radians, as a \meta{dimen}. We -% need to remove the units, so store the same value as a \meta{factor} -% in |\@tempa|. -% \begin{macrocode} - \edef\@tempa{\TG@rem@pt\dimen@}% -% \end{macrocode} -% Now put $x^2$ in |\dimen@| and |\@tempb|. -% \begin{macrocode} - \dimen@\@tempa\dimen@ - \edef\@tempb{\TG@rem@pt\dimen@}% -% \end{macrocode} -% The first coefficient is $1/72$. -% \begin{macrocode} - \divide\dimen@\@coeffz - \advance\dimen@\m@ne\p@ - \TG@term\@coefb - \TG@term{-\@coefc}% - \TG@term\@coefd -% \end{macrocode} -% Now the cubic in $x^2$ is completed, so we need to multiply by $x$ and -% divide by $7!$. -% \begin{macrocode} - \dimen@\@tempa\dimen@ - \divide\dimen@ \@coefd} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\CalculateSin} -% If this angle has already been computed, do nothing, else store the -% angle, and call |\TG@@sin|. -% \begin{macrocode} -\def\CalculateSin#1{{% - \expandafter\ifx\csname sin(\number#1)\endcsname\relax - \dimen@=#1\p@\TG@@sin - \expandafter\xdef\csname sin(\number#1)\endcsname - {\TG@rem@pt\dimen@}% - \fi}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\CalculateCos} -% As above, but use the relation $\cos(x) = \sin(90-x)$. -% \begin{macrocode} -\def\CalculateCos#1{{% - \expandafter\ifx\csname cos(\number#1)\endcsname\relax - \dimen@=\nin@ty\p@ - \advance\dimen@-#1\p@ - \TG@@sin - \expandafter\xdef\csname cos(\number#1)\endcsname - {\TG@rem@pt\dimen@}% - \fi}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\TG@reduce} -% Repeatedly use one of the the relatations -% $\sin(x)=\sin(180-x)=\sin(-180-x)$ to get $x$ in the range $-90 \leq -% x\leq 90$. Then call |\TG@series|. -% \begin{macrocode} -\def\TG@reduce#1#2{% -\dimen@#1#2\nin@ty\p@ - \advance\dimen@#2-\@clxx\p@ - \dimen@-\dimen@ - \TG@@sin} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\TG@@sin} -% Slightly cryptic, but it seems to work\ldots -% \begin{macrocode} -\def\TG@@sin{% - \ifdim\TG@reduce>+% - \else\ifdim\TG@reduce<-% - \else\TG@series\fi\fi}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\UseSin} -% \begin{macro}{\UseCos} -% Use a pre-computed value. -% \begin{macrocode} -\def\UseSin#1{\csname sin(\number#1)\endcsname} -\def\UseCos#1{\csname cos(\number#1)\endcsname} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% A few shortcuts to save space. -% \begin{macrocode} -\chardef\z@num\z@ -\expandafter\let\csname sin(0)\endcsname\z@num -\expandafter\let\csname cos(0)\endcsname\@ne -\expandafter\let\csname sin(90)\endcsname\@ne -\expandafter\let\csname cos(90)\endcsname\z@num -\expandafter\let\csname sin(-90)\endcsname\m@ne -\expandafter\let\csname cos(-90)\endcsname\z@num -\expandafter\let\csname sin(180)\endcsname\z@num -\expandafter\let\csname cos(180)\endcsname\m@ne -% \end{macrocode} -% -% \begin{macro}{\CalculateTan} -% Originally I coded the Taylor series for tan, but it seems to be -% more accurate to just take the ratio of the sine and cosine. -% This is accurate to 4 decimal places for angles up to -% $50^\circ$, after that the accuracy tails off, giving -% 57.47894 instead of 57.2900 for $89^\circ$. -% \begin{macrocode} -\def\CalculateTan#1{{% - \expandafter\ifx\csname tan(\number#1)\endcsname\relax - \CalculateSin{#1}% - \CalculateCos{#1}% - \@tempdima\UseCos{#1}\p@ - \divide\@tempdima\@iv - \@tempdimb\UseSin{#1}\p@ - \@tempdimb\two@fourteen\@tempdimb - \divide\@tempdimb\@tempdima - \expandafter\xdef\csname tan(\number#1)\endcsname - {\TG@rem@pt\@tempdimb}% - \fi}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\UseTan} -% Just like |\UseSin|. -% \begin{macrocode} -\def\UseTan#1{\csname tan(\number#1)\endcsname} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\two@fourteen} -% \begin{macro}{\@iv} -% two constants needed to keep the division within \TeX's range. -% \begin{macrocode} -\mathchardef\two@fourteen=16384 -\chardef\@iv=4 -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% Predefine $\tan(\pm90)$ to be an error. -% \begin{macrocode} -\expandafter\def\csname tan(90)\endcsname{\errmessage{Infinite tan !}} -\expandafter\let\csname tan(-90)\expandafter\endcsname - \csname tan(90)\endcsname -% \end{macrocode} -% -% \begin{macrocode} -%</package> -% \end{macrocode} -% -% \Finale -% -\endinput diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/README b/Master/texmf-dist/source/fontinst/base/xdoc/README deleted file mode 100644 index 58744d4985d..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/README +++ /dev/null @@ -1,67 +0,0 @@ -README for the xdoc and docindex packages. - -The standard LaTeX doc package is well-known to all LaTeX hackers. -Without its support for the .dtx-file style of literate programming, -the TeX world would probably be much more plagued by the horrors of -poorly commented and mysterious code than it is today. The past good -decade that doc has been with us has been -- good. But even the sun -has spots; doc is an old package and, as old code often tends to do, -it breaks if you try to bend it into doing something new. The xdoc -package is (or rather is meant to be) a rewrite from scratch -which both can take a lot more bending and is ready for LaTeX2e*. - -What exists so far is only xdoc2: the "second prototype" for the xdoc -package. xdoc2 is not a complete rewrite of doc, but rather an add-on -to doc which reimplements many of its mechanisms (more precisely those -mechanisms which I think should be possible to "bend" into doing new -things, but have found to be fixed to their present behaviour) and -provides a few new features of its own. Even though xdoc2 is a -prototype and some of the code in it is experimental, I consider it to -be safe enough to build productive applications on, as I intend to -keep xdoc2 available even after the final xdoc package is released. - -Among the features of xdoc2 are: - - new commands for describing things (cf. \DescribeMacro) and a - package/class writer's interface for defining new such commands. - - new environments for defining things in (cf. the macro - environment) and a package/class writer's interface for defining - new such environments. - - support for two-sided document designs. - - support for external cross-referencing. - - improved sorting of macros, with support for defining prefixes - that should be ignored when sorting. - - support for CVS-style version numbering. -The other new features are of little interest to the mere user, but -they may be ever so useful to those who are in the habit of hacking -doc. Here we have for example: - - basic commands implementing a robust "string" datatype. - - an abstract command interface for making index entries; - this would simplify supporting a different index sorting - program. - -Besides xdoc2, there are also the docindex/docidx2e packages. These -provide mechanisms for a more flexible formatting of the index and list of -changes than is possible with the mechanisms for this in the doc package. -In particular docindex/docidx2e provides for automatic collapsing of -trivial index levels, something which often happens in automatically -generated multilevel indices such as the list of changes. The reason there -are two packages is that docindex is a LaTeX2e* package, whereas docidx2e -is a "downgraded" variant which runs on a normal LaTeX2e installation. -Both do however follow the same internal logic. - - -The files in this directory are: - -README.txt - this file -docindex.dtx - the source for the docindex and docidx2e packages -docindex.ins - the docstrip installation script for the docindex and - docidx2e packages -xdoc2.dtx - the source for the xdoc2 package -xdoc2.ins - the docstrip installation script for the xdoc2 package -xdocdemo.tex - a document which demonstrates some of the features in - the xdoc2 package - -2003/07/06, -Lars Hellstr\"om - - diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.dtx b/Master/texmf-dist/source/fontinst/base/xdoc/docindex.dtx deleted file mode 100644 index 47139d32b12..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.dtx +++ /dev/null @@ -1,2100 +0,0 @@ -% \CheckSum{893} -% \iffalse -%<*driver> -\documentclass{ltxdoc} -\usepackage{xdoc2} - -\makeatletter -\NewMacroEnvironment{templatetype}{\XD@grab@harmless\relax}{1}% - {\MacroFont#1\ \normalfont type}% - {\XDMainIndex{\LevelSorted{#1}{\texttt{#1} template type}}}% - {{#1}{\texttt{#1} template type}}% - {}% -\NewMacroEnvironment*{template}{% - \XD@grab@harmless\relax\XD@grab@harmless\relax -}{2}% - {\XDParToMargin{\MacroFont #1\textnormal{\slash}#2 \normalfont - template}}% - {\XDMainIndex{ - \LevelSorted{#1}{\texttt{#1} template type}% - \LevelSorted{#2}{\texttt{#2} template}% - }}% - {{#1/#2}{\texttt{#1}\slash\texttt{#2} template}}% - {\def\XD@template@sort{% - \LevelSorted{#1}{\texttt{#1} template type}% - \LevelSorted{#2}{\texttt{#2} template}% - }}% -\NewMacroEnvironment*{instance}{% - \XD@grab@harmless\relax\XD@grab@harmless\relax -}{2}% - {\XDParToMargin{\MacroFont #1\textnormal{\slash}#2 \normalfont - instance}}% - {\XDMainIndex{ - \LevelSorted{#1}{\texttt{#1} template type}% - \LevelSorted{#2}{\texttt{#2} instance}% - }}% - {{#1/#2}{\texttt{#1}\slash\texttt{#2} instance}}% - {}% -\NewMacroEnvironment*{collectioninstance}{% - \XD@grab@harmless\relax\XD@grab@harmless\relax\XD@grab@harmless\relax -}{3}% - {\XDParToMargin{\MacroFont #2\textnormal{\slash}#3 \normalfont - instance (\texttt{#1} collection)}}% - {\XDMainIndex{ - \LevelSorted{#2}{\texttt{#2} template type}% - \LevelSorted{#3}{\texttt{#3} instance}% - \LevelSorted{#1}{\texttt{#1} collection}% - }}% - {{#2/#3/#1}% - {\texttt{#2}\slash\texttt{#3} instance (\texttt{#1} collection)}}% - {}% -\@namedef{XD@harmless\string\break}{% - \toks@=\expandafter{\the\toks@ \protect\nolinebreak[3]}% - \XD@harmless@ -} -\newcommand\keyvalitem[2]{% - \item[#1 (#2)% - \IndexEntry{\XD@template@sort - \LevelSorted{#1}{\textit{#1} keyval (#2)}% - }{usage}{\thepage}% - ]% -} -\newcommand{\xrefoff}{\scan@allowedfalse} -\newcommand{\xrefon}{\scan@allowedtrue} -\makeatother - -\newenvironment{syntax}{% - \let\\=\break - \list{}{% - \setlength\topsep{\medskipamount}% - \setlength\partopsep{0pt}% - \setlength\itemsep{0pt plus 1pt}% - \setlength\parsep{\itemsep}% - \setlength\leftmargin{3em}% - \setlength\listparindent{1em}% - \setlength\itemindent{-2em}% - \setlength\labelwidth{0pt}% - \setlength\labelsep{0pt}% - \csname @endparpenalty\endcsname=500 - \def\makelabel##1{\mbox{\meta{##1}${}\longrightarrow{}$}}% - }% - \addtolength\rightskip{0pt plus 1fil}% - \linepenalty=300% -}{\endlist} -\newcommand\branch{\({}\mid{}\)\ignorespaces} - -\DeclareRobustCommand{\package}[1]{\textsf{#1}} -\DeclareRobustCommand{\program}[1]{\textsf{#1}} -\DeclareRobustCommand\LaTeXplus{\LaTeXe$*$} - -\DoNotIndex{\addvspace,\@backslashchar,\begin,\begingroup,\bgroup} -\DoNotIndex{\csname,\DeclareInstance,\DeclareOption} -\DoNotIndex{\DeclareTemplate,\DeclareTemplateType,\def} -\DoNotIndex{\DoParameterAssignments,\edef,\egroup,\@eha} -\DoNotIndex{\@empty,\end,\endcsname,\endgroup,\endinput,\expandafter} -\DoNotIndex{\@firstofone,\@firstoftwo,\global,\@gobble,\hb@xt@,\hfil} -\DoNotIndex{\hsize,\hspace,\IfNoValueTF,\@ifpackageloaded} -\DoNotIndex{\@ifpackagewith,\@ifundefined,\ignorespaces,\@input@} -\DoNotIndex{\jobname,\leftskip,\let,\MessageBreak,\@namedef,\@ne} -\DoNotIndex{\NeedsTeXFormat,\newcommand,\nobreak,\@nobreakfalse} -\DoNotIndex{\nopagebreak,\normalsize,\NoValue,\number,\outer} -\DoNotIndex{\p@,\PackageError,\PackageInfo,\PackageWarningNoLine} -\DoNotIndex{\pagestyle,\par,\parfillskip,\parindent,\parskip} -\DoNotIndex{\@plus,\ProcessOptions,\protect,\protected@edef} -\DoNotIndex{\providecommand,\ProvidesPackage,\relax,\renewcommand} -\DoNotIndex{\RequirePackage,\rightskip,\romannumeral,\@secondoftwo} -\DoNotIndex{\small,\space,\textbf,\thispagestyle,\thr@@,\tw@} -\DoNotIndex{\vadjust,\vspace,\z@,\z@skip} -\DoNotIndex{\iffalse,\ifnum,\ifx,\else,\fi} % \fi \fi -\DoNotIndexBy{@} -\DoNotIndexBy{DI@} - -\CodelineIndex -\EnableCrossrefs -\RecordChanges -\setcounter{IndexColumns}{2} -\setcounter{StandardModuleDepth}{2} - - -\begin{document} -\DocInput{docindex.dtx} -\PrintChanges -\PrintIndex -\end{document} -%</driver> -% \fi -% -% \title{The \package{docindex} package} -% \author{Lars Hellstr\"om} -% \date{8 July 2003} -% \maketitle -% -% \begin{abstract} -% The \package{docindex} package implements template-based formatting -% of indices and lists of changes\slash glossaries. In addition to this, -% the control structures employed also provide for a couple of new -% features, such as automatic collapsing of trivial index levels. -% \end{abstract} -% -% \tableofcontents -% -% -% \section{Introduction} -% -% In automatically generated indices with multi-level entries, such as the -% list of changes of a \package{doc} document, it often happens that some -% entries are uniquely identified by their primary level sort keys, -% although there are sort keys and text for additional levels. If then -% the formatting is designed for entries that are uniquely identified -% only when their secondary or tertiary sort keys are considered, one -% ends up with a couple of entries that look rather peculiar (building -% a tree which never branches) and usually take up much more space than -% they need to. The remedy for this is of course to make the formatting -% smart enough to recognise this situation when it occurs and flexible -% enough to format the text is a more suitable manner. -% -% An example of this is that if a document contains the index -% entries\footnote{I'm using the default \program{makeindex} -% metacharacters in these examples, but the style file provided for -% this package actually uses the same metacharacters as those style files -% provided by the \package{doc} package---hence the `\package{doc}' -% in `\package{docindex}'. } -% \begin{quote} -% |\index{Bernoulli!Jacob}\index{Bernoulli!Johann}| -% \end{quote} -% then it is probably reasonable to format this as -% \begin{quote} -% Bernoulli,\\ -% \vadjust{}\quad Jacob\\ -% \vadjust{}\quad Johann -% \end{quote} -% but if the index entries instead were -% \begin{quote} -% |\index{Jacobi!Carl}\index{Bernoulli!Jacob}| -% \end{quote} -% then it is probably better to format this as -% \begin{quote} -% Bernoulli, Jacob\\ -% Jacobi, Carl -% \end{quote} -% than as -% \begin{quote} -% Bernoulli,\\ -% \vadjust{}\quad Jacob\\ -% Jacobi,\\ -% \vadjust{}\quad Carl -% \end{quote} -% -% The \program{makeindex} program has some features in this direction, -% but they only allow dependence on the previous item in the index, not -% the next item, which is what you need to know when deciding whether -% `Jacob' should go on the same line as `Bernoulli'. Therefore -% \package{docindex} pretty much ignores these features in -% \program{makeindex} and instead sees to that each command that is to -% typeset an index item knows what kind of items were before and after it. -% -% Another reason for writing this package was to try out the template -% mechanisms as provided by the \LaTeXplus\ \package{template} -% package.\footnote{\LaTeXplus\ is the name of the \LaTeX\ version after -% \LaTeXe. Rather than being a completely different kernel\slash format, -% \LaTeXplus\ is (will be) implemented as a collection of \LaTeXe\ -% packages which replace parts of the kernel. More information and -% package code can be found on the \LaTeX-project website~^^A -% \cite{LaTeX-project}.} My impression is that this experiment turned -% out strikingly well. I have always found the more layout-oriented -% aspects of \TeX\ programming a bit cumbersome, but the separation of -% layout details from control structures that becomes natural when -% employing template mechanisms seems to have made it much easier. I'm -% not sure why this is so, but it could be as simple as that the layout -% settings are no longer diluted in the control structures. In any -% case, I would recommend people creating new \LaTeXe\ packages to -% employ template mechanisms in at least the initial development -% versions of the package, for the following reasons: (i) it reduces the -% work of updating the package for \LaTeXplus, (ii) it furthers the -% development of \LaTeXplus, and (iii) it might actually become a -% better package. -% -% A third reason for writing the \package{docindex} package was to get -% the \LaTeX\ document ``back in control'' of how the index is formatted. -% Certainly it is the document which has the final say about what -% the command in the \texttt{.ind} file actually do, but the traditional -% \program{makeindex} style files that are used place severe restrictions -% on the formatting of the index simply because they control where the -% commands are put. \package{docindex} tries to reduce these -% restrictions by making all texts in the index arguments of commands. -% Certainly there is a lot more that could be done in this direction---in -% particular, the (page) numbers in the index could be coded as a -% |\do|-type list rather than as an explicitly comma-separated list as is -% done now---but what is in \package{docindex} at the moment seems to -% satisfy all my current needs. -% -% -% \section{Usage} -% -% \subsection{Straightforward usage} -% -% To make use of the \package{docindex} package in formatting the index -% and list of changes of a \package{doc}-type \LaTeX\ document, you must -% do the following: -% \begin{enumerate} -% \item Load the \package{docindex} package (or probably -% rather the \package{docidx2e} package---see below). -% \item Make sure that the index entries does not use any commands, -% such as |\verb|, that rely on changing catcodes or otherwise -% need to be executed before the entire entry text has been -% tokenized. -% \item Generate the \texttt{.ind} and \texttt{.gls} files using -% \texttt{docindex.ist} as style file for \program{make\-index}. -% \end{enumerate} -% (Item~2 may seem like a monumental task if one considers what the -% indices of \package{doc} documents traditionally looks like---there's -% a |\verb| for every macro name in the index---but it is really not -% that bad. \package{docindex} loads the \package{xdoc} package~^^A -% \cite{xdoc} which redefines \texttt{macro}, the cross-referencing -% mechanism, etc.\ so that the index entries generated by these no -% longer uses |\verb|. What is left for you to deal with are merely -% the possible uses of |\verb| in explicit |\index| or |\SortIndex| -% commands.) -% -% What advantages are there then for the normal user in having -% \package{docindex} formatting the index and list of changes, as -% opposed to using the default mechanisms in the \package{doc} package? -% I can only think of two: the index or list of changes may be typeset in -% a single column and the same \program{makeindex} style file can be -% used for both index and list of changes. Neither advantage is -% significant. Instead the advantage of \package{docindex} lies in that -% it becomes much simpler to change the formatting, which is rather an -% advantage for advanced users which have special needs, and -% in particular one can do this without having to supply e.g.\ extra -% \program{makeindex} style files. -% -% Another important point is that what you will want to use is probably -% not the \LaTeXplus\ \package{docindex} package, but the ``downgraded'' -% \LaTeXe\ version \package{docidx2e}, as the former uses the -% \package{galley2} package which currently wrecks pretty much all -% justification in all existing document classes. \package{docidx2e} -% provides the same features as \package{docindex}, but configuring it -% is somewhat more cumbersome since \package{template} won't do most of -% the coding for you. It is however rather straightforward to convert -% a definition using the \package{docindex} package to something which -% achieves the same results with the \package{docidx2e} package. -% -% -% \subsection{Multiple indices} -% -% The \package{docindex} package makes it comparatively simple to -% include several indices in the same document: all one has to do is -% use an instance or template of type \texttt{docindex} for each index -% one wishes to typeset. The syntax for using such an instance is -% \begin{quote} -% |\UseInstance{docindex}|\marg{instance}\marg{prologue}^^A -% \marg{epilogue} -% \end{quote} -% The \meta{prologue} and \meta{epilogue} are texts which will be -% printed just before and after the index, respectively, and either may -% be empty. The text for the index itself is read from another file, -% the name and extentsion of which are specified by the instance. The -% \texttt{std} template prints the \meta{prologue} and \meta{epilogue} -% in one-column mode, whereas the index itself can be printed in one- or -% multicolumn mode (the default is three columns). -% -% The \package{doc} commands |\PrintIndex| and |\PrintGlossary| are -% redefined to be -% \begin{quote} -% |\UseInstance{docindex}{index}{\index@prologue}{}| -% \end{quote} -% and -% \begin{quote} -% |\UseInstance{docindex}{changes}{\glossary@prologue}{}| -% \end{quote} -% respectively. The \texttt{index} and \texttt{changes} instances of -% type \texttt{docindex} give the same formatting as the \package{doc} -% defaults. (The \package{docidx2e} definitions even use the -% \package{doc} package parameters where applicable, but in -% \package{docindex} it is much simpler to redefine the instance from -% scratch.) -% -% The format of the sorted index files (\texttt{.ind}, \texttt{.gls}, -% etc.) that a \texttt{docindex} instance inputs is rather complicated -% and I would suggest that the generation of these files is left to the -% \program{makeindex} program, but the complete syntax is described in -% Subsection~\ref{Ssec:ist}. The syntax of the unsorted index files -% (\texttt{.idx}, \texttt{.glo}, etc.) is simpler; there are only a few -% things that are different from the index files of the \package{doc} -% package. -% -% The foremost difference is that the index entries should begin not -% with |\indexentry| or |\glossaryentry|, but with |\docindexentry|. The -% \package{xdoc} package provides hooks with which one can change these -% texts in entries generated using the |\index| and |\glossary| commands -% (as well as higher-level commands built on these, such as the -% |\SortIndex| and |\changes| commands) and \package{docindex} will use -% these hooks unless it gets passed the \describeoption{oldkeywords} -% \texttt{oldkeywords} option. If you are creating a third unsorted -% index file then you will have to make sure that the command for writing -% to that file uses |\docindexentry| in the right place. -% -% The other difference concerns the composite page numbers. The string -% which separates the parts of a composite page number is not a -% hyphen `|-|', but the string `|\+|'. (The |\+| command is locally -% defined for the typesetting of each index by the \texttt{docindex} -% template being used, and the default is to typeset a hyphen.) Again -% the \package{xdoc} package provides a hook for this, and this hook is -% used by \package{docindex} unless it gets passed the -% \texttt{oldkeywords} option. -% -% It also deserves to be listed which the metacharacters are that are -% the same as in \package{doc} indices. The level separator is `|>|', -% the sort~key\slash item~text separator is `|=|', and the quote -% character is `|!|'. All other \program{makeindex} metacharacter -% parameters have their default values. -% -% -% -% \subsection{Configuration} -% -% Configuration of the layout provided by the \package{docindex} -% package is primarily done by redefining the \texttt{index} and -% \texttt{changes} instances of type \texttt{docindex}, since these are -% the instances that are used by the |\PrintIndex| and |\PrintChanges| -% commands. -% -% The index in the \texttt{source2e.tex} file (the main driver for the -% \LaTeXe\ source) differs from the default in three respects: it is set -% in two columns rather than three, there is no seperator character -% between the parts of a composite page number, and the pagestyle is set -% to \texttt{docindex} during the index. This is set up by the -% redefinition -%\begin{verbatim} -%\DeclareInstance{docindex}{index}{std}{ -% columns=2, page-compositor={}, pagestyle=docindex -%} -%\end{verbatim} -% (There are however also some changes of parameters related to -% linebreaking; more on that in connection to configuration of the -% \texttt{changes} instance below.) -% -% Another kind of modification can be found in the \package{tclldoc} -% package~\cite{tclldoc}. Here the primary level in the index is used for -% names of procedures and variables, whereas the secondary level for the -% namespace of the same (the same name may have different definitions -% in different namespaces). If there is only one namespace for a given -% name then it is probably overkill to format them as two different -% index items, but better to join them. This can be achieved through -% the redefinition -%\begin{verbatim} -%\DeclareInstance{docindex}{index}{std}{% -% item1=fixed-r1a, item2=aloneaccept2 -%}% -%\end{verbatim} -% An item handled by the \texttt{fixed-r1a} instance (of type -% \texttt{indexitem}) always tries to join with the following item but -% rejects to join with the preceeding one. An item handled by the -% \texttt{aloneaccept2} instance accepts to join with the preceeding -% item if neither that nor the following item is a secondary level item. -% Thus an item for a name will join with the following item for a -% namespace if there is only one such item. As the reader no doubt -% realises, this also solves the problem with the Bernoullis that was -% described in the introduction. -% -% \pagebreak[1] -% -% As for configuring the list of changes formatting, it is instructive -% to start by considering its default definition: -%\begin{verbatim} -%\DeclareInstance{docindex}{changes}{std}{ -% file-extension = gls, -% item2 = fixed-r2a-nocomma, -% item3 = fixed-a3r, -% columns = 2, -% letter-format = , -% letter-skip = 0pt -%} -%\end{verbatim} -% In the list of changes a secondary level item (which contains the name -% of the macro or whatever which was changed) is joined with the -% following tertiary level item (which details the change that was made). -% There are two columns and letter groups are not given any special -% formatting. -% -% The definition of \texttt{changes} that would be used for -% \texttt{source2e.tex} differs from the above in only one keyval, -% namely \textit{body-setup}, but that contains quite a lot of material. -% To begin with there is the default |\small| which selects the font. -% Then there is a |\makeatletter| which is needed because some |\changes| -% entries in the \LaTeX\ sources include commands (e.g.~|\TeX|) that -% (when written to file) expand to other commands whose names include the -% |@| character. If these are to be tokenized correctly, |@| must be a -% letter when the \texttt{.gls} file is being inputted. Last, but not -% least, there is a modification of the linebreaking parameters: -%\begin{verbatim} -%\UseTemplate{linebreak}{TeX}{ -%\end{verbatim} -% The file \texttt{source2e.tex} explicitly sets \textit{hbadness} and -% \textit{hfuzz} to make \TeX\ shut up about over- and underfull hboxes. -%\begin{verbatim} -% hbadness=10000, hfuzz=\maxdimen, -%\end{verbatim} -% In addition to this, there are a couple of parameters that are set by -% the \texttt{multicols} environment to values quite different from the -% defaults of the \texttt{TeX} template and thus must be set too. Here -% they are shown with their default values. The value of -% \textit{emergency\-stretch} could probably be increased. -%\begin{verbatim} -% pretolerance=-1, tolerance=9999, emergencystretch=8pt -%} -%\end{verbatim} -% Summing that up, we arrive at the following definition of the -% \texttt{changes} instance for \texttt{source2e.tex}. -%\begin{verbatim} -%\DeclareInstance{docindex}{changes}{std}{ -% file-extension = gls, -% item2 = fixed-r2a-nocomma, -% item3 = fixed-a3r, -% columns = 2, -% letter-format = , -% letter-skip = 0pt, -% body-setup = \small\makeatletter -% \UseTemplate{linebreak}{TeX}{ -% hbadness=10000, hfuzz=\maxdimen, -% pretolerance=-1, tolerance=9999, emergencystretch=8pt -% } -%} -%\end{verbatim} -% -% Another example can be found in the \package{fisource} -% package\footnote{It should probably rather be made a document class, -% but I haven't found it that necessary to change that aspect of it.}^^A -% ~(v\,2.10 or later), which sets up formatting for the \program{fontinst} -% source. There the list of changes should be set in one column, with -% items from the tertiary level being joined with their parent -% secondary level items iff the tertiary item is the only one having -% that particular parent item. This is achieved through the definition -%\begin{verbatim} -%\DeclareInstance{docindex}{changes}{std}{% -% file-extension = gls, -% item2 = fixed-r2a-nocomma, -% item3 = aloneaccept3, -% columns = 1, -% letter-format = {}, -% letter-skip = 0pt -% } -%\end{verbatim} -% where the difference to the default definition is in the values for -% the \textit{item3} and \textit{columns} keys. -% -% For details on what they various keys mean, see the declaration of -% the \texttt{std} template of type \texttt{docindex} on -% page~\pageref{docindex:std}. -% -% With the \package{docidx2e} package, configuration follows the same -% logic, even though it is much more technical as one has to define -% the instances without the help of a template. The default instance -% definitions for the \package{docidx2e} package are the -% \begin{quote} -% |\@namedef{TP@I{}{docindex}{index}}#1#2{|\dots|}|\\ -% |\@namedef{TP@I{}{docindex}{changes}}#1#2{|\dots|}| -% \end{quote} -% that begin on pages~\pageref{p:index-instance} -% and~\pageref{p:changes-instance} respectively. -% -% -% -% -% -% \StopEventually{ -% % \begin{thebibliography}{9} -% \bibitem{xindex} -% Achim Blumensath: \textit{The \package{xindex} package}; -% \textsc{http:}/\slash -% \texttt{www-mgi.\nolinebreak[3]informatik.\nolinebreak[3]^^A -% rwth-aachen.de}\slash \texttt{\textasciitilde blume}/. -% \bibitem{makeindex-paper} -% Pehong Chen, Michael A. Harrison: -% \textit{Index Preparation and Processing}, -% Software: practice \& experience, vol. \textbf{19}, no. 9 (1988), -% 897--915; -% Computer Science Tech. Report 87/347, University of California, -% Berkeley, March 1987; -% \textsc{ctan:}\discretionary{}{}{\thinspace}\texttt{indexing}^^A -% \slash\texttt{makeindex}\slash\texttt{paper}\slash -% \texttt{ind.tex}. -% \bibitem{tclldoc} -% Lars Hellstr\"om: -% \textit{The \package{tclldoc} package and class}, -% v\,2.20 or newer; -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{contrib}\slash -% \texttt{tclldoc}\slash \texttt{tclldoc.dtx}. -% Note: At the time of writing, this has not yet been uploaded -% to CTAN. -% \bibitem{xdoc} -% Lars Hellstr\"om: -% \textit{The \package{xdoc} package --- experimental -% reimplementations of features from \package{doc}, -% second~prototype}, 2000--2003; -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{contrib}\slash \texttt{xdoc}\slash -% \texttt{xdoc2.dtx}. -% \bibitem{xindy} -% Roger Kehr: -% \textit{\program{xindy} --- A Flexible Indexing System}; -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{indexing}^^A -% \slash\texttt{xindy}/. -% \bibitem{LaTeX-project} -% The \LaTeX3 Project: \textit{The \LaTeX\ Project Home Page}; -% \textsc{http:}/\slash\texttt{www.latex-project.org}/. -% \bibitem{multicol} -% Frank Mittelbach: \textit{An environment for multicolumn output}; -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{required}\slash \texttt{tools}\slash -% \texttt{multicol.dtx}. -% \bibitem{doc} -% Frank Mittelbach, B.~Hamilton Kelly, Andrew Mills, Dave Love, and -% Joachim \mbox{Schrod}: \textit{The \package{doc} and -% \package{shortvrb} Packages}, The \LaTeX3 Project; ^^A , 1993~ff. -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{base}\slash \texttt{doc.dtx}. -% \end{thebibliography} -% } -% -% -% -% -% \section{Implementation} -% -% \subsection{\package{docstrip} modules} -% -% This file contains a number of \package{docstrip} module directives, -% and many of these guard code that is not going to be used. In part -% this mirrors the development of the code (and may get cleared up -% eventually), but most of this duplication has to do with making the -% code work in many different set-ups (some of which involve other -% packages whose interface is rapidly changing). -% -% The modules which control \LaTeX\ code are: -% \begin{description} -% \item[\textsf{pkg}] -% Main guard for code that is to end up in some \LaTeX\ package. -% \item[\textsf{template}] -% Guard for code which uses features of the \package{template} -% package. This code will end up in the \package{docindex} package, -% whereas the equivalent code which avoids using templates ends up -% in the \package{docidx2e} package. -% \item[\textsf{default}] -% This code protects the default values for template keys. The -% syntax for this is changing, so the default values are currently -% being assigned in the template bodies instead. -% \end{description} -% -% The modules which control \program{makeindex} style files are: -% \begin{description} -% \item[\textsf{ist}] -% Code for the main style file \texttt{docindex.ist}. -% \item[\textsf{idx}] -% Code for a style file which is like the main one, but the input -% parameters are set to the same values as in the standard \LaTeX\ -% \texttt{gind.ist}. -% \item[\textsf{glo}] -% Code for a style file which is like the main one, but the input -% parameters are set to the same values as in the standard \LaTeX\ -% \texttt{gglo.ist}. -% \end{description} -% -% -% \subsection{Initial stuff} -% -% \begin{macrocode} -%<*pkg> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage -%<template> {docindex} -%<!template> {docidx2e} - [2001/04/11 v1.00 doc index formatting package] -% \end{macrocode} -% -% Since the \texttt{multicols} environment is used by the \texttt{std} -% template of type \texttt{docindex}, the \package{multicol} package -% must have been loaded. -% \begin{macrocode} -\RequirePackage{multicol} -% \end{macrocode} -% This will probably change in \package{docindex} once I get around to -% check how this kind of thing is implemented in the \LaTeXplus\ output -% routine. -% -% Since the \texttt{docindex} pagestyle may be used the \package{xdoc} -% package must have been loaded. This also loads the \package{doc} -% package which contains the definition of |\pfill|. -% \begin{macrocode} -\RequirePackage{xdoc2}[2001/03/26] -% \end{macrocode} -% -% -% \begin{option}{oldkeywords} -% The \texttt{oldkeywords} option tells the \package{docindex} -% package to not change the index entry keywords from the \package{doc} -% defaults. The code for this option appears further down. -% \begin{macrocode} -\DeclareOption{oldkeywords}{} -% \end{macrocode} -% \end{option} -% -% \begin{option}{usedocindexps} -% The \texttt{usedocindexps} option tells the \package{docindex} -% package to set the pagestyle to \texttt{docindex} (defined by -% \package{xdoc}) when typesetting the index. The code for this option -% appears further down. -% \begin{macrocode} -\DeclareOption{usedocindexps}{} -% \end{macrocode} -% \end{option} -% -% \begin{macrocode} -\ProcessOptions\relax -%</pkg> -% \end{macrocode} -% -% -% -% \subsection{Index style files} -% \label{Ssec:ist} -% -% The \program{makeindex} style files uses four commands. The most -% important command is \DescribeMacro{\indexitem}|\indexitem|, which -% has the two syntaxes -% \begin{quote} -% |\indexitem|\marg{level}\marg{text}\marg{next level}\\ -% |\indexitem|\marg{level}\marg{text}|{9}|\marg{numbers}^^A -% \marg{next level} -% \end{quote} -% The \meta{level} is an integer in the range 1--3, the \meta{next level} -% is an integer in the range 0--3, the \meta{text} is the item text, -% and the \meta{numbers} is a list of (page or the like) numbers. The -% reason for this dual syntax is limitations of \program{makeindex}: -% there is no way of making the text inserted after an item depend on -% whether there are any page numbers for this item, so one cannot make -% \meta{numbers} a straightforward optional argument. -% -% The level numbers specify at what level the item is. Level~1 -% corresponds to |\item|, level~2 corresponds to |\subitem|, and -% level~3 corresponds to |\subsubitem|. The \meta{next level} number -% may also be 0, and that denotes non-|\indexitem| material such as a -% space between letter groups or the end of the index. The purpose of -% the \meta{next level} argument is to let the formatting of an item -% depend on what level the next item has, a feature that -% \program{makeindex} alone doesn't provide. Since \program{makeindex} -% only supports putting text in front of things, each new item must -% begin by inserting the closing brace on the second last argument and -% the very last argument of the \emph{previous} item before it can do -% anything for itself. This leads to the following contents of the -% \program{makeindex} |item_|\textellipsis\ parameters. -% -% \xrefoff -% \begin{macrocode} -%<*ist|idx|glo> -item_0 "}{1}\n\\indexitem{1}{" -item_1 "}{2}\n \\indexitem{2}{" -item_01 "}{2}\n \\indexitem{2}{" -item_x1 "}{2}\n \\indexitem{2}{" -item_2 "}{3}\n \\indexitem{3}{" -item_12 "}{3}\n \\indexitem{3}{" -item_x2 "}{3}\n \\indexitem{3}{" -% \end{macrocode} -% \SpecialIndex{\indexitem} ^^A I can't believe I'm using this! -% \begin{macrocode} -delim_0 "}{9}{" -delim_1 "}{9}{" -delim_2 "}{9}{" -delim_n ", " -delim_r "--" -%</ist|idx|glo> -% \end{macrocode} -% \xrefon -% -% -% \begin{macro}{\indexitem} -% \begin{macro}{\DI@indexitem} -% \begin{macro}{\DI@indexitem@} -% \begin{macro}{\DI@last@level} -% The |\indexitem| command (and its subsidiary macros |\DI@indexitem| -% and |\DI@indexitem@| only handle argument grabbing and some -% elementary processing of level numbers. The formatting of the item -% is instead handled by the |\DI@indexitem@|\meta{level}, where -% \meta{level} is the roman numeral |i|, |ii|, or |iii|, family of -% control sequences. |\indexitem| itself doesn't grab any arguments, -% instead it inserts the contents of |\DI@last@level| as an -% additional argument in front of |\DI@indexitem|. The actual -% argument structures of the other macros are -% \begin{quote} -% |\DI@indexitem|\marg{last}\marg{this}\marg{text}^^A -% \marg{next/\texttt{9}}\\ -% |\DI@indexitem@|\marg{cmd}\marg{last}|{9}|\marg{text}^^A -% |\NoValue|\marg{figures}\marg{next} -% \end{quote} -% where \meta{this} is the level of this item, \meta{next} is the -% level of the next item, \meta{text} is the item text, and -% \meta{figures} are the (page) numbers for this item. Several of the -% arguments of |\DI@indexitem@| are immediately gobbled; they are -% only used when the original |\indexitem| did not have a -% \meta{numbers} argument. -% -% The |\DI@last@level| macro stores the level of the last item before -% the current. It is set and used by |\DI@indexitem@|. -% \begin{macrocode} -%<*pkg> -\newcommand\indexitem{% - \relax - \expandafter\DI@indexitem \expandafter{\DI@last@level}% -}% -% \end{macrocode} -% \begin{macrocode} -\def\DI@indexitem#1#2#3#4{% - \edef\DI@last@level{\number#2\expandafter}% - \ifnum #4=9 - \expandafter\expandafter \expandafter\DI@indexitem@ - \fi - \csname DI@indexitem@\romannumeral#2\expandafter\endcsname - {#1}{#4}{#3}\NoValue -} -% \end{macrocode} -% \begin{macrocode} -\def\DI@indexitem@#1#2#3#4#5#6#7{#1{#2}{#7}{#4}{#6}} -% \end{macrocode} -% \begin{macrocode} -\def\DI@last@level{0} -%</pkg> -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% The \describecsfamily{DI@indexitem@\meta{level}}|\DI@indexitem@|^^A -% \meta{level}, where \meta{level} is the lower case roman numeral form -% of the level number, family of control sequences have the syntax -% \begin{quote} -% |\DI@indexitem@|\meta{level}\,\marg{previous}\marg{next}^^A -% \marg{text}\marg{figures} -% \end{quote} -% where \meta{previous} and \meta{next} are the levels of the previous -% and following index items, \meta{text} is the entry text of this -% item, and \meta{figures} are the (page) numbers for this item, if it -% has any, or the token |\NoValue|, if it hasn't. -% -% -% \xrefoff -% \begin{macrocode} -%<*ist|idx|glo> -group_skip "}{0}\n%^^A\n\\indexnewletter{0}{" -heading_prefix "" -heading_suffix "" -headings_flag 1 -%</ist|idx|glo> -% \end{macrocode} -% \SpecialIndex{\indexnewletter} -% \xrefon -% -% -% \begin{macro}{\indexnewletter} -% \changes{v\,1.00}{2001/04/05}{Made it \cs{outer}. (LH)} -% The |\indexnewletter| command is placed in front of a new letter -% group. It has the syntax -% \begin{quote} -% |\indexnewletter|\marg{first}\marg{letter}\marg{next} -% \end{quote} -% where \meta{first} is a flag (|1| if this |\indexnewletter| -% is at the very beginning of the index, |0| otherwise), \meta{letter} -% is the letter name (according to the \program{makeindex} program; it -% can be e.g.\ the string `Symbols') and \meta{next} is the level of -% the next item (I think this will always be |1| with -% \program{makeindex}). The command takes care of declining an offer -% to join with the previous index item, inserts some vertical space -% if the \meta{first} is |0|, print the \meta{letter} using -% |\DI@letter@format|, and doesn't offer to join with the following -% item. -% \begin{macrocode} -%<*pkg> -\@ifundefined{indexnewletter}{}{% - \PackageInfo -%<template> {docindex} -%<!template> {docidx2e} - {Command \protect\indexnewletter\space redefined} -} -\outer\def\indexnewletter#1#2#3{% - \DI@item@nojoin - \ifnum #1=\z@ \vspace{\DI@letter@skip}\fi - \DI@letter@format{#2}% - \def\DI@last@level{0}% - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty -} -%</pkg> -% \end{macrocode} -% \end{macro} -% -% The index style files also need to set some parameters which aren't -% directly connected to the commands provided by the \package{docindex} -% package. First there's the input style parameters:\xrefoff -% \begin{macrocode} -%<*ist|idx|glo> -actual '=' -quote '!' -level '>' -% \end{macrocode} -% Then the page precedence should be changed. This is mainly for the -% convenience of use with documents that |\DocInclude| files, since -% these by default number the files using letters. -% \begin{macrocode} -page_precedence "naArR" -% \end{macrocode} -% In \texttt{docindex.ist}, both the \texttt{keyword} and the -% |page_compositor| strings are different from their standard values. It -% turns out to be hard to use a normal command as page compositor, -% because \program{makeindex} always rejects spaces and braces in the -% page number even if they is in the |page_compositor| parameter! -% \begin{macrocode} -%<ist>keyword "\\xdocindexentry" -%<ist>page_compositor "\\+" -% \end{macrocode} -% \SpecialIndex{\+} -% Finally, in the style file for the list of changes, the keyword must -% be changed to |\glossaryentry|. -% \begin{macrocode} -%<glo>keyword "\\glossaryentry" -%</ist|idx|glo> -% \end{macrocode} -% \xrefon -% -% -% \begin{option}{oldkeywords} -% \begin{macro}{\XD@index@keyword} -% \begin{macro}{\XD@glossary@keyword} -% \begin{macro}{\XD@page@compositor} -% \changes{v\,1.00}{2001/04/05}{Changed it from \cs{PageCompositor-} to -% \cs{+}. (LH)} -% To make the contents of the \texttt{.idx} and \texttt{.glo} files -% compatible with the input parameter settings of -% \texttt{docindex.ist}, some macros used by the \package{xdoc} -% package must be redefined. This can however be stopped if the -% \texttt{oldkeywords} option is passed to the \package{docindex} -% package. -% \begin{macrocode} -%<*pkg> -\@ifpackagewith -%<template> {docindex} -%<!template> {docidx2e} - {oldkeywords}{}{ - \edef\XD@index@keyword{\@backslashchar xdocindexentry} - \let\XD@glossary@keyword\XD@index@keyword - \def\XD@page@compositor{\@backslashchar +} -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{option} -% -% \changes{v\,1.00}{2001/03/25}{The index file is no longer a -% \texttt{thedocindex} environment---the layout must instead be set -% by the command which \cs{input}s the index. Introduced the -% \cs{docindexguard} command to handle situations with incompatible -% index styles. (LH)} -% -% \begin{macro}{\docindexguard} -% \begin{macro}{\DI@ind@setup} -% The first line of every \texttt{docindex} style sorted index file is -% \begin{quote} -% |\docindexguard{\endinput}| -% \end{quote} -% If the index file is inputted as a classical sorted index file then -% this will produce an undefined command error and no more lines in -% the index will be read. If the index file is inputted using the -% conventions of the \package{docindex} package then the -% |\docindexguard| will instead gobble the |\endinput| so that the -% file will be read. -% -% One can also have the opposite problem: a classical style index file -% is being input using \package{docindex} conventions. It is to -% overcome this problem that the |\DI@ind@setup| command has been -% introduced. Classical style index files begin by a |\begin| -% command, so that command is temporarily redefined to print a warning -% message and |\endinput| the file. Should the first command instead -% be |\docindexguard| then everything will be reset to normal. To -% accomplish this, |\DI@ind@setup| opens a group which should be -% closed by the initial |\docindexguard| or |\begin|. -% \begin{macrocode} -\def\DI@ind@setup{\bgroup - \def\docindexguard##1{\egroup}% - \def\begin##1{% - \egroup - \PackageWarningNoLine -%<template> {docindex}% -%<!template> {docidx2e}% - {Ignoring old style index file} - \endinput - }% -} -%</pkg> -% \end{macrocode} -% \end{macro}\end{macro} -% -% \xrefoff -% \begin{macrocode} -%<*idx|glo|ist> -preamble "\\docindexguard{\\endinput}\n%^^A\n\\indexnewletter{1}{" -postamble "}{0}\n\\endinput" -%</idx|glo|ist> -% \end{macrocode} -% \SpecialIndex{\docindexguard} -% \SpecialIndex{\indexnewletter} -% \xrefon -% -% In summary, this is the BNF syntax for a sorted index file that is to -% be typeset using \package{docindex}: -% \begin{syntax} -% \item[sorted index file] -% \meta{guard}\meta{lettergroups}|\endinput| -% \item[guard] |\docindexguard{\endinput}| -% \item[lettergroups] \meta{lettergroup}\branch -% \meta{lettergroup}\meta{lettergroups} -% \item[lettergroup] \meta{heading}\meta{items} -% \item[heading] -% |\indexnewletter|\marg{first}\marg{letter}\marg{next} -% \item[items] \meta{empty}\branch \meta{item}\meta{items} -% \item[item] |\indexitem|\marg{level}\marg{text}\marg{next}\branch -% |\indexitem|\marg{level}\marg{text}|{9}|\marg{numbers}\marg{next} -% \end{syntax} -% A \meta{level} is |1|, |2|, or |3|. A \meta{next} is |0|, |1|, |2|, or -% |3|. Within a \meta{lettergroup}, the \meta{next} of one \meta{item} -% or the \meta{heading} must equal the \meta{level} of the next -% \meta{item} and the \meta{next} of the last item must be |0|. The -% \meta{first} should be |1| in the first \meta{lettergroup} and |0| in -% all the others. -% -% -% \subsection{Template mechanisms} -% -% The \package{docindex} package loads the \package{xhj} and -% \package{galley2} packages to gain access to the \texttt{justification} -% type templates. This indirectly loads the \package{xparse} and -% \package{template} packages. -% \begin{macrocode} -%<*pkg> -%<template>\RequirePackage{xhj,galley2} -% \end{macrocode} -% -% Since the \package{docidx2e} package doesn't use the template mechanisms -% provided by the \package{template} package, but still is to follow the -% logic of the \package{docindex} package which does use these -% mechanisms, it becomes convenient to define fakes for a couple of -% \package{template} commands. First \package{docidx2e} checks if the -% real \package{template} package has been loaded and emits a warning if -% it has. -% \begin{macrocode} -%<*!template> -\@ifpackageloaded{template}{ - \PackageWarningNoLine{docidx2e}{The docidx2e package is only meant% - \MessageBreak for use when LaTeX2e* packages like - template\MessageBreak are not available.} -}{} -% \end{macrocode} -% -% Before continuing with the definitions, some of the data structures -% used by the \package{template} mechanisms must be explained. A -% template \emph{instance} is really only a macro; what makes instances -% different from macros in general is that they usually aren't -% explicitly programmed. Instead they are formed by combining two -% different pieces of code: one which is the code part of some template, -% and one which is a piece of code which sets the \emph{container} -% macros\slash registers\slash parameters for the key values of this -% template. In general, the first piece of code contains the -% programming-like aspects of what the instance does, whereas the latter -% contains those that have to do with lauout and design. The advantage -% of this model is that it lets you implement many layouts without -% requiring you to know everything about \LaTeX\ programming that it -% would take to implement everything using macros. -% -% Instances are stored in control sequences of the form -% \begin{quote} -% \describecsfamily{TP@I{\meta{collection}}\break -% {\meta{type}}\break{\meta{name}}} -% |\TP@I|\marg{collection}\marg{type}\marg{name} -% \end{quote} -% The \meta{type} is the primary distinction between instances; for each -% type there exists a specification of what all instances of that type -% must do, and all instances of a type must be interchangeable. In -% particular, all instances of a given template type must have the same -% argument structure. The \meta{name} is simply the name used to -% identify the instance (amongst all other instances of that type). -% Finally, the \meta{collection} is something which can be used in -% circumstances where one needs to quickly switch between different -% definitions of an instance. If they have different \meta{collection}s -% then they can exist simutaneously; which of them is used is determined -% by which collection is currently active. -% -% Collections are active on a ``per type'' basis; which collection is -% active for instances of type \meta{type} is determined by the -% contents of the \describecsfamily{TP@T{\meta{type}}} -% |\TP@T|\marg{type} control sequences, which are macros with the -% structure -% \begin{quote} -% \marg{collection}\marg{arguments} -% \end{quote} -% If there is no instance with the requested name in the currently -% active collection then the instance with the same name from the -% normal collection (whose name is the empty string) will be used. The -% \meta{arguments} part of the macro is simply the number of arguments -% of instances of this type; it is only used when declaring templates. -% -% \begin{macro}{\UseCollection} -% The |\UseCollection| command sets the active collection for a given -% type. It has the syntax -% \begin{quote} -% |\UseCollection|\marg{type}\marg{collection} -% \end{quote} -% This macro was used up to v\,1.00 of \package{docindex} but a change -% in the package logic made it unnecessary. -% \begin{macrocode} -% \providecommand*\UseCollection[2]{% -% \expandafter\edef \csname TP@T{#1}\endcsname{% -% {#2}% -% {\expandafter\expandafter \expandafter\@secondoftwo -% \csname TP@T{#1}\endcsname}% -% }% -% } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@letinstance} -% The |\@letinstance| macro |\let|s the (currently used) instance -% with given name and type to the \meta{target} control sequence. It -% has the syntax -% \begin{quote} -% |\@letinstance|\marg{target}\marg{type}\marg{name} -% \end{quote} -% \begin{macrocode} -\def\@letinstance#1#2#3{% - \expandafter\let \expandafter#1% - \csname TP@I% - {\expandafter\expandafter \expandafter\@firstoftwo - \csname TP@T{#2}\endcsname}% - {#2}{#3}% - \endcsname - \ifx \relax#1% - \expandafter\let \expandafter#1\csname TP@I{}{#2}{#3}\endcsname - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\UseInstance} -% The |\UseInstance| calls the (currently used) instance with given -% name and type. Its syntax is -% \begin{quote} -% |\UseInstance|\marg{type}\marg{name}\,\meta{arguments of instance} -% \end{quote} -% \begin{macrocode} -\providecommand*\UseInstance[2]{% - \@letinstance\@tempa{#1}{#2}% - \ifx \relax\@tempa - \PackageError{docidx2e}{Instance #2 of type #1 undefined}\@eha - \else - \expandafter\@tempa - \fi -} -%</!template> -% \end{macrocode} -% \end{macro} -% -% -% -% \subsection{Templates for index item formatting} -% -% \begin{templatetype}{justification} -% In \package{docidx2e}, we have to provide a dummy definition of -% |\TP@T{justification}|. -% \begin{macrocode} -%<!template>\@namedef{TP@T{justification}}{{}{0}} -% \end{macrocode} -% \end{templatetype} -% -% \changes{v\,1.00}{2001/04/08}{Using \texttt{single} template rather -% than the \texttt{std} template for the \texttt{indexitem}$n$ -% instances of type \texttt{justification}. (LH)} -% \begin{instance}{justification}{indexitem1} -% \begin{instance}{justification}{indexitem2} -% \begin{instance}{justification}{indexitem3} -% The \texttt{indexitem}\meta{level} instances of the -% \texttt{justification} template set up paragraph indentation etc.\ -% for a paragraph containing an index item at that level. The layout -% is the same as that used by the \package{doc} package, but it is -% not specified in quite the same way. -% \begin{macrocode} -%<*template> -\DeclareInstance{justification}{indexitem1}{single}{ - leftskip=30pt, rightskip=15pt, startskip=-30pt, parfillskip=-15pt, - linefillskip=0pt plus 1fil, parindent=0pt -} -\DeclareInstance{justification}{indexitem2}{single}{ - leftskip=30pt, rightskip=15pt, startskip=-15pt, parfillskip=-15pt, - linefillskip=0pt plus 1fil, parindent=0pt -} -\DeclareInstance{justification}{indexitem3}{single}{ - leftskip=30pt, rightskip=15pt, startskip=-5pt, parfillskip=-15pt, - linefillskip=0pt plus 1fil, parindent=0pt -} -%</template> -%<*!template> -\@namedef{TP@I{}{justification}{indexitem1}}{% - \leftskip=30\p@ - \rightskip=15\p@ - \parindent=-30\p@ - \parfillskip=-\rightskip -} -\@namedef{TP@I{}{justification}{indexitem2}}{% - \leftskip=30\p@ - \rightskip=15\p@ - \parindent=-15\p@ - \parfillskip=-\rightskip -} -\@namedef{TP@I{}{justification}{indexitem3}}{% - \leftskip=30\p@ - \rightskip=15\p@ - \parindent=-5\p@ - \parfillskip=-\rightskip -} -%</!template> -% \end{macrocode} -% \end{instance}\end{instance}\end{instance} -% -% -% -% \subsubsection{The \texttt{indexitem} template type} -% -% \begin{templatetype}{indexitem} -% \begin{macro}{\DI@item@nojoin} -% \begin{macro}{\DI@item@join} -% The argument structure of a template of type \texttt{indexitem} is -% \begin{quote} -% \marg{previous}\marg{next}\marg{text}\marg{figures} -% \end{quote} -% \meta{previous} and \meta{next} are the level codes of the index -% item before and after the current item, \meta{text} is the item text -% of the current index item, and \meta{figures} are the (page) numbers -% for this item, if it has any, or the token |\NoValue|, if it hasn't. -% -% Templates of this type format and typeset one item in an index. In -% doing so they may do pretty much anything as long as the other items -% aren't affected: they may start and end paragraphs, change the -% paragraph justification, \textellipsis -% -% There is however one area in which the rules are rather strict, and -% that has to do with when two items can be joined. In a case where -% item A is followed by item B, item A can propose to item B that they -% should be joined and item B can then accept or decline this offer. -% Technically the offer consists of defining the two macros -% |\DI@item@join| and |\DI@item@nojoin|. If item B accepts the offer -% it will execute |\DI@item@join| and if it declines the offer it -% will execute |\DI@item@nojoin|. A typical definition of -% |\DI@item@join| might be to insert a punctuation mark and a typical -% definition of |\DI@item@nojoin| might be to end the current paragraph. -% -% There is however also a third case, namely that no offer was given. -% In this case |\DI@item@nojoin| should be |\let| to |\@empty| and -% |\DI@item@join| should be |\let| to |\@firstofone|. The reason for -% this last rule is that |\DI@item@join| has the syntax -% \begin{quote} -% |\DI@item@join|\marg{no-join recovery code} -% \end{quote} -% where the \meta{no-join recovery code} is code that item B needs to -% have executed if there is no join although item B would have -% accepted it. |\DI@item@nojoin|, on the other hand, takes no -% argument. -% \begin{macrocode} -%<template>\DeclareTemplateType{indexitem}{4} -%<!template>\@namedef{TP@T{indexitem}}{{}{4}} -\let\DI@item@join=\@firstofone -\let\DI@item@nojoin=\@empty -% \end{macrocode} -% \end{macro}\end{macro}\end{templatetype} -% -% \begin{template}{indexitem}{fixed} -% The \texttt{fixed} template of type \texttt{indexitem} formats an -% item as the items in \package{doc}'s \texttt{theindex} environment. -% It is fixed in that it ignores the levels of the surrounding items. -% -% The keys for this template are: -% \begin{description} -% \keyvalitem{justification-setup}{i} -% This is a template instance of type \texttt{justification}. It -% sets the justification for the paragraph containing the item, -% unless the item is being joined with the preceeding item. -% \keyvalitem{pre-join}{b} -% A switch for whether the item should accept to be joined with -% the item before. True means ``accept'', false means ``decline'' -% (which is the default). -% \keyvalitem{nofig-action}{f1} -% If the \meta{figures} argument is |\NoValue| then the \meta{text} -% argument is passed on to this macro for the actual formatting. -% The default expansion is precisely the \meta{text}. -% \keyvalitem{fig-action}{f2} -% If the \meta{figures} argument is not |\NoValue| then the -% \meta{text} and \meta{figures} arguments are passed on (in that -% order) to this macro for the actual formatting. The default -% expansion is -% \begin{quote} -% \meta{text}|\pfill|\meta{figures} -% \end{quote} -% \keyvalitem{post-join}{b} -% A switch for whether the item should offer to join with the -% following item. True means ``make offer'', false (which is the -% default) means ``don't make offer''. Making the offer is -% furthermore conditioned by that the \meta{figures} argument is -% |\NoValue|. -% \keyvalitem{nojoin-extra}{f0} -% Extra code which is inserted after the normal code for an item -% if the item neither has any figures nor offers to join with the -% following item. The default value is a space of length -% \textit{linefillskip} followed by a |\nopagebreak|.^^A -% \changes{v\,0.03}{2001/02/24}{Added the \textit{nojoin-extra} -% key. (LH)}^^A -% \changes{v\,0.03}{2001/02/25}{Added \cs{nopagebreak} from -% \cs{efill} to default for \textit{nojoin-extra} key. (LH)} -% \keyvalitem{join-extra}{f0} -% Extra text which is inserted after the normal text of the item -% if there is a join, by default a comma and a space. -% \keyvalitem{offjoin-extra}{f0} -% Extra code which is inserted after the normal text of the item -% if a join is offered but declined. The default value is a space -% of length \textit{linefillskip} followed by a |\nopagebreak| -% (larger than the one from \textit{nojoin-extra}; if not for -% this, the default could have been taken to be -% |\DI@nojoin@extra|). -% \end{description} -% -% Note that the contents of the \textit{nojoin-extra}, -% \textit{join-extra}, and \textit{offjoin-extra} keys must be robust -% as they may be subjected to a |\protected@edef|. -% \changes{v\,0.03}{2001/02/24}{\cs{protected@edef}ing the macros -% \cs{DI@item@join} and \cs{DI@item@nojoin}. (LH)} -% -% \begin{macrocode} -%<*template> -\DeclareTemplate{indexitem}{fixed}{4}{ - justification-setup =i{justification} \DI@item@justification, - pre-join =b -%<default> {false} - DI@prejoin@, - nofig-action =f1 -%<default> {#1} - \DI@nofig, - fig-action =f2 -%<default> {#1\pfill#2} - \DI@hasfig, - post-join =b -%<default> {false} - DI@postjoin@, - nojoin-extra =f0 -%<default> {\hspace*{\justification@g} -%<default> \protect\nopagebreak[2]} - \DI@nojoin@extra, - join-extra =f0 -%<default> {,\space} - \DI@join@extra, - offjoin-extra =f0 -%<default> {\hspace*{\justification@g} -%<default> \protect\nopagebreak[4]} - \DI@offjoin@extra -}{% -%<*!default> - \let\ifDI@prejoin@\iffalse - \let\DI@nofig\@firstofone - \def\DI@hasfig##1##2{##1\pfill##2}% - \let\ifDI@postjoin@\iffalse - \def\DI@nojoin@extra{% - \hspace*{\justification@g}\protect\nopagebreak[2]% - }% - \def\DI@join@extra{,\space}% - \def\DI@offjoin@extra{% - \hspace*{\justification@g}\protect\nopagebreak[4]% - }% -%</!default> - \DoParameterAssignments - \ifDI@prejoin@ - \DI@item@join{\DI@item@justification}% - \else - \DI@item@nojoin\DI@item@justification - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \IfNoValueTF{#4}{% - \DI@nofig{#3}% - \ifDI@postjoin@ - \protected@edef\DI@item@join##1{\DI@join@extra}% - \protected@edef\DI@item@nojoin{\DI@offjoin@extra\protect\par}% - \else - \DI@nojoin@extra\par - \fi - }{% - \DI@hasfig{#3}{#4}% - \par - }% - \ignorespaces -} -% \end{macrocode} -% \end{template} -% -% \begin{instance}{indexitem}{fixed1} -% \begin{instance}{indexitem}{fixed2} -% \begin{instance}{indexitem}{fixed3} -% The \texttt{fixed1}, \texttt{fixed2}, and \texttt{fixed3} instances -% of type \texttt{indexitem} are simply the \texttt{fixed} template -% with different values assigned to the \textit{justification-setup} -% key. -% \begin{macrocode} -\DeclareInstance{indexitem}{fixed1}{fixed} - {justification-setup = indexitem1} -\DeclareInstance{indexitem}{fixed2}{fixed} - {justification-setup = indexitem2} -\DeclareInstance{indexitem}{fixed3}{fixed} - {justification-setup = indexitem3} -%</template> -%<*!template> -\@namedef{TP@I{}{indexitem}{fixed1}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem1}% - \DI@item@nojoin - \DI@item@justification - \ifx \NoValue#4% - #3\nobreak\hfil\nopagebreak[2]% - \else - #3\pfill#4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -\@namedef{TP@I{}{indexitem}{fixed2}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem2}% - \DI@item@nojoin - \DI@item@justification - \ifx \NoValue#4% - #3\nobreak\hfil\nopagebreak[2]% - \else - #3\pfill#4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -\@namedef{TP@I{}{indexitem}{fixed3}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem3}% - \DI@item@nojoin - \DI@item@justification - \ifx \NoValue#4% - #3\nobreak\hfil\nopagebreak[2]% - \else - #3\pfill#4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -%</!template> -% \end{macrocode} -% \end{instance}\end{instance}\end{instance} -% -% \begin{instance}{indexitem}{fixed-r1a} -% \begin{instance}{indexitem}{fixed-r2a-nocomma} -% \begin{instance}{indexitem}{fixed-a3r} -% The \texttt{fixed-r1a}, \texttt{fixed-r2a-nocomma}, and -% \texttt{fixed-a3r} instances of type \texttt{indexitem} are again -% based on the \texttt{fixed} template, but here they always accept -% (or offer) to join with one neighbouring item, whereas they always -% reject to join with the other. As before, they differ in their -% values of the \textit{justification-setup} key, and the -% \texttt{-nocomma} is because that instance only inserts a space, -% not a comma and a space, when items are joined. -% \begin{macrocode} -%<*template> -\DeclareInstance{indexitem}{fixed-r1a}{fixed} - {justification-setup = indexitem1, post-join = true} -\DeclareInstance{indexitem}{fixed-r2a-nocomma}{fixed} - {justification-setup = indexitem2, - post-join = true, join-extra = {\space}} -\DeclareInstance{indexitem}{fixed-a3r}{fixed} - {justification-setup = indexitem3, pre-join = true} -%</template> -%<*!template> -\@namedef{TP@I{}{indexitem}{fixed-r1a}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem1}% - \DI@item@nojoin - \DI@item@justification - \ifx \NoValue#4% - #3% - \def\DI@item@join##1{, }% - \def\DI@item@nojoin{\nobreak\hfil\nopagebreak[4]\par}% - \else - #3\pfill#4\par - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \fi - \ignorespaces -} -\@namedef{TP@I{}{indexitem}{fixed-r2a-nocomma}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem2}% - \DI@item@nojoin - \DI@item@justification - \ifx \NoValue#4% - #3% - \def\DI@item@join##1{ }% - \def\DI@item@nojoin{\nobreak\hfil\nopagebreak[4]\par}% - \else - #3\pfill#4\par - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \fi - \ignorespaces -} -\@namedef{TP@I{}{indexitem}{fixed-a3r}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem3}% - \DI@item@join{\DI@item@justification}% - \ifx \NoValue#4% - #3\hfil\nopagebreak[2]% - \else - #3\pfill#4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -%</!template> -% \end{macrocode} -% \end{instance}\end{instance}\end{instance} -% -% -% \begin{template}{indexitem}{aloneaccept} -% The \texttt{aloneaccept} template of type \texttt{indexitem} formats -% an item as the items in \package{doc}'s \texttt{theindex} environment. -% It accepts to be joined with the preceeding item if and only if -% both that and the following item are at a lower level than the item -% itself is. -% -% The keys for this template are: -% \begin{description} -% \keyvalitem{justification-setup}{i} -% This is a template instance of type \texttt{justification}. It -% sets the justification for the paragraph containing the item, -% unless the item is being joined with the preceeding item. -% \keyvalitem{ownlevel}{C} -% This is the (nominal) level of this item; it will accept a join -% with the preceeding item if and only if the levels of both that -% and the following item are different from this number. -% \changes{v\,1.00}{2001/03/25}{Changed condition for accepting a -% join from ``neighbouring item levels are lower'' to -% ``neighbouring item levels are not equal to''. (LH)} -% The default is 2. -% \keyvalitem{nofig-action}{f1} -% If the \meta{figures} argument is |\NoValue| then the \meta{text} -% argument is passed on to this macro for the actual formatting. -% The default expansion is the \meta{text} followed by a space of -% linefillskip. -% \keyvalitem{fig-action}{f2} -% If the \meta{figures} argument is not |\NoValue| then the -% \meta{text} and \meta{figures} arguments are passed on (in that -% order) to this macro for the actual formatting. The default -% expansion is -% \begin{quote} -% \meta{text}|\pfill|\meta{figures} -% \end{quote} -% \keyvalitem{post-join}{b} -% A switch for whether the item should offer to join with the -% following item. True means ``make offer'', false (which is the -% default) means ``don't make offer''. Making the offer is -% furthermore conditioned by that the \meta{figures} argument is -% |\NoValue|. -% \keyvalitem{nojoin-extra}{f0} -% Extra code which is inserted after the normal code for an item -% if the item neither has any figures nor offers to join with the -% following item. The default value is a space of length -% \textit{linefillskip}. -% \changes{v\,0.03}{2001/02/24}{Added the \textit{nojoin-extra} -% key. (LH)} -% \keyvalitem{join-extra}{f0} -% Extra text which is inserted after the normal text of the item -% if there is a join, by default a comma and a space. -% \keyvalitem{offjoin-extra}{f0} -% Extra code which is inserted after the normal text of the item -% if a join is offered but declined, by default the -% \textit{nojoin-extra} code followed by a |\nopagebreak|. -% \end{description} -% -% Note that the contents of the \textit{nojoin-extra}, -% \textit{join-extra}, and \textit{offjoin-extra} keys must be robust -% as they may be subjected to a |\protected@edef|. -% \changes{v\,0.03}{2001/02/24}{\cs{protected@edef}ing the macros -% \cs{DI@item@join} and \cs{DI@item@nojoin}. (LH)} -% -% \begin{macrocode} -%<*template> -\DeclareTemplate{indexitem}{aloneaccept}{4}{ - justification-setup =i{justification} \DI@item@justification, - ownlevel =C -%<default> {2} - \DI@this@level, - nofig-action =f1 -%<default> {#1} - \DI@nofig, - fig-action =f2 -%<default> {#1\pfill#2} - \DI@hasfig, - post-join =b -%<default> {false} - DI@postjoin@, - nojoin-extra =f0 -%<default> {\hspace*{\justification@g}} - \DI@nojoin@extra, - join-extra =f0 -%<default> {,\space} - \DI@join@extra, - offjoin-extra =f0 -%<default> {\DI@nojoin@extra\protect\nopagebreak[4]} - \DI@offjoin@extra -}{% -%<*!default> - \def\DI@this@level{2}% - \let\DI@nofig\@firstofone - \def\DI@hasfig##1##2{##1\pfill##2}% - \let\ifDI@postjoin@\iffalse - \def\DI@nojoin@extra{\hspace*{\justification@g}}% - \def\DI@join@extra{,\space}% - \def\DI@offjoin@extra{\DI@nojoin@extra\protect\nopagebreak[4]}% -%</!default> - \DoParameterAssignments - \ifnum \DI@this@level=#1 - \DI@item@nojoin \DI@item@justification - \else\ifnum \DI@this@level=#2 - \DI@item@nojoin \DI@item@justification - \else - \DI@item@join{\DI@item@justification}% - \fi\fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \IfNoValueTF{#4}{% - \DI@nofig{#3}% - \ifDI@postjoin@ - \protected@edef\DI@item@join##1{\DI@join@extra}% - \protected@edef\DI@item@nojoin{\DI@offjoin@extra\protect\par}% - \else - \DI@nojoin@extra \par - \fi - }{% - \DI@hasfig{#3}{#4}% - \par - }% - \ignorespaces -} -%</template> -% \end{macrocode} -% \end{template} -% -% \begin{instance}{indexitem}{aloneaccept2} -% \begin{instance}{indexitem}{aloneaceept3} -% The \texttt{aloneaccept2} and \texttt{aloneaccept3} instances of type -% \texttt{indexitem} are simply the \texttt{aloneaccept} template -% with the levels fixed to two and three, respectively. -% \begin{macrocode} -%<*template> -\DeclareInstance{indexitem}{aloneaccept2}{aloneaccept} - {justification-setup = indexitem2, ownlevel = 2} -\DeclareInstance{indexitem}{aloneaccept3}{aloneaccept} - {justification-setup = indexitem3, ownlevel = 3} -%</template> -%<*!template> -\@namedef{TP@I{}{indexitem}{aloneaccept2}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem2}% - \ifnum #1=\tw@ - \DI@item@nojoin \DI@item@justification - \else\ifnum #2=\tw@ - \DI@item@nojoin \DI@item@justification - \else - \DI@item@join{\DI@item@justification}% - \fi\fi - \ifx \NoValue#4% - #3\nobreak\hfil\vadjust{}% - \else - #3\pfill #4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -\@namedef{TP@I{}{indexitem}{aloneaccept3}}#1#2#3#4{% - \@letinstance\DI@item@justification{justification}{indexitem3}% - \ifnum #1=\thr@@ - \DI@item@nojoin \DI@item@justification - \else\ifnum #2=\thr@@ - \DI@item@nojoin \DI@item@justification - \else - \DI@item@join{\DI@item@justification}% - \fi\fi - \ifx \NoValue#4% - #3\nobreak\hfil\vadjust{}% - \else - #3\pfill #4% - \fi - \let\DI@item@join\@firstofone - \let\DI@item@nojoin\@empty - \par -} -%</!template> -% \end{macrocode} -% \end{instance}\end{instance} -% -% -% \subsubsection{The \texttt{docindex} template type} -% -% \begin{templatetype}{docindex} -% A template of type \texttt{docindex} takes care of typesetting an -% index found in a file (which is |\input|ted as part of this -% process), hence using an instance of type \texttt{docindex} is -% the same kind of action that the |\printindex| and |\printglossary| -% commands make. -% -% The template decides from which file the index should be read. It -% takes two arguments: the index prologue and the index epilogue. -% These are two pieces of text (which may just as well include a -% sectioning command) that are printed just before and after the -% index. Either argument may be empty. Immediately after the file -% containing the body of the index has been inputted, the template -% must execute |\DI@item@nojoin| to make sure that the last item is -% properly typeset. -% -% Templates of type \texttt{docindex} must begin by opening a group -% and end by closing it. They must furthermore locally define the -% following macros before any part of the index is typeset. -% \begin{description} -% \item[\cs{DI@indexitem@i}, \cs{DI@indexitem@ii}, and -% \cs{DI@indexitem@iii}] -% Handlers for index items at level 1, 2, and 3 respectively. -% These handlers must conform to the specification for -% \texttt{indexitem} instances. -% \item[\cs{DI@letter@skip}, \cs{DI@letter@format}] -% These are described in the comments to the |\indexnewletter| -% command. -% \item[\cs{+}] -% The command for typesetting the separator between two parts of -% a composite (page) number. This is a parameterless macro. -% \end{description} -% -% \begin{macrocode} -%<template>\DeclareTemplateType{docindex}{2} -%<!template>\@namedef{TP@T{docindex}}{{}{2}} -% \end{macrocode} -% \end{templatetype} -% -% \begin{template}{docindex}{std} -% The \texttt{std} template of type \texttt{docindex} typesets an -% index while providing all the formatting parameters of the -% \package{doc} index and list of changes (and a few more). -% \changes{v\,1.00}{2001/04/08}{The \mbox{\textit{-font}} keyvals -% renamed to \mbox{\textit{-setup}}, but the type stayed the -% same (f0). (LH)} -% -% \label{docindex:std} -% The keys of the template are: -% \begin{description} -% \keyvalitem{file-name}{n} -% The base name of the file in which the index is stored, by -% default the |\jobname|.\changes{v\,1.00}{2001/03/25}{Added -% \textit{file-name} and \textit{file-extension} keys, removed -% the \textit{default-prologue} and \textit{default-epilogue} -% keys. (LH)} -% \keyvalitem{file-extension}{n} -% The extension of the file in which the index is stored, by -% default \texttt{ind}. -% \keyvalitem{item1}{i} -% \texttt{indexitem} instance for level 1 items, by default -% \texttt{fixed1}. -% \keyvalitem{item2}{i} -% \texttt{indexitem} instance for level 2 items, by default -% \texttt{fixed2}. -% \keyvalitem{item3}{i} -% \texttt{indexitem} instance for level 3 items, by default -% \texttt{fixed3}. -% \keyvalitem{columns}{C} -% The number of columns in the index, by default 3. -% \keyvalitem{reserved-height}{L} -% The minimal amount of vertical space that must be left on the -% current page if the index is to start on it, by default -% 80\,pt.^^A -% \changes{v\,1.00}{2001/03/25}{Made \textit{reserved-height} work -% even when \textit{columns} is 1 by using the -% \package{multicol} macro \cs{enough@room}. (LH)} -% \keyvalitem{column-sep}{l} -% The horizontal separation between columns in the index, by -% default 10\,pt. (This may seem strange in comparison with -% \package{doc}, since |\IndexParms| contains the command -% |\columnsep=15pt|, but \package{doc} doesn't execute -% |\IndexParms| until \LaTeX\ is already in multi-column mode, and -% then it is too late for the changed value to have any effect.) -% \keyvalitem{prologue-setup}{f0} -% Various commands setting layout parameters (e.g.\ the font) for -% the prologue; by default empty. -% \keyvalitem{body-setup}{f0} -% Various commands setting layout parameters (e.g.\ the font) for -% the body of the index; by default |\small|. -% \keyvalitem{epilogue-setup}{f0} -% Various commands setting layout parameters (e.g.\ the font) for -% the epilogue; by default |\normalsize| (to counter the |\small| -% in the \textit{body-setup}). -% \keyvalitem{letter-skip}{L} -% The skip inserted before a new letter group, by default 10\,pt -% plus 2\,pt minus 3\,pt. -% \keyvalitem{letter-format}{f1} -% The macro which formats new letter groups; the argument is the -% heading for the group, as generated by \program{makeindex}. By -% defaults it typesets the argument in boldface, centered on a -% line. -% \keyvalitem{pagestyle}{n} -% If this is nonempty then the pagestyle by that name will be -% selected for the index. By default it is empty. -% \keyvalitem{parskip}{l} -% The value of |\parskip| to use inside the index, by default -% 0\,pt plus 1\,pt. This key value is likely to change as the -% \LaTeXplus\ interfaces for galleys evolve. -% \changes{v\,0.03}{2001/02/27}{Added \textit{parskip} keyval. (LH)} -% \keyvalitem{page-compositor}{f0} -% The text that is typeset to separate two parts of a composite -% (page) number, by default a hyphen. -% \changes{v\,1.00}{2001/04/05}{Added \textit{page-compositor} -% keyval. (LH)} -% \end{description} -% -% \begin{macrocode} -%<*template> -\DeclareTemplate{docindex}{std}{2}{ - file-name =n -%<default> {\jobname} - \DI@file@name, - file-extension =n -%<default> {ind} - \DI@file@ext, - item1 =i{indexitem} -%<default> {fixed1} - \DI@indexitem@i, - item2 =i{indexitem} -%<default> {fixed2} - \DI@indexitem@ii, - item3 =i{indexitem} -%<default> {fixed3} - \DI@indexitem@iii, - reserved-height =L -%<default> {80pt} - \DI@reserved@height, - columns =C -%<default> {3} - \DI@columns, - column-sep =l -%<default> {10pt} - \columnsep, - prologue-setup =f0 -%<default> {} - \DI@prologue@setup, - body-setup =f0 -%<default> {\small} - \DI@body@setup, - epilogue-setup =f0 -%<default> {\normalsize} - \DI@epilogue@setup, - letter-skip =L -%<default> {10pt plus 2pt minus 3pt} - \DI@letter@skip, - letter-format =f1 -%<default> {\UseInstance{justification}{center}% -%<default> \textbf{#1}\nopagebreak\csname par\endcsname} - \DI@letter@format, - pagestyle =n -%<default> {} - \DI@pagestyle, - parskip =l -%<default> {0pt plus 1pt} - \parskip, - page-compositor =f0 -%<default> {-} - \+ -}{% - \begingroup -%<*!default> - \def\DI@file@name{\jobname}% - \def\DI@file@ext{ind}% - \@letinstance\DI@indexitem@i{indexitem}{fixed1}% - \@letinstance\DI@indexitem@ii{indexitem}{fixed2}% - \@letinstance\DI@indexitem@iii{indexitem}{fixed3}% - \def\DI@reserved@height{80pt}% - \def\DI@columns{3}% - \columnsep=10pt% - \let\DI@prologue@setup\@empty - \def\DI@body@setup{\small}% - \def\DI@epilogue@setup{\normalsize}% - \def\DI@letter@skip{10pt plus 2pt minus 3pt}% - \def\DI@letter@format##1{% - \UseInstance{justification}{center}% - \textbf{##1}\nopagebreak\par - }% - \parskip=\z@\@plus\p@ - \let\DI@pagestyle\@empty - \def\+{-}% -%</!default> - \DoParameterAssignments - \IfFileExists{\DI@file@name.\DI@file@ext}{% - \ifnum \DI@columns>\@ne - \begin{multicols}{\DI@columns}% - [\DI@prologue@setup #1][\DI@reserved@height]% - \else - \enough@room{\DI@reserved@height}% - \DI@prologue@setup #1\par - \addvspace\multicolsep - \fi - \ifx \DI@pagestyle\@empty \else \pagestyle{\DI@pagestyle}\fi - \DI@body@setup - \DI@ind@setup - \input{\DI@file@name.\DI@file@ext}% - \DI@item@nojoin - \ifx \DI@pagestyle\@empty \else - \expandafter\thispagestyle \expandafter{\DI@pagestyle}% - \fi - \ifnum \DI@columns>\@ne - \end{multicols}% - \else - \enough@room\postmulticols - \addvspace\multicolsep - \fi - \DI@epilogue@setup #2\par - }{\typeout{No file \DI@file@name.\DI@file@ext.}}% - \endgroup -} -% \end{macrocode} -% \end{template} -% -% -% \begin{instance}{docindex}{index} -% \begin{option}{usedocindexps} -% The \texttt{index} instance of the \texttt{docindex} template type -% prints the normal index (as opposed to the list of changes). There -% are two different definitions of the instance: one which sets the -% pagestyle in the index, and one which does not; which one is used -% depends on whether the \texttt{usedocindexps} option has been -% passed to the package or not. -% \begin{macrocode} -\@ifpackagewith{docindex}{usedocindexps}{% - \DeclareInstance{docindex}{index}{std}{pagestyle=docindex}% -}{% - \DeclareInstance{docindex}{index}{std}{}% -} -%</template> -% \end{macrocode} -% -% The implementations of the \texttt{index} instance in -% \package{docidx2e} are slightly off in that they use \package{doc} -% parameters for various settings in the extent such parameters exist. -% \changes{v\,0.03}{2001/02/24}{Added \cs{@nobreakfalse} in -% \package{docidx2e} implementation; the first item in the index -% does not directly follow a \cs{section}-type heading. (LH)} -% \label{p:index-instance} -% \begin{macrocode} -%<*!template> -\@ifpackagewith{docidx2e}{usedocindexps}{% - \@namedef{TP@I{}{docindex}{index}}#1#2{% - \begingroup - \@letinstance\DI@indexitem@i{indexitem}{fixed1}% - \@letinstance\DI@indexitem@ii{indexitem}{fixed2}% - \@letinstance\DI@indexitem@iii{indexitem}{fixed3}% - \columnsep=10pt% - \parskip=0pt plus 1pt% - \def\DI@letter@skip{10pt plus 2pt minus 3pt}% - \def\DI@letter@format##1{% - \par - \hb@xt@\hsize{\hfil\textbf{##1}\hfil}% - \nopagebreak - }% - \def\+{-}% - \IfFileExists{\jobname.ind}{% - \ifnum \c@IndexColumns>\@ne - \begin{multicols}{\c@IndexColumns}[#1][\IndexMin]% - \else - \enough@room{\IndexMin}% - #1\par - \addvspace\multicolsep - \fi - \pagestyle{docindex}% - \small - \@nobreakfalse - \DI@ind@setup - \input{\jobname.ind}% - \DI@item@nojoin - \thispagestyle{docindex} - \ifnum \c@IndexColumns>\@ne - \end{multicols}% - \else - \enough@room\postmulticols - \addvspace\multicolsep - \fi - \normalsize #2\par - }{\typeout{No file \jobname.ind.}}% - \endgroup - } -}{% - \@namedef{TP@I{}{docindex}{index}}#1#2{% - \begingroup - \@letinstance\DI@indexitem@i{indexitem}{fixed1}% - \@letinstance\DI@indexitem@ii{indexitem}{fixed2}% - \@letinstance\DI@indexitem@iii{indexitem}{fixed3}% - \columnsep=10pt% - \parskip=0pt plus 1pt% - \def\DI@letter@skip{10pt plus 2pt minus 3pt}% - \def\DI@letter@format##1{% - \par - \hb@xt@\hsize{\hfil\textbf{##1}\hfil}% - \nopagebreak - }% - \def\+{-}% - \IfFileExists{\jobname.ind}{% - \ifnum \c@IndexColumns>\@ne - \begin{multicols}{\c@IndexColumns}[#1][\IndexMin]% - \else - \enough@room{\IndexMin}% - #1\par - \addvspace\multicolsep - \fi - \small - \@nobreakfalse - \DI@ind@setup - \input{\jobname.ind}% - \DI@item@nojoin - \ifnum \c@IndexColumns>\@ne - \end{multicols}% - \else - \enough@room\postmulticols - \addvspace\multicolsep - \fi - \normalsize #2\par - }{\typeout{No file \jobname.ind.}}% - \endgroup - } -} -%</!template> -% \end{macrocode} -% \end{option}\end{instance} -% -% -% \begin{instance}{docindex}{changes} -% The \texttt{changes} instance of the \texttt{docindex} template -% type typesets a \package{doc} list of changes. -% \changes{v\,0.03}{2001/02/24}{Added \cs{@nobreakfalse} in -% \package{docidx2e} implementation; the first item in the index -% does not directly follow a \cs{section}-type heading. (LH)} -% \changes{v\,1.00}{2001/04/07}{Added \cs{makeatletter} in -% \package{docidx2e} implementation; it doesn't hurt and it is -% sometimes necessary (when commands that expand to private -% control sequences are used in the argument of \cs{changes}). -% (LH)} -% \begin{macrocode} -%<*template> -\DeclareInstance{docindex}{changes}{std}{ - file-extension = gls, - item2 = fixed-r2a-nocomma, - item3 = fixed-a3r, - columns = 2, - letter-format = {}, - letter-skip = \z@skip -} -%</template> -% \end{macrocode} -% \label{p:changes-instance} -% \begin{macrocode} -%<*!template> -\@namedef{TP@I{}{docindex}{changes}}#1#2{% - \begingroup - \@letinstance\DI@indexitem@i{indexitem}{fixed1}% - \@letinstance\DI@indexitem@ii{indexitem}{fixed-r2a-nocomma}% - \@letinstance\DI@indexitem@iii{indexitem}{fixed-a3r}% - \columnsep=10pt% - \parskip=0pt plus 1pt% - \def\DI@letter@skip{\z@skip}% - \let\DI@letter@format\@gobble - \def\+{-}% - \IfFileExists{\jobname.gls}{% - \ifnum \c@GlossaryColumns>\@ne - \begin{multicols}{\c@GlossaryColumns}[#1][\GlossaryMin]% - \else - \enough@room{\GlossaryMin}% - #1\par - \addvspace\multicolsep - \fi - \small - \makeatletter - \@nobreakfalse - \DI@ind@setup - \input{\jobname.gls}% - \DI@item@nojoin - \ifnum \c@GlossaryColumns>\@ne - \end{multicols}% - \else - \enough@room\postmulticols - \addvspace\multicolsep - \fi - \normalsize #2\par - }{\typeout{No file \jobname.gls.}} - \endgroup -} -%</!template> -% \end{macrocode} -% \end{instance} -% -% \begin{macro}{\PrintIndex} -% \begin{macro}{\PrintChanges} -% The |\PrintIndex| and |\PrintChanges| commands are redefined to use -% the respective instances of template type \texttt{docindex}. -% \begin{macrocode} -\renewcommand\PrintIndex{% - \UseInstance{docindex}{index}{\index@prologue}{}% - \global\let\PrintIndex\@empty -} -\renewcommand\PrintChanges{% - \UseInstance{docindex}{changes}{\glossary@prologue}{}% - \global\let\PrintChanges\@empty -} -%</pkg> -% \end{macrocode} -% \end{macro}\end{macro} -% -% -% \section{Notes and acknowledgements} -% -% The exact descriptions of the parameters of the \program{makeindex} -% program is the paper \cite{makeindex-paper} by Chen and Harrison, but -% I have seen claims that there are parameters not listed there -% (presumably becuase they were added after this paper was written). -% \texttt{docindex.ist} does not change any such undocumented -% parameter, however. -% -% There are other index sorting programs than \package{makeindex} -% around, such as for example \program{x\r{\i}ndy}~\cite{xindy}. -% Should someone create index style files for such systems that are -% equivalent (or superior, for that matter) to \texttt{docindex.ist} -% then I would be happy to add them to the \package{docindex} -% distribution. -% -% Most of the actual layout parameter settings used by the -% \package{docindex} package are not of my design, but copied from -% various other \LaTeX\ packages such as~\cite{multicol,doc} (mainly by -% Frank Mittelbach). I have however tried to sort out which parameters -% are actually in force under the various conditions---something which -% turned out to be less obvious than I originally suspected. -% -% The idea to have the \texttt{docindex} type templates input the sorted -% index file (rather than simply setting up the formatting of it as was -% the case in v\,0.03) was taken from the \package{xindex} -% package~\cite{xindex} by Achim Blumensath. -% -% \hbadness=10000 -% -% \Finale -% -% -\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.ins b/Master/texmf-dist/source/fontinst/base/xdoc/docindex.ins deleted file mode 100644 index d5d85cc6c32..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.ins +++ /dev/null @@ -1,48 +0,0 @@ -% This file is the docstrip installation script for the docindex package. -% -% It may be distributed under the conditions of the LaTeX -% Project Public License, either version 1.2 of this license or -% (at your option) any later version. The latest version of this -% license is in -% http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. -% -% Copyright 2001 Lars Hellstr\"om - -\input docstrip - -\keepsilent - -\preamble - -This file may be distributed and/or modified under the conditions -of the LaTeX Project Public License, either version 1.2 of this -license or (at your option) any later version. The latest version -of this license is in - http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX -version 1999/12/01 or later. - -This file may only be distributed together with a copy of the source -file from which it was generated. You may distribute that source file -without this generated file. - -\endpreamble - -\declarepostamble\noendinput -\endpostamble - -\generate{% - \usedir{tex/latex/misc} - \file{docindex.sty}{\from{docindex.dtx}{pkg,template}}% - \file{docidx2e.sty}{\from{docindex.dtx}{pkg}}% - \usepostamble\noendinput - \usedir{makeindex/latex} - \file{docindex.ist}{\from{docindex.dtx}{ist}}% -% \file{ngind.ist}{\from{docindex.dtx}{idx}}% -% \file{ngglo.ist}{\from{docindex.dtx}{glo}}% -} - -\endbatchfile -\end diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.pdf b/Master/texmf-dist/source/fontinst/base/xdoc/docindex.pdf Binary files differdeleted file mode 100644 index 0c3c9379563..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/docindex.pdf +++ /dev/null diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.dtx b/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.dtx deleted file mode 100644 index c0d4a22d3d1..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.dtx +++ /dev/null @@ -1,5166 +0,0 @@ -% \CheckSum{2952} -% -% \iffalse meta-comment -% -% This file may be distributed and/or modified under the conditions -% of the LaTeX Project Public License, either version 1.2 of this -% license or (at your option) any later version. The latest version -% of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. -% -% Copyright 2000 2001 2002 Lars Hellstr\"om -% -%<*driver> -\documentclass{ltxdoc} -\usepackage{array,longtable} - -\makeatletter -\IfFileExists{xdoc2.sty}{% - \usepackage[dolayout]{xdoc2} - \NewMacroEnvironment{xrefcmd}{\XD@grab@harmless\relax}{1}% - {\MacroFont##1 \normalfont XXR-command}% - {\XDMainIndex{% - \levelsorted{##1 (XXR-command)}{\texttt{##1} (XXR-command)}% - }% - \XDMainIndex{% - \levelsame{XXR-commands:}\levelsorted{##1}{\texttt{##1}}% - }}% - {{##1}{XXR-command \texttt{##1}}}% - {}% - \@namedef{XD@harmless\string\Bslash}{% - \toks@=\expandafter{\the\expandafter\expandafter\expandafter\toks@ - \csname XD@harmless@92\endcsname}% - \XD@harmless@ - }% - \IfFileExists{docidx2e.sty}{% - \usepackage{docidx2e}% - \AtEndDocument{% - \typeout{*********************************}% - \typeout{* Use docindex.ist when sorting *}% - \typeout{* xdoc2.idx and xdoc2.glo. \@spaces\space*}% - \typeout{*********************************}% - }% - }% -}{% - \newenvironment{option}[1]{\trivlist\item[]}{\endtrivlist}% - \newenvironment{xrefcmd}[1]{\trivlist\item[]}{\endtrivlist}% - \@ifpackagelater{doc}{2000/05/20}{}{% - \let\XD@fragile@meta=\meta - \def\meta{% - \ifx \protect\@typeset@protect - \expandafter\futurelet \expandafter\@let@token - \expandafter\XD@fragile@meta - \else - \noexpand\meta - \fi - }% - }% -} -\makeatother - -\providecommand\describecsfamily[1]{% - \leavevmode - \GenericDescribePrint{\MacroFont\Bslash#1}% - \ignorespaces -} -\providecommand\describeoption[1]{% - \leavevmode - \GenericDescribePrint{\MacroFont#1 \normalfont option}% - \ignorespaces -} -\providecommand\GenericDescribePrint[1]{% - \marginpar{\raggedleft\strut #1}% -} -\providecommand\Bslash{\bslash} -\providecommand\DoNotIndexBy[1]{} -\DoNotIndexBy{@} -\DoNotIndexBy{@@} -\DoNotIndexBy{XD@} - -\DeclareRobustCommand\package[1]{\textsf{#1}} -\DeclareRobustCommand\LaTeXplus{\LaTeXe$*$} -\newcommand\B{\penalty\exhyphenpenalty} -\ProvideTextCommandDefault\textminus{\textendash} - -\hfuzz=15pt - -\AlsoImplementation -\setcounter{IndexColumns}{2} - -\CodelineIndex -\EnableCrossrefs -\RecordChanges - -\begin{document} - -\DocInput{xdoc2.dtx} - -\PrintChanges -\PrintIndex - -\end{document} -%</driver> -% \fi -% -% \title{The \package{xdoc} package --- experimental reimplementations -% of features from \package{doc}, second~prototype} -% \author{Lars Hellstr\"om^^A -% \thanks{E-mail: \texttt{Lars.Hellstrom@math.umu.se}}} -% \date{2003/07/07} -% \maketitle -% -% \DoNotIndex{\,,\-,\/,\ ,\#,\%,\&,\\,\^,\|} -% \DoNotIndex{\@addtoreset,\@auxout,\@bsphack,\@cclv,\@ctrerr} -% \DoNotIndex{\@eha,\@empty,\@esphack,\@evenfoot} -% \DoNotIndex{\@firstofone,\@firstoftwo,\@for} -% \DoNotIndex{\@gobble,\@gobblefour,\@gobbletwo} -% \DoNotIndex{\@ifclassloaded,\@ifdefinable,\@ifpackagewith,\@ifundefined} -% \DoNotIndex{\@input,\@latexerr,\@mainaux,\@mparswitchtrue} -% \DoNotIndex{\@namedef,\@nameuse,\@ne,\@next,\@nil,\@oddfoot,\@partaux} -% \DoNotIndex{\@partlist,\@secondoftwo,\@sptoken} -% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@totalleftmargin} -% \DoNotIndex{\@typeset@protect,\@unexpandable@protect} -% \DoNotIndex{\@vobeyspaces,\@writeckpt,\@xxxii} -% \DoNotIndex{\active,\addto@hook,\addtolength,\advance,\AtBeginDocument} -% \DoNotIndex{\baselineskip,\begingroup,\bgroup,\box,\boxmaxdepth} -% \DoNotIndex{\catcode,\char,\clearpage,\closeout,\color@begingroup} -% \DoNotIndex{\color@endgroup,\copy,\csname} -% \DoNotIndex{\deadcycles,\DeclareOption,\DeclareRobustCommand,\def} -% \DoNotIndex{\discretionary,\divide,\do@space,\dp} -% \DoNotIndex{\edef,\egroup,\else,\em,\endcsname,\endgroup,\ensuremath} -% \DoNotIndex{\escapechar,\everypar,\expandafter} -% \DoNotIndex{\fi,\font,\footnotesize,\frenchspacing,\futurelet} -% \DoNotIndex{\g@addto@macro,\gdef,\global} -% \DoNotIndex{\hb@xt@,\hbox,\hfill,\hss,\ht,\hyphenchar} -% \DoNotIndex{\if,\if@filesw,\if@inlabel,\if@mparswitch,\if@partsw} -% \DoNotIndex{\if@reversemargin,\if@tempswa,\ifcase,\ifcat,\iffalse} -% \DoNotIndex{\ifmmode,\ifnum,\ifodd,\iftrue,\ifx,\ignorespaces} -% \DoNotIndex{\immediate,\include,\indexentry,\input,\inputlineno,\item} -% \DoNotIndex{\itshape,\kern} -% \DoNotIndex{\labelsep,\langle,\language,\leavevmode,\let,\long,\loop} -% \DoNotIndex{\m@ne,\m@ta,\makelabel,\marginpar,\marginparsep,\maxdimen} -% \DoNotIndex{\MessageBreak,\multiply} -% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newdimen,\newlanguage} -% \DoNotIndex{\nfss@text,\noexpand,\normalfont,\normalmarginpar,\number} -% \DoNotIndex{\obeyspaces,\openout,\or} -% \DoNotIndex{\PackageError,\PackageInfo,\PackageWarning} -% \DoNotIndex{\PackageWarningNoLine,\pagestyle,\paperwidth,\parbox,\part} -% \DoNotIndex{\ProcessOptions,\protect,\protected@edef,\protected@write} -% \DoNotIndex{\protected@xdef,\ProvidesPackage} -% \DoNotIndex{\raggedleft,\raggedright,\rangle,\relax,\renewcommand} -% \DoNotIndex{\repeat,\RequirePackage} -% \DoNotIndex{\setbox,\setlength,\sixt@@n,\space,\string,\strut,\strutbox} -% \DoNotIndex{\textasciicircum,\textasciitilde,\textbackslash,\textbar} -% \DoNotIndex{\textbf,\textbraceleft,\textbraceright,\textdollar} -% \DoNotIndex{\textgreater,\textless,\textquotedbl,\textquoteleft} -% \DoNotIndex{\textquoteright,\texttt,\textunderscore,\textvisiblespace} -% \DoNotIndex{\textwidth,\the,\topsep,\trivlist,\tw@} -% \DoNotIndex{\uccode,\unhbox,\unrestored@protected@xdef,\unvbox} -% \DoNotIndex{\uppercase} -% \DoNotIndex{\vbox,\vss,\vtop,\write,\xdef,\z@} -% -% \changes{prot1}{2000/06/15}{Started writing first prototype. (LH)} -% \changes{prot2}{2000/07/13}{Began work on the second prototype. (LH)} -% -% \begin{abstract} -% The \package{xdoc} package contains reimplementations of some of -% the features found in the standard \LaTeX\ \package{doc} -% package~\cite{doc} by Mittelbach \emph{et~al. }The ultimate goals -% for these reimplementations are that the commands should be better, -% easily configurable, and be easy to extend, but this is only a -% second prototype implementation and nothing in it is guaranteed to -% be the same in the third prototype.\footnote{But there are no -% guarantees there will ever be a third prototype either.} -% \end{abstract} -% -% \tableofcontents -% -% -% \section{Usage} -% -% When I began working on this package I thought that there would be no -% need for a usage section (at least on the prototype stage)---either you -% are interested in using the new features and then you might just as -% well read the descriptions of the commands in the implementation part -% of this document (they are written as specifications of what the -% commands do), or else you can simply insert a |\usepackage|\B|{xdoc2}| -% in the preamble and see how things work a little better than when you -% simply use \package{doc}---but with some features it became natural -% to introduce incompatible changes and some new features ought to be -% mentioned. Hence I wrote a short section on usage after all. -% -% It is my intention that this document will eventually evolve into the -% source for a package \package{xdoc}\footnote{The name \package{doc2} -% has also been discussed; we'll see when we get there.} which will -% either build on the \package{doc} package and provide better -% implementations of many of its features, or replace it completely, -% but this document is still only the source for a prototype for that -% package. As I believe that the need for some improvement in this area -% is rather large however, I have decided to release this prototype so -% that other people can use it in their documents or create packages that -% are based on it. In doing so, one must of course bear in mind that this -% prototype needs not be compatible with the final \package{xdoc} -% package, and to overcome most incompatibility problems I therefore -% release it under the variant name \package{xdoc2}. This way, documents -% based on this prototype can still be typeset using the package they -% were written for long after the next \package{xdoc} prototype (or final -% version) is released. -% -% Thus although this document frequently speaks of \package{xdoc}, you -% might just as well read it as \package{xdoc2}. -% -% -% \subsection{Changes to old features} -% -% Whereas \package{doc} more or less assumes that all pages have the -% same layout, \package{xdoc} takes measures to ensure that the -% \package{doc} features support two-sided document designs. If the -% left margin has been widened to better accommodate long macro names -% however (like for example the \package{ltxdoc} document class does), -% then you may find that the outer margin on right (odd) pages is too -% narrow for printing macro names in. The remedy for this is the -% \GenericDescribePrint{\MacroFont dolayout \normalfont option}^^A -% \SortIndex{dolayout}{\texttt{dolayout} option\encapchar -% usage}\texttt{dolayout} option; in two-sided mode it causes -% \package{xdoc} to recompute the |\oddsidemargin| so that the outer -% margin has the same size on right pages as it previously did on left -% pages. In documents which are not processed in two-sided mode the -% \texttt{dolayout} option has no effect. -% -% |\DocInput| has been changed to not make percent a comment character -% upon return unless it was before the |\DocInput|. This makes |\DocInput| -% nestable and I recommend that \texttt{.dtx} files which input other -% \texttt{.dtx} files use |\DocInput| for this. -% -% The |\DocInclude| command, which is defined by the \package{ltxdoc} -% document class rather than \package{doc}, is also by default -% redefined in an incompatible manner by \package{xdoc}, but you can -% stop \package{xdoc} from making incompatible changes if you pass it the -% option \GenericDescribePrint{\MacroFont olddocinclude \normalfont -% option}\SortIndex{olddocinclude}{\texttt{olddocinclude} option^^A -% \encapchar usage}\texttt{olddocinclude}. The main incompatibility -% lies in that the default redefinition of |\DocInclude| behaves purely -% as an |\include| command which |\DocInput|s a \texttt{.dtx} file rather -% than merely |\input|ting a \texttt{.tex} file---you must pass the -% \GenericDescribePrint{\MacroFont fileispart \normalfont option}^^A -% \SortIndex{fileispart}{\texttt{fileispart} option\encapchar -% usage}\texttt{fileispart} option to \package{xdoc} to get the |\part| -% headings etc.\ for each new file---but there are also minor changes -% in the appearance of these headings, in how page styles are set, and -% in how the information presented in the page footer is obtained. -% -% Other changes are as far as I can tell minor and within the bounds of -% expected behaviour, but code that relies on the implementation of some -% feature in \package{doc} may of course behave differently or break -% completely. Note in particular that the formats of the internal -% \package{doc} variables |\saved@macroname|, |\macro@namepart|, and -% |\index@excludelist| have changed completely (see -% Section~\ref{Sec:Changes}, Subsection~\ref{Ssec:Scanning macrocode}, -% and Subsection~\ref{Ssec:Index-exclude} respectively)---hence any hack -% involving one of these must be revised before it is used with -% \package{xdoc}. These are however exceptions; in my experience the most -% noticeable changes not listed above are that the index exclude -% mechanism actually works for control sequences whose names consist of -% a single non-letter and that symbols get sorted in a different order. -% -% -% \subsection{Some notable new features} -% -% The main new feature is the \DescribeMacro\NewMacroEnvironment -% |\NewMacroEnvironment| command, which defines a new \texttt{macro}-like -% environment. The command offers complete control of the argument -% structure, the formatting of the marginal heading, the code for making -% index entries, and the change entry sorting and formatting, but the -% syntax is too complex to explain here. Those who are interested in -% using it should read Section~\ref{Sec:Macro-environments}. In -% particular, Subsections~\ref{Ssec:Macro&environment}--^^A -% \ref{Ssec:More macros} contain several examples of how it can be -% used. In addition to using |\New|\-|Macro|\-|Environment| for -% redefining the \DescribeEnv{macro}\texttt{macro} and -% \DescribeEnv{environment}\texttt{environment} environments, -% \package{xdoc} also defines an \DescribeEnv{option}\texttt{option} -% environment (which is intended for document class and package -% options) and a \DescribeEnv{switch}\texttt{switch} environment (which -% is intended for switches defined using |\newif|; the argument should -% not include the |\if|). -% -% There is also a companion command \DescribeMacro\NewDescribeCommand -% |\NewDescribeCommand| which defines new commands similar to -% |\Describe|\-|Macro| and |\Describe|\-|Env|. The syntax of -% |\New|\-|Describe|\-|Command| is also too complex to explain here, so -% I have to refer readers who want to use it to Section~^^A -% \ref{Sec:Describing}. Two more commands which are defined in that -% section are \DescribeMacro\describeoption|\describe|\-|option|, which -% is the \texttt{describe}\dots\ companion of the \texttt{option} -% environment, and \DescribeMacro\describecsfamily -% |\describe|\-|cs|\-|family| which is meant for describing control -% sequence families (see the table on page~\pageref{Tab:CS-families} for -% examples of what I mean). The argument of this latter command is simply -% the material you would put between |\csname| and |\endcsname|. Variant -% parts are written as |\meta|\B\marg{text} and print as one would expect -% them to (but notice that the \meta{text} is a moving argument) whereas -% most other characters can be written verbatim without any special -% quoting (but |\|, |{|, |}|, and |%| need quoting; see the comments to -% the definition of |\describe|\-|cs|\-|family| for information on how -% to do that). -% -% The \DescribeMacro\DoNotIndexBy|\DoNotIndexBy| command tells the -% commands that make index entries for macros to ignore a certain -% character sequence when the index entries are sorted. The -% |\DoNotIndexBy| command takes one argument: the character sequence to -% ignore. If |\DoNotIndexBy| is used more than once then the indexing -% commands will look for, and if it finds it ignore, each of the -% character sequences given to it, starting with the one specified last. -% -% It has already been mentioned that the |\DocInclude| command has been -% changed. What has not been mentioned is its companion -% \DescribeMacro\setfileinfo|\setfileinfo|, -% which the partfiles should use for setting the date and version -% information presented in the page footer, but that is explained in -% detail in Subsection~\ref{Ssec:New DocInclude}. -% -% Finally there is a new variant of the |\changes| command which is -% intended for changes that, although not limited to a single macro and -% thus being ``general'' changes in the \package{doc} terminology, affect -% only a few (probably widely dispersed) macros (or whatever). The basic -% idea is that you can define a change with a specific version, date, -% and text using the \DescribeMacro{\definechange}|\definechange| command -% and then recall those parameters later using the -% \DescribeMacro{\usechange}|\usechange| command. Primarily this ensures -% that the entry texts are identical so that \package{makeindex} will -% combine them into one entry, but it is also specified which macro -% was changed at which page. See Section~\ref{Sec:Changes} for more -% details. Another new feature concerning |\changes| is that there is -% now support for sorting version numbers according to mathematical -% order rather than ASCII order. Traditionally the version numbers -% \texttt{2}, \texttt{11}, and \texttt{100} would have been sorted so -% that \texttt{100}${}<{}$\texttt{11}${}<{}$\texttt{2}, but if they are -% entered as \DescribeMacro{\uintver}|\uintver{2}|, |\uintver{11}|, and -% |\uintver{100}| then they will be sorted as -% \texttt{2}${}<{}$\texttt{11}${}<{}$\texttt{100}. The argument of -% |\uintver| must be a \TeX\ \meta{number}. -% -% \medskip -% -% \package{xdoc} also contains several features which are of little use -% as direct user commands, but which can simplify the definitions of other -% commands. The foremost of these are the `harmless character strings', -% which can be seen as a datatype for (short pieces of) verbatim text. -% \TeX\ typesets a harmless character string in pretty much the same way -% as the corresponding string of `other' tokens, but the harmless -% character string can also be written to file and read back arbitrarily -% many times without getting garbled, it doesn't make \package{makeindex} -% choke, and it survives being fed to a |\protected@edef|. The most -% important commands related to harmless character strings are -% \DescribeMacro\PrintChar|\PrintChar|, which is used for representing -% problematic characters, and \DescribeMacro\MakeHarmless|\MakeHarmless|, -% which converts arbitrary \TeX\ code to the corresponding harmless -% character string. -% -% The superfluity of indexing commands in \package{doc} has been -% replaced by the single command \DescribeMacro\IndexEntry|\IndexEntry|, -% which has been designed with the intention that it should provide a -% clear interface between the user level macros and the index sorting -% program. It takes three arguments: the index entry specification, the -% name of the encapsulation scheme that should be used, and the number to -% put in the index. The index entry specification is a sequence of -% |\LevelSame| and\slash or |\LevelSorted| commands, which have the -% respective syntaxes -% \begin{quote} -% \DescribeMacro\LevelSame|\LevelSame|\marg{text}\\ -% \DescribeMacro\LevelSorted|\LevelSorted|\marg{sort key}\marg{text} -% \end{quote} -% Each such command specifies one level of the index entry. In the case of -% |\LevelSorted|, the \meta{text} is what will be written in the sorted -% index at that level and \meta{sort key} is what the index-sorting -% program should look at when sorting the entry (at that level). In the -% case of |\LevelSame|, the \meta{text} is used both as sort key and -% contents of entry in the sorted index. The first command is for the -% topmost level and each subsequent command is for the next sublevel. -% The complete description appears in Subsection~\ref{Ssec:IndexEntry}. -% -% \package{xdoc} also contains support for external cross-referencing -% programs (see Subsection~\ref{Ssec:XXR} for details) and a system for -% determining whether a piece of text falls on an even or an odd page -% (see Section~\ref{Sec:Twoside} for details). I expect that the latter -% system will eventually migrate out of \package{xdoc}, either to a -% package of its own, or into oblivion because the \LaTeXplus\ output -% routine makes it obsolete. -% -% -% \subsection{The \package{docindex} package} -% -% As of prototype version 2.2, the \package{xdoc} package has a companion -% package \package{docindex}~\cite{docindex} which provides improved -% formatting of the index and list of changes. \package{xdoc} works fine -% without \package{docindex}, however. -% -% -% \subsection{A note on command names} -% -% The \package{doc} package defines several commands with mixed-case -% names which (IMHO) should really have all-lower-case names (according -% to the rule of thumb spelled out in \cite[Ssec.~2.4]{clsguide}) since -% people use them in the capacity of being the author of a \texttt{.dtx} -% file rather than in the capacity of being the writer of a class or -% package. The names in question are -% \begin{longtable}{ll} -% \textbf{Name in \package{doc}}& \textbf{Better (?) name}\endhead -% \cs{AlsoImplementation}& \cs{alsoimplementation}\\ -% \cs{CharacterTable}& \cs{charactertable}\\ -% \cs{CharTableChanges}& \cs{chartablechanges}\\ -% \cs{CheckModules}& \cs{checkmodules}\\ -% \cs{CheckSum}& \cs{checksum}\\ -% \cs{CodelineIndex}& \cs{codelineindex}\\ -% \texttt{CodelineNo} (counter)& \texttt{codelineno}\\ -% \cs{CodelineNumbered}& \cs{codelinenumbered}\\ -% \cs{DeleteShortVerb}& \cs{deleteshortverb}\\ -% \cs{DescribeEnv}& \cs{describeenv}\\ -% \cs{DescribeMacro}& \cs{describemacro}\\ -% \cs{DisableCrossrefs}& \cs{disablecrossrefs}\\ -% \cs{DocInput}& \cs{docinput}\\ -% \cs{DoNotIndex}& \cs{donotindex}\\ -% \cs{DontCheckModules}& \cs{dontcheckmodules}\\ -% \cs{EnableCrossrefs}& \cs{enablecrossrefs}\\ -% \cs{Finale}& \cs{finale}\\ -% \texttt{GlossaryColumns} (counter)& \texttt{glossarycolumns}\\ -% \cs{GlossaryPrologue}& \cs{glossaryprologue}\\ -% \texttt{IndexColumns} (counter)& \texttt{indexcolumns}\\ -% \cs{IndexInput}& \cs{indexinput}\\ -% \cs{IndexPrologue}& \cs{indexprologue}\\ -% \cs{MakePrivateLetters}& \cs{makeprivateletters}\\ -% \cs{MakeShortVerb}& \cs{makeshortverb}\\ -% \cs{OnlyDescription}& \cs{onlydescription}\\ -% \cs{PageIndex}& \cs{pageindex}\\ -% \cs{PrintChanges}& \cs{printchanges}\\ -% \cs{PrintIndex}& \cs{printindex}\\ -% \cs{RecordChanges}& \cs{recordchanges}\\ -% \cs{SortIndex}& \cs{sortindex}\\ -% \cs{SpecialEscapechar}& \cs{specialescapechar}\\ -% \texttt{StandardModuleDepth} (counter)& \texttt{standardmoduledepth}\\ -% \cs{StopEventually}& \cs{stopeventually} -% \end{longtable} -% \noindent With the exception for \texttt{CodelineNo},\footnote{Where I -% recommend using \texttt{codelineno} instead of \texttt{CodelineNo}, -% \cs{PrintCodelineNo} instead of \cs{theCodelineNo}, and -% \cs{thecodelineno} instead of \cs{number}\cs{c@CodelineNo}; see -% Subsection~\ref{Ssec:CodelineNo}.} I haven't changed any of the -% \package{doc} names in this \package{xdoc} prototype, nor introduced any -% of the ``better names'' as alternatives, but I think the matter should -% be given a bit of thought during the future development of -% \package{doc}\slash \package{xdoc}. -% -% For completeness, I should also remark that there are several macros -% that \package{doc} gives mixed-case names which I haven't listed above. -% The logo command names have special capitalizing rules by tradition. -% Some macros and named registers---for example |\Docstyle|\-|Parms|, -% |\Index|\-|Parms|, |\Macro|\-|Font|, |\Macro|\-|Topsep|, -% |\Make|\-|Percent|\-|Ignore|, and |\Print|\-|Macro|\-|Name|---are part -% of the package or document class writer's interface to \package{doc}, -% although I cannot claim it to be obvious that for example -% |\Index|\-|Parms| and the \texttt{IndexColumns} counter should belong -% to different classes here (but several of these control sequences will -% probably disappear from the interface in \LaTeXplus\ anyway, so the -% problem isn't that important). The |\Special|\dots\B|Index| commands -% (and their even more special variants, such as -% |\Left|\-|Brace|\-|Index|) are internal commands rather than user level -% commands. Finally there is the |\Get|\-|File|\-|Info| command, which I -% doubt there is any point in having. -% -% -% \StopEventually{} -% -% -% \subsection{\package{docstrip} modules} -% -% The \package{docstrip} modules in \texttt{xdoc2.dtx} are: -% \begin{description} -% \item[\textsf{pkg}] -% This module directive surrounds the code for the \package{xdoc} -% package. -% \item[\textsf{driver}] -% The driver. -% \item[\textsf{internals}] -% This module contains an alternative replacement text for the -% |\Print|\-|Visible|\-|Char| command that uses ``\LaTeX\ internal -% character representation'' (i.e., as much as possible -% encoding-specific commands---|\text|\textellipsis\ commands and -% the like) rather than the primitive |\char| command for -% typesetting visible characters. -% It is provided as a separate module mainly for compability with -% prototype version~2.0, as this alternative definition can (as of -% prot.\,2.1) be chosen by passing the option -% \describeoption{notrawchar}\texttt{notrawchar} to \package{xdoc}. -% \item[\textsf{economical}] -% There is little point in storing the harmless representations of -% the 161 non-visible-ASCII characters as these representations are -% always the same and can be formed on the fly whenever they are -% needed. The \textsf{economical} modules contain some alternative -% code which makes use of this fact to reduce the number of control -% sequences used for storing the table of harmless representations. -% The \Module{economical} module appears inside the \Module{pkg} -% module. -% \item[\textsf{xdoc2}] -% This module contains code for compability with previous releases -% of \package{xdoc2}. It will not be included in \package{xdoc3} -% or \package{xdoc} (whichever is the next major version). -% \item[\textsf{enccmds}] -% This module contains the code for defining two \texttt{macro}-like -% environments for encoding-specific commands. These are not included -% in the \package{xdoc} package since so few \texttt{.dtx} files -% define encoding-specific commands. -% \item[\textsf{rsrccmd}] -% Similar to the \textsf{enccmds} module, but demonstrates the -% |\New|\-|Describe|\-|Command| command instead. -% \item[\textsf{example}] -% This surrounds some code which to \package{docstrip} looks like it -% should be copied, but isn't meant to. -% \end{description} -% -% -% -% \section{Initial stuff} -% -% First there's the usual |\NeedsTeXFormat| and |\ProvidesPackage|. -% \begin{macrocode} -%<*pkg> -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{xdoc2}[2003/07/06 prot2.5 doc reimplementation package] -% \end{macrocode} -% -% \subsection*{Options} -% -% The first option has to do with the page layout. -% Although \package{doc} itself doesn't modify any of the main layout -% parameters, it is well known that using it does tend to restrict -% one's choices in terms of document layout. In particular the -% \texttt{macro} and \texttt{environment} environments require a rather -% large left margin since they will otherwise print long macro names -% partially outside the paper. It is furthermore hard to decrease the -% |\textwidth| as it should be wide enough to contain about 70 columns of -% |\MacroFont| text. Thus the only solution is to do as the -% \package{ltxdoc}~\cite{ltxdoc} document class and enlarge the left -% margin at the expense of the right. -% -% The resulting layout has a left--right asymmetry with the main galley -% (the text rectangle) on the right and a very wide left margin (in -% which marginal headings and marginal notes appears). Although this -% layout is not uncommon in technical manuals, it is inappropriate for -% two-sided designs since the vertical line at which the two pages of a -% spread meet becomes the natural vertical symmetry axis for the entire -% spread and it breaks this symmetry to let the left margin be the -% widest on all pages. It would look better to always let the outer -% margin be the largest. -% -% \begin{option}{dolayout} -% \begin{macro}{\oddsidemargin} -% The \texttt{dolayout} option modifies |\oddsidemargin| so that -% spreads are symmetric around the center in two-sided mode. As size -% of the outer margin is taken the size of the left margin on left -% (even) pages, i.e., |\evensidemargin|${}+1\,\mathrm{in}$. -% -% In one-sided mode, the \texttt{dolayout} option does nothing. -% \begin{macrocode} -\DeclareOption{dolayout}{% - \if@twoside - \setlength\oddsidemargin{\paperwidth} - \addtolength\oddsidemargin{-\textwidth} - \addtolength\oddsidemargin{-\evensidemargin} - \addtolength\oddsidemargin{-2in} - \fi -} -% \end{macrocode} -% \end{macro}\end{option} -% -% \begin{option}{olddocinclude} -% \begin{option}{fileispart} -% The \texttt{olddocinclude} and \texttt{fileispart} options are -% related to the |\DocInclude| command defined by the \package{ltxdoc} -% document class. Some of the code related to that command relies on -% modifying the \package{doc} internal macro |\codeline@wrindex|, but -% that has no effect with \package{xdoc} so in order to get the -% expected results one has to reimplement the |\DocInclude| command as -% well. The \texttt{olddocinclude} and \texttt{fileispart} options -% control how this should be done. -% -% If the \texttt{olddocinclude} option is passed to \package{xdoc} -% then only the parts of the implementation of |\DocInclude| which -% must be altered to make the command work with the \package{xdoc} -% implementation of indexing and cross-referencing are changed. These -% redefinitions will furthermore only be made if the \package{ltxdoc} -% document class has been loaded; nothing is done if the -% \texttt{olddocinclude} option is passed and \package{ltxdoc} hasn't -% been loaded. Passing the \texttt{olddocinclude} option can be -% considered as requesting a ``compatibility mode'' for |\DocInclude|. -% -% If the \texttt{olddocinclude} option is not passed then the -% |\DocInclude| command is reimplemented from scratch, regardless of -% whether some definition of it has already been given or not. The -% basis of this reimplementation is the observation that the -% |\DocInclude| command of \package{ltxdoc} really does two quite -% distinct things at once---it is an |\include| command which -% |\DocInput|s files rather than |\input|ting them, but it also starts -% a new |\part|, sets the pagestyle, and changes how the values of -% some counters are typeset. This latter function is by default -% disabled in the \package{xdoc} implementation of |\DocInclude|, but -% passing the \texttt{fileispart} option enables it. -% -% There is no code for these two options here, as it is rather long; -% instead that code appears in Section~\ref{Sec:DocInclude}. The -% |\Pass|\-|Options|\-|To|\-|Package| commands make sure that these -% options are registered as local options for \package{xdoc}, so that -% one can test for them using |\@if|\-|package|\-|with| below. -% \begin{macrocode} -\DeclareOption{olddocinclude}{% - \PassOptionsToPackage{\CurrentOption}{xdoc2}% -} -\DeclareOption{fileispart}{% - \PassOptionsToPackage{\CurrentOption}{xdoc2}% -} -% \end{macrocode} -% \end{option}\end{option} -% -% \changes{prot2.5}{2003/07/06}{Reregeristing options in case -% they were global. (LH)} -% -% \begin{option}{notrawchar} -% The \texttt{notrawchar} option controls how the |\PrintVisibleChar| -% command is defined, and thereby what method is used for typesetting -% visible characters in e.g.\ macro names. The default is to use the -% |\char| primitive (which is better for \texttt{T1}-encoded fonts and -% non-italic \texttt{OT1}-encoded typewriter fonts), but the -% \texttt{notrawchar} option causes things to go via the ``\LaTeX\ -% internal character representation'' instead (which is necessary -% for e.g.\ \texttt{OT1}-encoded non-typewriter fonts). -% -% There is no code for this option here; instead that code is found -% in the definition of |\Print|\-|Visible|\-|Char|. -% \begin{macrocode} -\DeclareOption{notrawchar}{% - \PassOptionsToPackage{\CurrentOption}{xdoc2}% -} -% \end{macrocode} -% \end{option} -% -% -% Then options are processed. -% \begin{macrocode} -\ProcessOptions\relax -% \end{macrocode} -% And finally the \package{doc} package is loaded. -% \begin{macrocode} -\RequirePackage{doc} -% \end{macrocode} -% -% -% \section{Character strings} -% -% A source of much of the complexity in \package{doc} is that it has to -% be able to deal with rather arbitrary strings of characters (mainly -% the names of control sequences). Once the initial problems with -% characters having troublesome catcodes have been overcome however, it -% is usually no problem to manage such things in \TeX. \package{doc} -% does however complicate things considerably by also putting these -% things in the index and list of changes. Not only must they then be -% formatted so that the \package{makeindex} program doesn't choke on -% them, but they must also be wrapped up in code that allows \TeX\ to -% make sense of them when they are read back. \package{doc} manages the -% \package{makeindex} problems mainly by allowing the user to change what -% characters are used as \package{makeindex} metacharacters and the -% reading back problem by making abundant use of |\verb|. -% -% All this relies on that the author of a document is making sure that -% the metacharacters aren't used for anything else. If for example the -% |\verbatimchar| (by default |+|) is one of the ``private letters'' -% then names of control sequences containing that character will be -% typeset incorrectly because the |\verb| used to typeset it is -% terminated prematurely---control sequence names such as `|\lost+found|' -% will be typeset as `|\lost|found+'. On top of that, one also has to -% make sure that the font used for typesetting these |\verb| sections -% contains all the characters needed. -% -% For \package{xdoc}, I have chosen a completely different approach. -% Instead of allowing the strings (after they have converted to the -% internal format) to contain \TeX\ character tokens with arbitrary -% character codes, they may only contain \TeX\ character tokens which -% are unproblematic---the normal catcode should be 11 (letter) or 12 -% (other), they should not be outside visible ASCII, and they may not -% be one of the \package{makeindex} metacharacters. All other characters -% are represented using a robust command which takes the character code -% (in decimal) as the argument. This takes care of all ``moving -% argument'' type problems that may occur. -% -% An important observation about these character strings is that -% they are strings of \emph{input} characters. This means that rather -% than using the characters in some special font for typesetting -% control sequences like |\^^M| (recall that the |^^| substitutions -% take place before tokenization), one should typeset them using only -% visible ASCII characters. (After all, that's the only way they are -% written in \TeX\ code.) The default definition is to typeset -% invisible characters as precisely the |^^|-sequences that \TeX\ -% normally uses for these characters when they are written to a file. -% -% -% \subsection{Typesetting problematic characters} -% -% \begin{macro}{\PrintChar} -% \begin{macro}{\XD@threedignum} -% The |\PrintChar| command has the syntax -% \begin{quote} -% |\PrintChar|\marg{8-bit number} -% \end{quote} -% where \meta{8-bit number} is a \TeX\ number in the range 0--255. -% For arguments in the range 0--31, |\PrintChar| prints -% `\textit{\ttfamily\string^\string^@}'--`\textit{\ttfamily -% \string^\string^\string_}'. For an argument in the range 32--126, -% |\PrintChar| calls |\Print|\-|Visible|\-|Char| which by default -% simply does |\char| on that argument (but which can be redefined -% if the font set-up requires it); in particular, |\PrintChar{32}| -% should print a ``visible space'' character. |\PrintChar{127}| prints -% `\textit{\ttfamily\string^\string^?}'. For arguments in the range -% 128--255, |\PrintChar| prints -% `\textit{\ttfamily\string^\string^80}'--`\textit{\ttfamily -% \string^\string^ff}'. -% -% |\PrintChar| is robust. |\PrintChar| also has a special behaviour -% when it is written to a file (when |\protect| is |\noexpand|): it -% makes sure that the argument consists of three decimal digits, to -% ensure external sorting gets it right. -% \begin{macrocode} -\@ifundefined{PrintChar}{}{% - \PackageInfo{xdoc2}{Redefining \protect\PrintChar}% -} -\def\PrintChar{% - \ifx \protect\@typeset@protect - \expandafter\XD@PrintChar - \else\ifx \protect\noexpand - \string\PrintChar - \expandafter\expandafter \expandafter\XD@threedignum - \else - \noexpand\PrintChar - \fi\fi -} -% \end{macrocode} -% -% |\XD@threedignum| does a |\number| on its argument, possibly prepends -% a |0| or two, and wraps it all up in a ``group'' (the braces have -% category other, not beginning and end of group). -% \changes{prot2.1}{2000/11/15}{Braces inserted by -% \cs{XD@threedignum} are given catcode other. (LH)} -% \begin{macrocode} -\edef\XD@threedignum#1{% - \string{% - \noexpand\ifnum #1<100 % - \noexpand\ifnum #1<10 0\noexpand\fi - 0% - \noexpand\fi - \noexpand\number#1% - \string}% -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\XD@PrintChar} -% \begin{macro}{\InvisibleCharPrefix} -% \begin{macro}{\InvisibleCharSuffix} -% |\XD@PrintChar| manages the typesetting for |\PrintChar|. It -% distinguishes between visible characters (code 32--126) and -% invisible characters. The visible characters are typeset directly -% using |\PrintVisibleChar|, whereas the invisible characters are -% typeset as |^^|-sequences. -% -% The macros |\InvisibleCharPrefix| and |\InvisibleCharSuffix| begin -% and end a |^^|-sequence. |\InvisibleCharPrefix| should print the -% actual |^^|, but it may also for example select a new font for -% the |^^|-sequence (such font changes are restored at the end of -% |\XD@PrintChar|). -% \begin{macrocode} -\def\XD@PrintChar#1{% - \leavevmode - \begingroup - \count@=#1\relax - \ifnum \@xxxii>\count@ - \advance \count@ 64% - \InvisibleCharPrefix - \PrintVisibleChar\count@ - \InvisibleCharSuffix - \else\ifnum 127>\count@ - \PrintVisibleChar\count@ - \else - \InvisibleCharPrefix - \ifnum 127=\count@ \PrintVisibleChar{63}\else - \@tempcnta=\count@ - \divide \count@ \sixt@@n - \@tempcntb=\count@ - \multiply \count@ \sixt@@n - \advance \@tempcnta -\count@ - \advance \@tempcntb \ifnum 9<\@tempcntb 87\else 48\fi - \advance \@tempcnta \ifnum 9<\@tempcnta 87\else 48\fi - \char\@tempcntb \char\@tempcnta - \fi - \InvisibleCharSuffix - \fi\fi - \endgroup -} -% \end{macrocode} -% \begin{macrocode} -\newcommand\InvisibleCharPrefix{% - \/\em - \PrintVisibleChar{`\^}\PrintVisibleChar{`\^}% -} -\newcommand\InvisibleCharSuffix{\/} -% \end{macrocode} -% There are some alternative methods for making hexadecimal numbers -% which should perhaps be mentioned. The \LaTeX\ kernel contains a -% macro |\hexnumber@| which uses |\ifcase| to produce one hexadecimal -% digit, but that uses upper case letters, and things like `8E' look -% extremely silly if the upper case letters doesn't line with the -% digits. Applying |\meaning| to a \meta{chardef token} or -% \meta{mathchardef token} expands to |\char"|\meta{hex} and -% |\mathchar"|\meta{hex} respectively, where \meta{hex} is the -% corresponding number in hexadecimal, but that too has upper case A--F -% and leading zeros are removed. -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\PrintVisibleChar} -% \changes{prot2.1}{2000/12/18}{Made it possible to select the -% alternative defintion of \cs{PrintVisibleChar} through an -% \package{xdoc} package option. (LH)} -% The |\PrintVisibleChar| command should print the visible ASCII -% character whose character code is given in the argument. There are -% currently two definitions of this command: one which uses the \TeX\ -% primitive |\char| and one which goes via the ``\LaTeX\ internal -% character representation'' for the character. By default -% \package{xdoc} uses the former definition, but if \package{xdoc} -% is passed the -% \SortIndex{notrawchar}{\texttt{notrawchar} option\encapchar usage} -% \texttt{notrawchar} option then it will use the latter. -% -% The reason there are two definitions is a deficiency in how the NFSS -% encoding attribute has been assigned to fonts; even though the -% encodings of Computer Modern Roman and Computer Modern Typewriter -% are quite different, \LaTeXe\ uses the \texttt{OT1} encoding for -% both. As a result of this, the \LaTeX\ internal representation will -% in some important cases use characters from non-typewriter fonts -% despite the fact that typewriter forms are immediately available. -% Since the cases in which the |\char| primitive produces results as -% least as good as those made through the \LaTeX\ internal -% character representation includes those that the current font is -% \texttt{T1}-encoded or an \texttt{OT1}-encoded nonitalic typewriter -% font, the shorter |\char| primitive defintion has been made the -% default. -% -% For compability with prototype version~2.0 of \package{xdoc}, the -% replacement text for |\Print|\-|Visible|\-|Char| that uses \LaTeX\ -% internal character representation can alternatively be extracted by -% \package{docstrip}ping \texttt{xdoc2.dtx} with the option -% \Module{internals}. -% \begin{macrocode} -\@ifpackagewith{xdoc2}{notrawchar}{% - \newcommand\PrintVisibleChar[1]{% -%</pkg> -%<*pkg|internals> - \ifcase #1% - \or\or\or\or\or\or\or\or \or\or\or\or\or\or\or\or - \or\or\or\or\or\or\or\or \or\or\or\or\or\or\or\or - % "20 - \textvisiblespace \or!\or\textquotedbl \or\#\or\textdollar - \or\%\or\&\or\textquoteright\or(\or)\or*\or+\or,\or-\or.\or/% - \or % "30 - 0\or1\or2\or3\or4\or5\or6\or7\or8\or9\or:\or;\or - \textless\or=\or\textgreater\or?% - \or % "40 - @\or A\or B\or C\or D\or E\or F\or G\or - H\or I\or J\or K\or L\or M\or N\or O% - \or % "50 - P\or Q\or R\or S\or T\or U\or V\or W\or X\or Y\or Z\or [\or - \textbackslash \or]\or\textasciicircum \or\textunderscore - \or % "60 - \textquoteleft \or a\or b\or c\or d\or e\or f\or g\or h\or - i\or j\or k\or l\or m\or n\or o% - \or % "70 - p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\or - \textbraceleft \or\textbar \or\textbraceright \or - \textasciitilde - \fi - }% -%</pkg|internals> -%<*pkg> -}{% - \newcommand\PrintVisibleChar[1]{\char #1\relax}% -} -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\Bslash} -% It turns out that it is very common to say |\PrintChar{92}| -% (backslash), so a macro which expands to that reduces typing. -% \begin{macrocode} -\newcommand\Bslash{\PrintChar{92}} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{Rendering character strings harmless} -% -% Replacing all problematic characters with |\PrintChar| calls certainly -% makes the strings easier to manage, but actually making those -% replacements is a rather complicated task. Therefore this subsection -% contains the macros necessary for doing these replacements. -% -% The first problem is how to efficiently recognise the problematic -% characters. A first solution which gets rather far is to mainly look -% in the |\catcode| register for that character and keep the character -% as it is if the category found there is 11 or 12, but replace it with -% a |\PrintChar| command if the category is anything else. Two extra -% tests can be performed to take care of invisible ASCII, and the -% \package{makeindex} metacharacters can be cared for by locally -% changing their catcodes for when the string is processed. -% Unfortunately this doesn't work inside \texttt{macrocode} -% environments (where one would like to use it for the macro -% cross-referencing) since that environment changes the catcodes of -% several characters from being problematic to being unproblematic and -% vice versa.\footnote{As the entire \texttt{macrocode} environment is -% tokenized by the expansion of \cs{xmacro@code} one could alternatively -% solve this problem by reimplementing the \texttt{macrocode} -% environment so that normal catcodes are in force when the contents are -% being typeset.} As furthermore harmless character strings should be -% possible to move to completely different parts of the document, the -% test used for determining whether a character is problematic should -% yield the same result throughout the document. -% -% Because of this, I have chosen a brute strength solution: build a -% table (indexed by character code) that gives the harmless form of -% every character. This table is stored in the -% \describecsfamily{XD@harmless@\meta{code}}^^A -% |\XD@harmless@|\meta{code} family of control sequences, where the -% \meta{code} is in the range |0|--|255|. Assignments to this table are -% global. In principle, the table should not change after the preamble, -% but there is a command |\SetHarmState| which can be used at any time -% for setting a single table entry. This could be useful for documents -% which, like for example~\cite{fontinst}, have nonstandard settings of -% |\catcode|s. -% -% \begin{macro}{\SetHarmState} -% The |\SetHarmState| command takes three arguments: -% \begin{quote} -% |\SetHarmState|\marg{type}\marg{char}\marg{harm} -% \end{quote} -% \meta{char} is the character whose entry should be set. \meta{type} -% is a flag which specifies what format \meta{char} is given in. If -% \meta{type} is |\BooleanTrue| then \meta{char} is the \TeX\ -% \meta{number} of the table entry to set, and if \meta{type} is -% |\BooleanFalse| then \meta{char} is something which expands to a -% single character token whose entry should be set. The expansion is -% carried out by an |\edef|, so it needs not be only one level. -% \meta{harm} is |\BooleanTrue| if the character is problematic and -% |\BooleanFalse| if it is not. -% -% The \meta{type} and \meta{harm} arguments are currently not subject -% to any expansion. In the future they probably should be, but I -% don't want to make assumptions about the actual definitions of -% |\BooleanTrue| and |\BooleanFalse| at this point. -% \begin{macrocode} -\begingroup - \catcode\z@=12 - \@ifdefinable\SetHarmState{ - \gdef\SetHarmState#1#2#3{% - \begingroup - \ifx #1\BooleanTrue - \count@=#2\relax - \else - \protected@edef\@tempa{#2}% - \count@=\expandafter`\@tempa\relax - \fi - \ifx #3\BooleanTrue - \edef\@tempa{\noexpand\PrintChar{\the\count@}}% - \else - \uccode\z@=\count@ - \uppercase{\def\@tempa{^^@}}% - \fi - \global\expandafter\let - \csname XD@harmless@\the\count@ \endcsname \@tempa - \endgroup - }% - } -\endgroup -% \end{macrocode} -% \end{macro} -% -% \begin{trivlist}\item[]\leavevmode ^^A Just for the look of it -% \GenericDescribePrint{\small\cs{XD@harmless@}\meta{code}}^^A -% ^^A There should have been a "main" index entry here as well, -% ^^A but generating that with \package{doc} commands is more than I -% ^^A bother to do right now. -% Initializing the |\XD@harmless@|\meta{code} table is a -% straightforward exercise of |\loop| \dots\ |\repeat|. -% \begin{macrocode} -%<*!economical> -\count@=\z@ -\loop - \expandafter\xdef \csname XD@harmless@\the\count@ \endcsname - {\noexpand\PrintChar{\the\count@}}% - \advance \count@ \@ne -\ifnum 33>\count@ \repeat -%</!economical> -%<economical>\count@=\@xxxii -\begingroup - \catcode\z@=12\relax - \@firstofone{% -\endgroup - \loop - \if \ifnum 11=\catcode\count@ 1\else \ifnum 12=\catcode\count@ - 1\else 0\fi\fi 1% - \uccode\z@=\count@ - \uppercase{\def\@tempa{^^@}}% - \else - \edef\@tempa{\noexpand\PrintChar{\the\count@}}% - \fi - \global\expandafter\let - \csname XD@harmless@\the\count@ \endcsname \@tempa - \advance \count@ \@ne - \ifnum 127>\count@ \repeat -} -%<*!economical> -\loop - \expandafter\xdef \csname XD@harmless@\the\count@ \endcsname - {\noexpand\PrintChar{\the\count@}}% -\ifnum \@cclv>\count@ - \advance \count@ \@ne -\repeat -%</!economical> -% \end{macrocode} -% Marking the \package{makeindex} metacharacters as harmful is -% deferred until |\begin|\nolinebreak[2]|{document}|, since it is not -% unreasonable that these are changed in the preamble. -% \begin{macrocode} -\AtBeginDocument{% - \SetHarmState\BooleanFalse\actualchar\BooleanTrue - \SetHarmState\BooleanFalse\encapchar\BooleanTrue - \SetHarmState\BooleanFalse\levelchar\BooleanTrue - \SetHarmState\BooleanFalse\quotechar\BooleanTrue -} -% \end{macrocode} -% \package{doc}'s |\verbatimchar| is not harmful, since it isn't used -% at all in \package{xdoc}. -% \end{trivlist} -% -% -% \begin{macro}{\MakeHarmless} -% To render a character string harmless, you do -% \begin{quote} -% |\MakeHarmless|\marg{macro}\marg{string} -% \end{quote} -% This locally assigns to \meta{macro} the harmless character string -% which corresponds to \meta{string}. During the conversion the converted -% part of the string is stored in |\toks@|, but that is local to -% |\MakeHarmless|. -% \begin{macrocode} -\def\MakeHarmless#1#2{% - \begingroup - \toks@={}% - \escapechar=`\\% - \XD@harmless@#2\XD@harmless@ - \expandafter\endgroup \expandafter\def \expandafter#1% - \expandafter{\the\toks@}% -} -% \end{macrocode} -% -% \begin{macro}{\XD@harmless@iii} -% \begin{macro}{\XD@harmless@iv} -% \begin{macro}{\XD@harmless@v} -% \changes{prot2}{2000/07/27}{Moved code for adding to \cs{toks@} here -% and changed it to append the contents of \cs{XD@harmless@32}, not -% necessarily a \cs{PrintChar}. (LH)} -% \begin{macro}{\XD@harmless@vi} -% What one has to be most careful about when rendering strings -% harmless are the space tokens, since many of \TeX's primitives gladly -% snatches an extra space (or more) where you don't want them to in -% this case. Macro parameters can be particularly dangerous, as \TeX\ -% will skip any number of spaces while looking for the replacement -% text for an undelimited macro argument. Therefore the algorithm for -% rendering a character token harmless begins -% (|\XD@|\B|harmless@iii|) with |\string|ing the next token in the -% string---this preserves the character code and sets the category to -% 12 for all characters except the ASCII space, which gets category 10 -% (space)---and then |\futurelet| is used to peek at the next token. If -% it is a space token (|\XD@|\B|harmless@iv|) then the character code -% is 32 and the actual space can be gobbled (|\XD@|\B|harmless@v|), and -% if it isn't then the next token can be grabbed in an undelimited macro -% argument (|\XD@|\B|harmless@vi|). In either case, the harmless form -% is given by the |\XD@|\B|harmless@|\meta{code} table entry -% (in |\XD@|\B|harmless@v| or |\XD@|\B|harmless@vi|). -% \begin{macrocode} -\def\XD@harmless@iii{% - \expandafter\futurelet \expandafter\@let@token - \expandafter\XD@harmless@iv \string -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@harmless@iv{% - \ifx \@let@token\@sptoken - \expandafter\XD@harmless@v - \else - \expandafter\XD@harmless@vi - \fi -} -% \end{macrocode} -% ^^A Hack: -% \begingroup -% \expandafter\def \expandafter\MakePrivateLetters \expandafter{^^A -% \MakePrivateLetters -% \catcode`3=11 -% \catcode`2=11 -% } -% \begin{macrocode} -\begingroup - \catcode`3=\catcode`a - \catcode`2=\catcode`a - \@firstofone{\gdef\XD@harmless@v} {% - \toks@=\expandafter{\the \expandafter\toks@ \XD@harmless@32}% - \XD@harmless@ - } -\endgroup -% \end{macrocode} -% \endgroup -% In the \Module{economical} (with hash table space) variant -% implementation the |\XD@harmless@|\meta{code} table has entries only -% for the characters in visible ASCII. Thus the harmless forms of -% characters outside visible ASCII must be constructed on the fly. -% \begin{macrocode} -\def\XD@harmless@vi#1{% -%<*economical> - \if \ifnum `#1<\@xxxii 1\else \ifnum `#1>126 1\else 0\fi\fi 1% - \toks@=\expandafter{\the\expandafter\toks@ - \expandafter\PrintChar \expandafter{\number`#1}% - }% - \else -%</economical> - \toks@=\expandafter{\the\expandafter\expandafter\expandafter\toks@ - \csname XD@harmless@\number`#1\endcsname}% -%<economical> \fi - \XD@harmless@ -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@harmless@} -% \begin{macro}{\XD@harmless@i} -% \begin{macro}{\XD@harmless@ii} -% But that is not all |\MakeHarmless| can do. In some cases (as for -% example when one is describing a family of control sequences) one -% might want to include things in the string that are not simply -% characters, but more complex items---such as for example |\meta| -% constructions like \meta{code}. To accommodate for this, -% |\XD@harmless@| (which is the first step in converting a token) -% always begins by checking whether the next token to render harmless -% is a control sequence. If it is then it is checked (in -% |\XD@harmless@ii|) whether the control sequence -% \describecsfamily{XD@harmless\Bslash\meta{cs-name}}^^A -% |\XD@harmless\|\meta{cs-name}, where \meta{cs-name} is the name -% without |\| of the control sequence encountered, is defined. If it -% isn't then the encountered control sequence is |\string|ed and -% conversion continues as above, but if it is defined then the -% encountered control sequence begins such a more complex item. -% \begin{macrocode} -\def\XD@harmless@{\futurelet\@let@token \XD@harmless@i} -% \end{macrocode} -% \begin{macrocode} -\def\XD@harmless@i{% - \ifcat \noexpand\@let@token \noexpand\XD@harmless@ - \expandafter\XD@harmless@ii - \else - \expandafter\XD@harmless@iii - \fi -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@harmless@ii#1{% - \@ifundefined{XD@harmless\string#1}{% - \expandafter\XD@harmless@vi \string#1% - }{\csname XD@harmless\string#1\endcsname}% -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@harmless\XD@harmless@} -% A control sequence |\XD@harmless\|\meta{cs-name} is responsible for -% interpreting the string item that begins with the control sequence -% |\|\meta{cs-name} and appending a harmless representation of it to -% |\toks@|. Harmless representations should only contain robust -% control sequences and they must not rely on changing any catcodes. -% Normal |\XD@harmless\|\meta{cs-name} control sequences must also -% end by inserting |\XD@harmless@| in front of what remains of the -% string after the complex string item has been removed. This sees to -% that the rest of the string is also rendered harmless. The only such -% control sequence which does not insert |\XD@harmless@| is -% |\XD@harmless\XD@harmless@|, but that is as it should be since -% |\MakeHarmless| itself appends a |\XD@harmless@| to every character -% string it should convert to mark the end of it. -% \begin{macrocode} -\expandafter\let - \csname XD@harmless\string\XD@harmless@\endcsname \@empty -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\XD@harmless\PrintChar} -% It is occasionally convenient to use a |\PrintChar| command as part -% of a string that is to be rendered harmless instead of using the raw -% character. The definition is very similar to that of -% |\XD@harmless@vi|. -% \begin{macrocode} -\@namedef{XD@harmless\string\PrintChar}#1{% -%<*economical> - \if \ifnum #1<\@xxxii 1\else \ifnum #1>126 1\else 0\fi\fi 1% - \toks@=\expandafter{\the\expandafter\toks@ - \expandafter\PrintChar \expandafter{\number#1}% - }% - \else -%</economical> - \toks@=\expandafter{\the\expandafter\expandafter\expandafter\toks@ - \csname XD@harmless@\number#1\endcsname}% -%<economical> \fi - \XD@harmless@ -} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{Interaction with mechanisms that make characters -% problematic} -% -% If additional visible characters are made problematic after the -% initial |\XD@harmless@|\meta{code} table is formed then problems may -% indeed arise, because some character which is expected to be -% unproblematic when read from (for example) an \texttt{.ind} file will -% actually not be. In fortunate cases this will only lead to that -% characters will print strangely or not at all, but it can quite -% conceivably lead to errors that prevent further typesetting and it -% should therefore be prevented if possible. -% -% Right now, I can think of two mechanisms that make characters -% problematic, and both do that by making them active. One is the -% shorthand mechanism of \package{babel}, but I think I'll delay -% implementing any interaction with that until some later prototype; I -% don't know it well enough and anyway I don't think it is that likely -% to cause any problems. The other mechanism is the short verb mechanism -% of \package{doc} itself, and this should be taken care of right away. -% -% The main difficulty is that the |\XD@harmless@|\meta{code} table should -% be the same throughout the document body (otherwise you may get more -% than one index entry for the same thing, with index references -% arbitrarily distributed between the two) whereas short verb characters -% can be made and deleted at any time. It would actually be wrong to -% always have the |\XD@harmless@|\meta{code} table entry mirroring the -% current state of the character! Instead a character will be considered -% as problematic even if it is only made problematic temporarily (with -% the exception for characters that are made problematic in -% \texttt{verbatim} environments and the like---the index file isn't -% being read in while those catcodes are active). Since it is impossible -% to know in the beginning of a document whether a character will be made -% a short verb character at some later point, the modifications to the -% |\XD@harmless@|\meta{code} table that will be made because of short verb -% characters will (at least partially) be based on which characters were -% made short verbs on the previous run. -% -% \begin{macro}{\SetCharProblematic} -% \changes{prot2}{2000/07/26}{Command added. (LH)} -% The |\SetCharProblematic| command should be called by commands which -% make a character problematic (e.g.\ makes it active) in the general -% context (commands which make some character problematic only in some -% very special context, such as the \texttt{verbatim} environment, -% need not call |\Set|\-|Char|\-|Problematic|). The syntax is -% \begin{quote} -% |\SetCharProblematic|\marg{code} -% \end{quote} -% and it sets the ``harm state'' of the character whose code is -% \meta{code} to problematic. -% -% When |\SetCharProblematic| is called in the preamble, it sets the -% harm state on the current run. When it is called in the document -% body however, it sets the harm state on the next run by writing a -% |\SetHarmState| command to the \texttt{.aux} file. This is done to -% ensure that the contents of the |\XD@harmless@|\meta{code} table -% doesn't change during the body of a document. -% \begin{macrocode} -\newcommand\SetCharProblematic[1]{% - \SetHarmState\BooleanTrue{#1}\BooleanTrue -} -\AtBeginDocument{% - \gdef\SetCharProblematic#1{% - \if@filesw - \immediate\write\@auxout{\string\SetHarmState - \string\BooleanTrue {\number#1}\string\BooleanTrue}% - \fi - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\add@specials} -% \changes{prot2}{2000/07/26}{Redefinition added. (LH)} -% |\MakeShortVerb|'s call to |\SetCharProblematic| is put in the -% |\add@|\B|specials| macro, which anyway already adds the character -% to the |\dospecials| and |\@sanitize| lists. Only familiar -% definitions of |\add@special| are changed. -% \begin{macrocode} -\def\@tempa#1{% - \rem@special{#1}% - \expandafter\gdef\expandafter\dospecials\expandafter - {\dospecials \do #1}% - \expandafter\gdef\expandafter\@sanitize\expandafter - {\@sanitize \@makeother #1}} -\ifx \@tempa\add@special - \def\add@special#1{% - \rem@special{#1}% - \expandafter\gdef\expandafter\dospecials\expandafter - {\dospecials \do #1}% - \expandafter\gdef\expandafter\@sanitize\expandafter - {\@sanitize \@makeother #1}% - \SetCharProblematic{`#1}% - } -\else - \PackageWarningNoLine{xdoc2}{Unfamiliar definition of - \protect\add@special;\MessageBreak the macro was not patched} -\fi -% \end{macrocode} -% \end{macro} -% -% -% -% \section{Indexing} -% \label{Sec:Indexing} -% -% Each type of index entry \package{doc} produces is implemented through -% a different indexing command.\footnote{Sometimes there are -% even more than one command per entry type---the \cs{SpecialIndex}, -% \cs{LeftBraceIndex}, \cs{RightBraceIndex}, and \cs{PercentIndex} -% commands all generate entries of the same type.} This might be -% manageable when there are only \texttt{macro}s and -% \texttt{environment}s to distinguish between, but it soon gets -% unmanageable if more environments of this type are added. Therefore -% all \package{xdoc} index entries are made with a single -% command---|\IndexEntry|. -% -% -% \subsection{New basic indexing commands} -% \label{Ssec:IndexEntry} -% -% \begin{macro}{\IndexEntry} -% \begin{macro}{\LevelSame} -% \changes{prot2.1}{2000/11/18}{New name for \cs{levelsame}. (LH)} -% \begin{macro}{\LevelSorted} -% \changes{prot2.1}{2000/11/18}{New name for \cs{levelsorted}. (LH)} -% \begin{macro}{\XD@if@index} -% The |\IndexEntry| command writes one index entry to the \texttt{.idx} -% file. It takes three arguments: -% \begin{quote} -% |\IndexEntry|\marg{entry text}\marg{encap}\marg{thenumber} -% \end{quote} -% The \meta{entry text} contains the text for the entry. It is a -% nonempty sequence of commands in which each item is one of -% \begin{quote} -% |\LevelSame|\marg{text}\\ -% |\LevelSorted|\marg{sort key}\marg{text} -% \end{quote} -% Each such item specifies one level of the entry that is to be -% written. In the case of |\LevelSorted|, the \meta{text} is what will -% be written in the sorted index at that level and \meta{sort key} is -% a key which the index-sorting program should use for sorting that -% entry at that level. In the case of |\LevelSame|, the \meta{text} is -% used both as sort key and contents of entry in the sorted index. -% The first item is for the topmost level and each subsequent item is -% for the next sublevel. The \meta{entry text} will be fully expanded -% by the |\IndexEntry| command. -% -% \meta{thenumber} is the number (if any) that the index entry refers -% to. It can consist of explicit characters, but it can also be a -% |\the|\meta{counter} control sequence or a macro containing such -% control sequences. \meta{thenumber} is fully expanded by the -% |\IndexEntry| command, with the exception for occurrences of -% |\thepage|---expansion of |\thepage| will instead be delayed until -% the page is shipped out, so that the page numbers will be right. -% \textbf{Note:} \meta{thenumber} must not contain any formatting that -% will upset the index-sorting program. \package{doc}'s default -% definition of |\theCodelineNo| contains such formatting, so one -% must instead use |\thecodelineno| as \meta{thenumber} in that case. -% -% \meta{encap} is the name of the encapsulation scheme that should be -% applied to \meta{thenumber}. All encapsulation schemes that have been -% implemented instruct the index sorting program to wrap up -% \meta{thenumber} in some code that gives it special formatting when -% the sorted index is written, but one could also use the \meta{encap} -% to specify `beginning of range' and `end of range' index entries. -% Use \GenericDescribePrint{\small\texttt{none}}^^A -% \SortIndex{none}{\texttt{none}\encapchar usage}\texttt{none} as -% \meta{encap} if you don't want any special formatting. -% -% \textbf{Note:} |\IndexEntry| uses |\@tempa| internally, so you -% cannot use that in argument \#2 or \#3. Using it in argument \#1 -% presents no problems, though. -% \begin{macrocode} -\newcommand\IndexEntry[3]{% - \@bsphack - \begingroup - \def\LevelSame##1{\levelchar##1}% - \def\LevelSorted##1##2{\levelchar##1\actualchar##2}% - \protected@edef\@tempa{#1}% - \protected@edef\@tempa{\expandafter\@gobble\@tempa\@empty}% - \@ifundefined{XD@idxencap@#2}{% - \PackageError{xdoc2}{Index entry encap `#2' unknown}\@eha - }{% - \XD@if@index{% - \csname XD@idxencap@#2\endcsname\@tempa{#3}% - }{}% - }% - \endgroup - \@esphack -} -% \end{macrocode} -% |\IndexEntry| does (like |\index|) not contribute any material to the -% current list if indices aren't being made. -% -% |\XD@if@index| is |\@firstoftwo| if index entries are being written -% and |\@second|\-|of|\-|two| if they are not. -% \begin{macrocode} -\let\XD@if@index=\@secondoftwo -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% In \LaTeXplus, the \cs{IndexEntry} command should probably be -% implemented using templates, e.g. the \meta{encap}s could be names of -% instances. -% -% \begin{macro}{\levelsame} -% \begin{macro}{\levelsorted} -% These names were used for |\LevelSame| and |\LevelSorted| -% respectively in prototype version~2.0, but the macros should belong -% to the same capitalization class as |\IndexEntry| so their names -% were changed in prototype version~2.1. The old names |\levelsame| -% and |\levelsorted| will continue to work in \package{xdoc2}, though. -% \begin{macrocode} -%<*xdoc2> -\newcommand*\levelsame{\LevelSame} -\newcommand*\levelsorted{\LevelSorted} -%</xdoc2> -% \end{macrocode} -% \end{macro}\end{macro} -% -% \describecsfamily{XD@idxencap@\meta{encap}}^^A -% Macros in the family |\XD@idxencap@|\meta{encap} takes two -% arguments as follows -% \begin{quote} -% |\XD@idxencap@|\meta{encap}\,\marg{entry}\,\marg{thenumber} -% \end{quote} -% They should write an entry with the \meta{encap} encapsulation of the -% \meta{thenumber} to the index file. They need not check whether index -% generation is on or not, but they must be subject to the \LaTeX\ kernel -% \texttt{@filesw} switch. They must expand both arguments fully at the -% time of the command, with the exception for the control sequence -% |\thepage|, which should not be expanded until the page on which the -% write appears is output. Both these conditions are met if the macro -% is implemented using |\protected@write|. -% -% \begin{macro}{\XD@idxencap@none} -% \begin{macro}{\XD@idxencap@main} -% \begin{macro}{\XD@idxencap@usage} -% These macros implement the encapsulation schemes that are used in -% \package{doc}. -% \begin{macrocode} -\def\XD@idxencap@none#1#2{% - \protected@write\@indexfile{}{\XD@index@keyword{#1}{#2}}% -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@idxencap@main#1#2{% - \protected@write\@indexfile{}% - {\XD@index@keyword{#1\encapchar main}{#2}}% -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@idxencap@usage#1#2{% - \protected@write\@indexfile{}% - {\XD@index@keyword{#1\encapchar usage}{#2}}% -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@index@keyword} -% \changes{prot2.2}{2001/02/13}{Macro added and \meta{encap} macros -% changed to use it. (LH)} -% The |\XD@index@keyword| is a hook for changing the index entry -% keyword (the text that is put in front of every index entry in the -% \texttt{.idx} file). It is changed by e.g.\ the \package{docindex} -% package~\cite{docindex}. -% \begin{macrocode} -\@ifundefined{XD@index@keyword}{% - \edef\XD@index@keyword{\@backslashchar indexentry}% -}{} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\CodelineIndex} -% \changes{prot2.1}{2000/10/08}{Using \cs{thecodelineno}. (LH)} -% \begin{macro}{\PageIndex} -% \begin{macro}{\TheXDIndexNumber} -% The |\CodelineIndex| and |\PageIndex| commands do the same things as -% in \package{doc}, but work with the \package{xdoc} internals instead -% of the \package{doc} ones. |\TheXDIndexNumber| is used as -% \meta{thenumber} argument to |\IndexEntry| by all indexing commands -% that would have used |\special@index| in \package{doc}. -% \begin{macrocode} -\renewcommand\CodelineIndex{% - \makeindex - \let\XD@if@index=\@firstoftwo - \codeline@indextrue - \def\TheXDIndexNumber{\thecodelineno}% -} -% \end{macrocode} -% \begin{macrocode} -\renewcommand\PageIndex{% - \makeindex - \let\XD@if@index=\@firstoftwo - \codeline@indexfalse - \def\TheXDIndexNumber{\thepage}% -} -% \end{macrocode} -% \begin{macrocode} -\def\TheXDIndexNumber{??} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% -% \subsection{Making good sort keys} -% -% \changes{prot2.1}{2000/11/15}{Sort key making commands added. (LH)} -% A common nuisance in \package{doc} indices is that many macros are -% sorted by parts of the name that do not carry any interesting -% information. In the \LaTeX\ kernel many macro names begin with a -% silent |@|, whereas the names of private macros in many packages -% (including this one) begin with some fixed abbreviation of the -% package name. Since such prefixes usually are harder to remember than -% the rest of the macro name, it is not uncommon that the index position -% one thinks of first isn't the one where the macro actually is put. -% Hence a mechanism for removing such annoying prefixes from the macro -% names might be useful, and that is presicely what is defined below. -% -% The actual mechanism is based on having a set of macros called -% \emph{operators} which operate on the harmless character string that -% is to become the sort key. Each operator has a specific prefix string -% which it tries to match against the beginning of the to-be sort key, -% and if they match then the prefix is moved to the end of the sort key. -% Automatically constructed operators (see below) have names of the form -% \describecsfamily{XD@operatorA@\meta{prefix}}|\XD@operatorA@|^^A -% \meta{prefix}, but operators can be given arbitrary names. -% -% \begin{macro}{\XD@operators@list} -% The |\XD@operators@list| macro contains the list of all currently -% active operators. -% \begin{macrocode} -\let\XD@operators@list\@empty -% \end{macrocode} -% \end{macro} -% -% The operators do all their work at expand-time. When an operator -% macro is expanded, it is in the context -% \begin{quote} -% \meta{operator} \meta{subsequent operators} |\@firstofone| -% \meta{sort key text} |\@empty| -% \end{quote} -% There may not be any |\@empty|s or |\@firstofone|s amongst the -% \meta{subsequent operators} or in the \meta{sort key text}. This should -% expand to -% \begin{quote} -% \meta{subsequent operators} |\@firstofone| \meta{operated-on sort -% key text} |\@empty| -% \end{quote} -% The purpose of the |\@firstofone| after the \meta{subsequent -% operators} is to remove any spaces that some operator might have put -% in front of the sort key. This happens if the entire sort key text has -% been ignored by some operator. -% -% \begin{macro}{\MakeSortKey} -% The |\MakeSortKey| command is called to make the acutal sort key. -% The syntax of this command is -% \begin{quote} -% |\MakeSortKey|\marg{macro}\marg{text}\marg{extras} -% \end{quote} -% This locally defines \meta{macro} to be the sort key that the -% currently active operators manufacture from \meta{text}. The -% \meta{extras} argument can contain additional assignments needed for -% handling macros with special harmless forms, such as |\meta|. -% \begin{macrocode} -\newcommand\MakeSortKey[3]{% - \begingroup - \def\PrintChar{\string\PrintChar\XD@threedignum}% - #3% - \unrestored@protected@xdef\@gtempa{#2}% - \endgroup - \protected@edef#1{% - \expandafter\XD@operators@list \expandafter\@firstofone - \@gtempa\@empty - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XD@make@operator} -% The |\XD@make@operator| macro takes a harmless character sequence as -% argument, constructs the corresponding operator, and returns the -% operator control sequence in the |\toks@| token list register. -% -% More precisely, given a harmless character string \meta{string}, -% |\XD@make@operator| will construct a sequence of other tokens -% \meta{text} from \meta{string} by replacing all |\PrintChar| -% commands in the same way as |\MakeSortKey| does. Then it defines the -% macro |\XD@operatorA@|\meta{text} to be -% \begin{quote} -% \raggedright \spaceskip=0.16666em -% \#1\,|\@firstofone|\,\#2\,|\@empty| \ $\rightarrow$ \ % -% |\XD@operatorB@|\meta{text} |\@firstofone| \#2 -% |\@firstofone| \meta{text} |\@firstofone| |\relax| \#1 |\@empty| -% \end{quote} -% and the macro |\XD@operatorB@|\meta{text} to do -% \begin{quote} -% \raggedright -% \#1\,|\@firstofone|\,\meta{text}\,\#2\,|\@firstofone|\,\#3\,^^A -% |\relax|\,\#4\,|\@empty| $\rightarrow$ -% \#4\,\( \left\{ \begin{array}{ll} -% \mbox{\cs{@firstofone}\,\#2\,\textvisiblespace\,\meta{text}\,^^A -% \cs{@empty}}& \mbox{if \#1 is empty}\\ -% \mbox{\#1\,\cs{@empty}}& \mbox{otherwise} -% \end{array} \right.\) -% \end{quote} -% -% \begin{macrocode} -\def\XD@make@operator#1{% - \begingroup - \def\PrintChar{\string\PrintChar\XD@threedignum}% - \let\protect\@gobble - \xdef\@gtempa{#1}% - \endgroup - \expandafter\edef \csname XD@operatorA@\@gtempa\endcsname - ##1\@firstofone##2\@empty{% - \expandafter\noexpand \csname XD@operatorB@\@gtempa\endcsname - \noexpand\@firstofone ##2\noexpand\@firstofone \@gtempa - \noexpand\@firstofone \relax##1\noexpand\@empty - }% - \expandafter\edef \csname XD@operatorB@\@gtempa \expandafter\endcsname - \expandafter##\expandafter1\expandafter\@firstofone \@gtempa - ##2\@firstofone##3\relax##4\@empty{% - \noexpand\ifx $##1$% - \noexpand\expandafter \noexpand\@firstoftwo - \noexpand\else - \noexpand\expandafter \noexpand\@secondoftwo - \noexpand\fi{% - ##4\noexpand\@firstofone ##2 \@gtempa - }{##4##1}% - \noexpand\@empty - }% - \toks@=\expandafter{\csname XD@operatorA@\@gtempa\endcsname}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DoNotIndexBy} -% The |\DoNotIndexBy| command has the syntax -% \begin{quote} -% |\DoNotIndexBy|\marg{morpheme} -% \end{quote} -% It causes the \meta{morpheme} to be put \emph{last} in the index -% sort key for each macro name which begins by \meta{morpheme}. This -% can be used to ignore e.g.\ ``silent'' |@|s at the beginning of a -% macro name. -% \begin{macrocode} -\newcommand\DoNotIndexBy[1]{% - \MakeHarmless\@tempa{#1}% - \XD@make@operator\@tempa - \expandafter\def \expandafter\XD@operators@list \expandafter{% - \the\expandafter\toks@ \XD@operators@list - }% -} -% \end{macrocode} -% \end{macro} -% -% -% -% -% \subsection{Reimplementations of \package{doc} indexing commands} -% -% The \package{doc} indexing commands aren't that interesting in -% \package{xdoc}, since they take `raw' control sequences as -% arguments rather than the harmless strings that the \package{xdoc} -% commands will want to put in the index. But it can be instructive to -% see how they would be implemented in this context. -% -% \begin{macro}{\SortIndex} -% \changes{prot2.2}{2001/02/13}{Redefinition added. (LH)} -% The |\SortIndex| takes a sort key and an entry text as argument, and -% writes a one-level index entry for that. -% \begin{macrocode} -\renewcommand*\SortIndex[2]{% - \IndexEntry{\LevelSorted{#1}{#2}}{none}{\thepage}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\SpecialIndex} -% \begin{macro}{\SpecialMainIndex} -% \begin{macro}{\SpecialUsageIndex} -% The |\SpecialIndex|, |\SpecialMainIndex|, and |\SpecialUsageIndex| -% commands take a control sequence (or more often something which looks -% like a |\string|ed control sequence) as their only argument. The -% entry text is that item verbatim, and the initial backslash is -% ignored in sorting (|\Special|\-|Index| always ignores the first -% character regardless of whether it is a backslash or not, the other -% two checks first). |\Special|\-|Index| has \texttt{none} formatting, -% |\Special|\-|Main|\-|Index| has \texttt{main} formatting, and -% |\Special|\-|Usage|\-|Index| has \texttt{usage} formatting of the -% index number. -% -% Although these definitions will (or at least are supposed to) yield -% the same typeset results as the \package{doc} definitions in the -% mainstream cases, I doubt that they will do so in all cases. At any -% rate, they shouldn't perform worse. -% \begin{macrocode} -\renewcommand\SpecialIndex[1]{% - \expandafter\MakeHarmless \expandafter\@tempa - \expandafter{\string#1}% - \IndexEntry{% - \LevelSorted{% - \expandafter\XD@unbackslash \@tempa\@empty - }{\texttt{\@tempa}}% - }{none}{\TheXDIndexNumber}% -} -% \end{macrocode} -% \begin{macrocode} -\renewcommand\SpecialMainIndex[1]{% - \expandafter\MakeHarmless \expandafter\@tempa - \expandafter{\string#1}% - \IndexEntry{% - \LevelSorted{% - \expandafter\XD@unbackslash \@tempa\@empty - }{\texttt{\@tempa}}% - }{main}{\TheXDIndexNumber}% -} -% \end{macrocode} -% \begin{macrocode} -\renewcommand\SpecialUsageIndex[1]{% - \expandafter\MakeHarmless \expandafter\@tempa - \expandafter{\string#1}% - \IndexEntry{% - \LevelSorted{% - \expandafter\XD@unbackslash \@tempa\@empty - }{\texttt{\@tempa}}% - }{usage}{\thepage}% -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@unbackslash} -% \begin{macro}{\XD@unbackslash@} -% |\XD@unbackslash| is a utility macro which removes the first -% character from a harmless character string if that character is a -% backslash (i.e., if it is |\PrintChar{92}|). The \package{doc} -% commands have traditionally used |\@gobble| for doing this, but the -% \cs{@SpecialIndexHelper@} macro that was comparatively recently added -% tries to do better. -% \begin{macrocode} -\def\XD@unbackslash#1{% - \ifx \PrintChar#1% - \expandafter\XD@unbackslash@ - \else - \expandafter#1% - \fi -} -\def\XD@unbackslash@#1{\ifnum #1=92 \else \PrintChar{#1}\fi} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\SpecialMainEnvIndex} -% \begin{macro}{\SpecialEnvIndex} -% These are similar to the above, but \package{doc} thinks that the -% arguments don't need any special care, and it produces two index -% entries per command. |\Special|\-|Env|\-|Index| should really have -% been called |\Special|\-|Usage|\-|Env|\-|Index|. -% \begin{macrocode} -\renewcommand\SpecialMainEnvIndex[1]{% - \IndexEntry{\LevelSorted{#1}{\texttt{#1} (environment)}}{main}% - {\TheXDIndexNumber}% - \IndexEntry{\LevelSame{environments:}\LevelSorted{#1}{\texttt{#1}}}% - {main}{\TheXDIndexNumber}% -} -% \end{macrocode} -% \begin{macrocode} -\renewcommand\SpecialEnvIndex[1]{% - \IndexEntry{\LevelSorted{#1}{\texttt{#1} (environment)}}{usage}% - {\thepage}% - \IndexEntry{\LevelSame{environments:}\LevelSorted{#1}{\texttt{#1}}}% - {usage}{\thepage}% -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\it@is@a} -% \begin{macro}{\XD@special@index} -% The |\it@is@a| macro is a specialized version of |\SpecialIndex|, -% but the format of its argument is quite different. After full -% expansion the argument will become a single category 12 token -% (\meta{t}, say), and the control sequence for which an entry should -% be made is |\|\meta{t}. \package{doc} uses |\it@is@a| for control -% sequences with one-character names. Note: The following -% definition should really have special code for the \Module{economical} -% \package{docstrip} module, but I don't think that is necessary -% since the \package{doc} macros which used |\it@is@a| will be -% redefined so that they don't. -% -% |\XD@special@index| does the same thing as |\SpecialIndex|, but it -% does it with \package{xdoc} datatypes---the argument must be a -% harmless character string that does not include the initial escape -% (backslash). -% \changes{prot2.1}{2000/11/15}{Using \cs{MakeSortKey} to make the -% sort key. (LH)} -% \begin{macrocode} -\def\it@is@a#1{% - \edef\@tempa{#1}% - \XD@special@index{\csname XD@harmless@\number - \expandafter`\@tempa\endcsname}% -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@special@index#1{% - \MakeSortKey\@tempa{#1}{}% - \IndexEntry{\LevelSorted{\@tempa}{\texttt{\Bslash#1}}}{none}% - {\TheXDIndexNumber}% -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\LeftBraceIndex} -% \begin{macro}{\RightBraceIndex} -% \begin{macro}{\PercentIndex} -% \begin{macro}{\OldMakeIndex} -% More specialised forms of |\SpecialIndex|. The |\OldMakeIndex| -% command can safely be made a no-op. -% \begin{macrocode} -\renewcommand\LeftBraceIndex{\XD@special@index{\PrintChar{123}}} -\renewcommand\RightBraceIndex{\XD@special@index{\PrintChar{125}}} -\renewcommand\PercentIndex{\XD@special@index{\PrintChar{37}}} -\let\OldMakeIndex\relax -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\@wrindex} -% \changes{prot2.2}{2001/02/13}{Redefinition added. (LH)} -% Finally, while we're at redefining indexing commands, let's redefine -% |\@wrindex| as well to ensure that the index entry keyword is the -% same for all indexing commands. -% \begin{macrocode} -\def\@wrindex#1{% - \protected@write\@indexfile{}{\XD@index@keyword{#1}{\thepage}}% - \endgroup - \@esphack -} -% \end{macrocode} -% \end{macro} -% -% -% \section{Cross-referencing} -% -% \subsection{Scanning \texttt{macrocode} for \TeX\ control sequences} -% \label{Ssec:Scanning macrocode} -% -% The cross-referencing mechanism in \package{doc} isn't problematic in -% the same way as the indexing mechanism is, so one could pretty much -% leave it as it is, but there are things that are better done -% differently when the basic indexing commands are based on harmless -% character strings. Rather than storing control sequence names (without -% escape character) as sequences of category 11 tokens, they will be -% stored as the equivalent harmless character strings. -% -% \begin{macro}{\macro@switch} -% As in \package{doc}, |\macro@switch| determines whether the control -% sequence name that follows consists of letters (call |\macro@name|) -% or a single non-letter (call |\short@macro|). Unlike \package{doc}, -% \package{xdoc} accumulates the characters from a multiple-letter -% control sequence name in a token register (|\@toks|), which is why -% that is cleared here. -% \begin{macrocode} -\def\macro@switch{% - \ifcat\noexpand\next a% - \toks@={}% - \expandafter\macro@name - \else - \expandafter\short@macro - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\scan@macro} -% Since |\macro@namepart| isn't used as in \package{doc}, I might as -% well remove the command that cleared it from |\scan@macro|. -% \begin{macrocode} -\def\scan@macro{% - \special@escape@char - \step@checksum - \ifscan@allowed - \def\next{\futurelet\next\macro@switch}% - \else \let\next\@empty \fi - \next} -% \end{macrocode} -% \end{macro} -% -% -% -% \begin{macro}{\short@macro} -% This macro will be invoked (with a single character as parameter) -% when a single-character macro name has been spotted whilst -% scanning within the \texttt{macrocode} environment. It will produce -% an index entry for that macro, unless that macro has been excluded -% from indexing, and it will also typeset the character that -% constitutes the name of the macro. -% \begin{macrocode} -\def\short@macro#1{% - \protected@edef\macro@namepart{% -%<*economical> - \ifnum `#1<\@xxxii - \noexpand\PrintChar{\number`#1}% - \else\ifnum `#1>126 - \noexpand\PrintChar{\number`#1}% - \else -%</economical> - \csname XD@harmless@\number`#1\endcsname -%<economical> \fi\fi - }% - \ifnot@excluded \XD@special@index{\macro@namepart}\fi -% \end{macrocode} -% The cross-referencing mechanism is disabled for when the actual -% character is printed, as it could be the escape character. The index -% entry must be generated before the character is printed to ensure -% that no page break intervenes (recall that a |^^M| will start a new -% line). -% \begin{macrocode} - \scan@allowedfalse #1\scan@allowedtrue -} -% \end{macrocode} -% \end{macro} -% -% There is one mechanism in |\TeX|'s control sequence tokenization that -% |\short@|\B|macro| doesn't cover, and that is the |^^| sequence -% substitution---|\^^M| is (with default catcodes) seen as the three -% tokens |\^|, |^|, and |M|, not as the single control -% sequence token that \TeX\ will make out of it. But this is the way it -% is done in \package{doc}. -% -% -% \begin{macro}{\macro@name} -% \begin{macro}{\more@macroname} -% \begin{macro}{\macro@finish} -% Then there's the macros for assembling a control sequence name which -% consists of one or more letters (category 11 tokens). (This includes -% both the characters which are normally letters in the document and -% those that are made letters by |\MakePrivateLetters|.) They're -% pretty straightforward. -% \begin{macrocode} -\def\macro@name#1{% -%<*economical> - \if \ifnum `#1<\@xxxii 1\else \ifnum `#1>126 1\else 0\fi\fi 1% - \toks@=\expandafter{\the\expandafter\toks@ - \expandafter\PrintChar \expandafter{\number`#1}% - }% - \else -%</economical> - \toks@=\expandafter{\the\expandafter\expandafter\expandafter\toks@ - \csname XD@harmless@\number`#1\endcsname}% -%<economical> \fi - \futurelet\next\more@macroname} -% \end{macrocode} -% \begin{macrocode} -\def\more@macroname{% - \ifcat\noexpand\next a% - \expandafter\macro@name - \else - \macro@finish - \fi -} -% \end{macrocode} -% \begin{macrocode} -\def\macro@finish{% - \edef\macro@namepart{\the\toks@}% - \ifnot@excluded \XD@special@index{\macro@namepart}\fi - \macro@namepart -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% -% -% \subsection{The index exclude list} -% \label{Ssec:Index-exclude} -% -% The index exclude list mechanisms are not quite as simple to convert -% for use with harmless character strings as the construction of macro -% names are. This is because the trick used for searching the exclude -% list for a certain string doesn't work if the string one is looking -% for contains tokens with category 1 or 2 (beginning and end of group), -% as the \meta{parameter text} of a |\def| cannot contain such tokens. -% On the other hand the only groups that can appear in the harmless -% character strings one will be looking for are the ones around the -% argument of some |\PrintChar|, and these can easily be converted to -% something else. Therefore an item in the index exclude list of -% \package{xdoc} will have the format -% \begin{quote} -% |\do|\,\meta{string} -% \end{quote} -% where the \meta{string} is different from a harmless character string -% only in that all |\PrintChar|\marg{num} have been replaced by -% |\PrintChar|\parg{num}. The \meta{string} does not include an escape -% character. The |\do| serves only to separate the item from the one -% before, but it could in principle be used for other purposes as well -% (such as in typesetting the entire exclude list). -% -% \begin{macro}{\XD@paren@PrintChar} -% |\XD@paren@PrintChar| is a definition of |\PrintChar| which, when it -% is used in an |\edef|, merely replaces the group around the argument -% by a parenthesis and normalizes the number in the argument. -% \changes{prot2.1}{2000/09/16}{\cs{number} added. (LH)} -% \begin{macrocode} -\def\XD@paren@PrintChar#1{\noexpand\PrintChar(\number#1)} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DoNotIndex} -% \changes{prot2.1}{2000/09/16}{Also changing catcode of \%. (LH)} -% \begin{macro}{\do@not@index} -% \begin{macro}{\XD@do@not@index} -% These are the macros which add elements to the index exclude list. -% |\DoNotIndex| is pretty much as in \package{doc}, but I have added -% resetting of the catcodes of `|,|' (since |\XD@do@not@index| relies -% on it) and `|#|' (since it can otherwise mess things up for the -% |\def\@tempa| in |\do@not@index|). -% \begin{macrocode} -\renewcommand\DoNotIndex{% - \begingroup - \MakePrivateLetters - \catcode`\#=12\catcode`\\=12\catcode`,=12\catcode`\%=12 - \expandafter\endgroup \do@not@index -} -% \end{macrocode} -% -% |\do@not@index|, on the other hand, is quite different, as it more -% or less has to convert the argument from the format used in -% \package{doc} to that of \package{xdoc}. The bulk of the work is -% done by |\XD@do@not@index|, which grabs one of the elements in the -% argument of |\do@not@index| and converts it (minus the initial -% backslash) to a harmless character string. That harmless character -% string is then converted by |\XD@paren@PrintChar|, so that the -% string can be searched for using |\expanded@notin|. -% -% The reason for using a special loop structure here, as opposed to -% using for example |\@for|, is that one cannot use either of |\| -% or |,| alone as item separators, as they may both be part of control -% sequence names (consider for example |\DoNotIndex{\a,\\,\b,\,,\c}|), -% but they should be sufficient when combined. -% -% The reason for storing new elements in |\toks@| until the end of -% the loop and only then inserting them into the index exclude list -% is speed; the index exclude list can get rather large, so you don't -% want to expand it more often than you have to. I don't know if the -% difference is noticeable, though. -% \begin{macrocode} -\begingroup - \catcode`\|=0 - \catcode`\,=12 - \catcode`\\=12 -% \end{macrocode} -% \SpecialEscapechar{\|} -% \begin{macrocode} - |gdef|do@not@index#1{% - |def|@tempa{#1}% - |ifx |@empty|@tempa |else - |toks@={}% - |expandafter|XD@do@not@index |@gobble #1,\|XD@do@not@index,\% - |fi - } - |gdef|XD@do@not@index#1,\{% - |ifx |XD@do@not@index#1% - |index@excludelist=|expandafter{% - |the|expandafter|index@excludelist |the|toks@ - }% - |expandafter|@gobble - |else - |MakeHarmless|@tempa{#1}% - |begingroup - |let|PrintChar|XD@paren@PrintChar - |unrestored@protected@xdef|@gtempa{|noexpand|do|@tempa}% - |endgroup - |toks@=|expandafter{|the|expandafter|toks@ |@gtempa}% - |fi - |XD@do@not@index - } -|endgroup -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\DoNotIndexHarmless} -% The |\DoNotIndexHarmless| command takes a harmless character string -% as argument and locally adds the control sequence whose name is that -% character string to the index exclude list. -% \begin{macrocode} -\newcommand\DoNotIndexHarmless[1]{% - \begingroup - \let\PrintChar\XD@paren@PrintChar - \unrestored@protected@xdef\@gtempa{\noexpand\do#1}% - \endgroup - \index@excludelist=\expandafter{% - \the\expandafter\index@excludelist \@gtempa - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\index@excludelist} -% In case the index exclude list is not empty, its contents are -% converted to \package{xdoc} format. -% \begin{macrocode} -\edef\@tempa{\the\index@excludelist} -\index@excludelist{} -\ifx \@tempa\@empty \else - \def\@tempb#1,\@nil{\do@not@index{#1}} - \expandafter\@tempb \@tempa \@nil - \let\@tempa\@empty - \let\@tempb\@empty -\fi -% \end{macrocode} -% The fact that the |\XD@|\B|harmless@|\B\meta{code} table has not -% yet reached its final form means that some of these control sequences -% listed in the exclude list might get a different form here than they -% actually should, but there isn't much that can be done about that. It -% is furthermore unusual that control sequence are given such names -% that they would be affected by this. -% \end{macro} -% -% \begin{macro}{\ifnot@excluded} -% The |\ifnot@excluded| macro ultimately boils down to an -% \texttt{if}, which evaluates to true if and only if the string in -% |\macro@namepart| is not one of the items in the index exclude -% list. Before |\expanded@notin| gets to carry out the actual test, -% the |\PrintChar| calls in |\macro@namepart| are converted by -% |\XD@paren@PrintChar| (it's OK to use an unprotected |\edef| for -% this, since |\PrintChar| is the only control sequence that can -% appear in |\macro@namepart|) so that |\expanded@notin| can be used -% to test for its presence. -% \begin{macrocode} -\def\ifnot@excluded{% - \begingroup - \let\PrintChar\XD@paren@PrintChar - \edef\@tempa{\macro@namepart}% - \expandafter\endgroup \expandafter\expanded@notin - \expandafter{\expandafter\do \@tempa\do}% - {\the\index@excludelist}% -} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{External cross-referencing} -% \label{Ssec:XXR} -% -% (This subsection is a bit speculatory, but I think the structures it -% describes may come in handy.) -% -% \changes{prot2}{2000/07/31}{I finally decided that it would be better -% to make the XXR-commands look like comments to \TeX. (LH)} -% -% It's rather easy to write macros for scanning \TeX\ code for the names -% of control sequences---just look for the escape (category 0) -% character, and whatever follows is the name of a control sequence. -% Doing the same thing for other languages may lay anywhere between -% ``a~tricky exercise in advanced \TeX\ programming'' and ``possible in -% theory'',\footnote{I.e., you know it can be implemented as a computer -% program (in some language), you know that any computer program can be -% translated to a Turing machine (or if you prefer that, expressed in -% lambda calculus), and you know that a Turing machine can be emulated -% by \TeX, but that's the closest thing to a solution you've managed to -% come up with.} but in most cases the available solutions turn out to be -% too complicated and\slash or slow to be of practical use. When that -% happens, one might instead want to use some external piece of software -% for doing the cross-referencing. -% -% The commands in this subsection implement basic support for such an -% external cross-referencing program (or XXR,\footnote{Maybe not the -% most logical name, but it looks much cooler than ECR.} for short). The -% idea is that an XXR should communicate with \LaTeX\ like \BibTeX\ -% does---scan the \texttt{.aux} file (or files, if we're |\include|ing -% things) for certain ``commands'' and use them to locate the files to -% cross-reference, get parameter settings (like for example entries for -% the index exclude list), and so on. It should then cross-reference the -% file(s) and write the index entries in a suitable format to some file -% (appending them to the \texttt{.idx} file is probably the easiest -% solution). This way, it is (almost) as simple to use as the built-in -% cross-referencing and the extra work for supporting it is (in -% comparison to not supporting it) negligible. -% -% \begin{xrefcmd}{ExternalXRefMsg} -% \begin{macro}{\SendExternalXRefMsg} -% \changes{prot2}{2000/07/28}{Added \cs{if@filesw} test. (LH)} -% It's hardly possible to predict all kinds of information that one -% might want to give to an XXR, and neither can one assume that -% there is only one XXR program that will read the \texttt{.aux} -% file. A complicated project might involve code in several languages, -% and each language might have its own XXR. -% Therefore the general XXR-command (text in an \texttt{.aux} file which -% is used for communicating information to an XXR) simply has the syntax -% \begin{quote} -% \verb*|%%ExternalXRefMsg |\marg{who}\verb*| |\marg{what} -% \end{quote} -% \meta{who} identifies the XXR this message is meant for. It must be -% balanced text to \TeX\ and may not contain any whitespace, but can -% otherwise be rather arbitrary. \meta{what} is the actual message. It -% too must be balanced text to \TeX\ and it may not contain any -% newlines, but it is otherwise arbitrary. -% \index{whitespace restrictions}^^A -% The reason for these restrictions on the contents of \meta{who} and -% \meta{what} is that many (maybe even most) scripting languages -% (which is what at least the \texttt{.aux}-scanning part of an -% XXR will probably be written in) are much better at recognising -% words on a line than they are at recognising a brace-delimited group. -% By accepting these restrictions, one can make sure that all XXRs can -% correctly determine whether a message is for them, even if they see -% the \texttt{.aux} file as a sequence of lines composed of -% whitespace-delimited words. -% -% |\SendExternalXRefMsg| is the basic command for writing -% |ExternalXRefMsg|s to the \texttt{.aux} file, but it might be -% recommendable that XXR writers provide users with a set of commands -% that have more specific purposes. The syntax of the -% |\Send|\-|External|\-|XRef|\-|Msg| command is (hardly surprising) -% \begin{quote} -% |\SendExternalXRefMsg|\marg{who}\marg{what} -% \end{quote} -% |\SendExternalXRefMsg| does a protected full expansion (like -% |\protected@edef|) of its arguments at the time it is called. -% \begin{macrocode} -\newcommand\SendExternalXRefMsg[2]{% - \begingroup - \if@filesw - \let\protect\@unexpandable@protect - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefMsg {#1} {#2}}% - \fi - \endgroup -} -% \end{macrocode} -% \end{macro}\end{xrefcmd} -% -% The remaining commands in this subsection address complications that -% exist because of how \texttt{.dtx} files are generally written, and -% thus constitutes difficulties that all XXRs will have to face. -% -% \begin{xrefcmd}{ExternalXRefFile} -% The usual way to write \texttt{.dtx} files is to include a -% driver---a~short piece of uncommented \LaTeX\ code which contains -% the necessary preamble material and a document body which mainly -% contains a |\DocInput| for the \texttt{.dtx} file itself---but it -% is also usually understood that this driver may be copied to another -% file if necessary and larger projects usually have a completely -% separate driver file. Therefore an XXR cannot be expected to be -% able to find the file(s) to cross-reference simply by changing -% suffix on the name of the \texttt{.aux} file it reads its commands -% from. A more intricate method must be used. -% -% To tell the XXR that ``here I input the file \dots'', one includes -% an |External|\-|XRef|\-|File| XXR-command in the \texttt{.aux} file. -% Its syntax is -% \begin{quote} -% \verb*|%%ExternalXRefFile |\marg{cmd}\verb*| |\marg{file}^^A -% \verb*| |\marg{what} -% \end{quote} -% \meta{file} is the name (as given to |\input| or the like) of the -% file to input. \meta{cmd} is either \texttt{begin} (begin of -% \meta{file}) or \texttt{end} (end of \meta{file}). \meta{what} is a -% declaration of what is in the file; XXRs should use it to determine -% whether they should process this file or not. \meta{what} is empty -% if all XXRs should process the file, but for example |\IndexInput| -% will put \texttt{TeX} here to declare that the contents of this file -% are \TeX\ code and only XXRs that cross-reference \TeX\ code need to -% process this file. -% -% In connection to this, it should be mentioned that XXRs must also look -% for (and act on) |\@input|\penalty\hyphenpenalty\marg{auxfile} commands -% that |\include| or |\DocInclude| has written to the \texttt{.aux} file, -% since these \meta{auxfile}s can also contain commands for the XXR -% that should result in output to the same \texttt{.idx} file. In -% particular, the |ExternalXRefFile| XXR-commands that are written -% because of a |\DocInclude| will be written to such an \meta{auxfile}. -% \end{xrefcmd} -% -% \begin{xrefcmd}{ExternalXRefSync} -% Most XXRs will probably find it an unreasonable task to keep exact -% track of all codelines in all documents, i.e., they will sometimes -% think that a piece of code contains more or fewer numbered -% codelines than it actually does. If for example a document contains -% code such as\iffalse -%<*example> -% \fi -%\begin{verbatim} -%% \iffalse -%% \begin{macrocode} -%Etaoin Shrldu -%% \end{macrocode} -%% \fi -%\end{verbatim}\iffalse -%</example> -%\fi -% then all reasonable XXRs will probably be fooled into thinking that -% the \texttt{Etaoin Shrldu} line is a numbered codeline. This would -% of course be very bad if an XXR thought it should cross-reference -% the contents of this line, but that shouldn't usually be a problem -% since the specifications\footnote{I imagine these specifications -% will consist of a list of \package{docstrip} options (modules), -% possibly used in combination with restrictions on the names of -% surrounding environments.} of what code should be cross-referenced -% will probably make it clear that the above line should not be -% cross-referenced. Code such as the above will still be problematic -% however, as it will cause the XXR to believe that the -% \texttt{codelineno} counter has another value on any following -% line that is indexed than it actually has in the typeset -% document. This will cause index entries to refer to another line -% than it actually should. -% -% To overcome this, the |ExternalXRefSync| XXR-command can be used to -% tell the XXR what the corresponding values of |\inputlineno| and -% \texttt{codelineno} are. Its syntax is -% \begin{quote} -% \verb*|%%ExternalXRefSync |\marg{inputlineno}\verb*| |^^A -% \marg{codelineno} -% \end{quote} -% where \meta{inputlineno} is the expansion of |\the\inputlineno| and -% \meta{codelineno} is the expansion of |\thecodelineno|, both -% expanded at the same point in the program. Note here that the first -% line of a file is line number 1, that line number 0 is used to -% denote ``just before the first line'', and that \texttt{codelineno} -% gets increased immediately before the number is typeset (i.e., -% \texttt{codelineno} contains the number of the last numbered -% codeline). -% \end{xrefcmd} -% -% This doesn't support external cross-referencing by pages, since doing -% that requires that the document outputs a lot more information to the -% \texttt{.aux} file. In principle, one could put a |\mark|\penalty0 -% |{\thecodelineno}| in |\PrintCodelineNo| and a |\write| in the page -% header which outputs to the \texttt{.aux} file which range of -% codelines correspond to a given page, but the \LaTeXe\ sectioning -% commands' use of marks tends to interfere with this. The \LaTeXplus\ -% package \package{xmarks} will probably solve that problem, though. -% -% \begin{macro}{\syncexternalxref} -% \changes{prot2}{2000/07/28}{New name for \cs{SendExternalXRefSync}. -% Also added \cs{if@filesw} test. (LH)} -% ^^A Johann Sebastian Bach: 1685/03/21--1750/07/28 -% The |\syncexternalxref| command writes an |ExternalXRefSync| -% XXR-command for the current line number and value of the -% \texttt{codelineno} counter to \texttt{.aux} file. It is used for -% synchronizing the numbered codeline counter that an XXR maintains with -% the \texttt{codelineno} counter that is used for numbering codelines -% in the typeset document after a piece of code in the document that -% some XXR is likely to misinterpret. |\sync|\-|external|\-|xref| -% shouldn't be used inside \texttt{macrocode} environments (or the -% like) as they tend to read ahead in the file---instead it is best -% placed shortly after such an environment. |\sync|\-|external|\-|xref| -% has no arguments. -% \begin{macrocode} -\newcommand\syncexternalxref{% - \if@filesw - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefSync {\the\inputlineno} {\thecodelineno}% - }% - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{xrefcmd}{ExternalXRefWrap} -% The |\DocInclude| command complicates matters for XXRs by redefining -% things so that the \texttt{codelineno} counter only makes up a part -% of the line numbers appearing in the index. The purpose of the -% |External|\-|XRef|\-|Wrap| XXR-command is to inform XXRs about such -% changes. The command -% \begin{quote} -% \verb*|%%ExternalXRefWrap {|\meta{prefix}\verb*|} {|^^A -% \meta{suffix}|}| -% \end{quote} -% means that codeline numbers written to the index should have the form -% \begin{quote} -% \meta{prefix}\meta{codelineno}\meta{suffix} -% \end{quote} -% This setting takes effect from the next |External|\-|XRef|\-|Sync| -% and stays in effect until the end of the document or until another -% |External|\-|XRef|\-|Wrap| overrides it. The state at the beginning -% of the document is to have both \meta{prefix} and \meta{suffix} -% empty. -% \end{xrefcmd} -% -% -% \begin{macro}{\XD@input} -% The |\XD@input| command is a version of |\input| which takes care -% to inform XXRs that another file is being |\input|ted. Its syntax is -% \begin{quote} -% |\XD@input|\marg{file}\marg{what} -% \end{quote} -% where \meta{file} is the name of the file to |\input| and \meta{what} -% is the contents of the file, as specified in -% |External|\-|XRef|\-|File| commands. -% \begin{macrocode} -\def\XD@input#1#2{% - \if@filesw - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefFile {begin} {#1} {#2}% - }% - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefSync {0} {\thecodelineno}% - }% - \fi - \input{#1}% - \if@filesw - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefFile {end} {#1} {#2}% - }% - \immediate\write\@auxout{\@percentchar\@percentchar - ExternalXRefSync {\the\inputlineno} {\thecodelineno}% - }% - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DocInput} -% The |\DocInput| command is redefined so that it writes -% |External|\-|XRef|\-|File| and |External|\-|XRef|\-|Sync| XXR-commands -% to the \texttt{.aux} file. Furthermore, with \package{xdoc} one -% should always use the |\DocInput| command (or some command based on -% it, like |\DocInclude|) for inputting a file where percent is an -% `ignore' character---even when one such file inputs another. (Doing -% that didn't work with the \package{doc} definition, as it always -% called |\MakePercentComment| upon return, but the \package{xdoc} -% definition contains code for dealing with that.) -% \begin{macrocode} -\renewcommand\DocInput[1]{% - \relax - \ifnum \catcode`\%=14 - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi{% - \MakePercentIgnore\XD@input{#1}{}\MakePercentComment - }{\XD@input{#1}{}}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\IndexInput} -% The |\IndexInput| command also needs to be redefined to write -% XXR-commands to the \texttt{.aux} file. It would -% probably be enough here to write an |External|\-|XRef|\-|Sync| -% after the file has been |\input| since no external -% cross-referencing of |\IndexInput|ted files is needed, but I do the -% more verbose variant here just to exemplify how these things would -% look for other languages. -% \begin{macrocode} -\renewcommand\IndexInput[1]{% - \begingroup - \macro@code - \frenchspacing - \@vobeyspaces - \XD@input{#1}{TeX}% - \endmacrocode - \endgroup -} -% \end{macrocode} -% \end{macro} -% -% -% -% \section{Two-sided printing} -% \label{Sec:Twoside} -% -% The main problem one faces when reimplementing \package{doc} so that -% the marginal material always appears in the outer margin in two-sided -% documents is that the justification of \package{doc}'s marginal -% material is asymmetric; it always extends outwards. This means that -% the justification to use when typesetting the marginal material must -% depend on whether it is to be put on a left or a right -% page---something which cannot be determined for sure when the -% material is typeset! This is a minor difficulty if the marginal material -% is put in place using \LaTeX's |\marginpar| command, as that allows the -% user to supply different versions of the marginal paragraph for left and -% right margin placements. It is however a major difficulty if the -% marginal material is displaced out into the margin from within the main -% galley (like the \texttt{macro} environment of \package{doc} does), -% since the output routine is never involved. -% -% Even though this difficulty provides arguments for using a |\marginpar| -% mechanism for all text that is put in the margin, that will not be -% done in \package{xdoc} (but maybe it will in some successor). -% Instead \package{xdoc} contains a general mechanism which uses data -% written to the \texttt{.aux} file for determining whether a piece of -% text was put on an odd or even numbered page the \emph{last} time the -% document was typeset. By the usual convergence of page breaks in a -% \LaTeX\ document, this will eventually produce a typeset document -% with the marginal material consistently in the outer margin. -% -% The mechanism works as follows. The places in the document (the -% document source) at which it is necessary to determine whether -% something is going to appear on an even (left) or an odd (right) page -% are called ``page situations''\footnote{I know it's not a particularly -% good name. Suggestions for better names are gracefully accepted.} or -% just ``situations''. In each situation, a relatively simple test (is -% the \texttt{page} counter currently even or odd?) which is right more -% often than not is used as a first guess, and both the guess, the -% placement actually used, and the correct answer (determined from the -% value of \texttt{page} when the piece of text is shipped out) are -% recorded in the \texttt{.aux} file. If the guess (for the current -% situation) coincided with the correct answer the last time the -% document was typeset then the guess determined now is used, otherwise -% the opposite of the guess determined now is used. Finally, when at -% |\end{document}| the \texttt{.aux} file is inputted to check for -% changed labels, the placements used are also checked and the user is -% given a suitable warning if there was an incorrect one. -% -% \begin{macro}{\IfOddPageSituation} -% The |\IfOddPageSituation| macro is the user level test for whether -% the current page situation appears on an odd or an even page. It -% has the syntax -% \begin{quote} -% |\IfOddPageSituation|\marg{odd}\marg{even} -% \end{quote} -% and this will expand to \meta{odd} if the current situation is -% expected to end up on an odd page (based on how correct it was to -% look at the value of \texttt{page} last time) and to \meta{even} -% otherwise. In single-sided mode, it always expands to \meta{even}. -% In two-sided mode, |\IfOddPageSituation| is redefined for the new -% situation each time |\StepPageSituation| is called. -% \begin{macrocode} -\let\IfOddPageSituation=\@secondoftwo -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\StepPageSituation} -% \changes{prot2.1}{2000/12/19}{Now also setting -% \cs{IfOddPageSituation}, instead of having that macro performing -% the test each time it is used. This fixes a rarely occuring bug -% which occurs when a page is shipped out between -% \cs{StepPageSituation} and a corresponding -% \cs{IfOddPageSituation}. (LH)} -% \begin{macro}{\macro@cnt} -% \begin{macro}{\XD@next@wrong} -% \begin{macro}{\XD@wrongs@list} -% The |\StepPageSituation| command is called to inform the page -% situation mechanism that a new situation has begun. The rule for -% when you need to use |\Step|\-|Page|\-|Situation| is simple: if you -% use |\IfOdd|\-|Page|\-|Situation| in two places which may end up on -% different pages, then there must be a |\Step|\-|Page|\-|Situation| -% between them. There is no code which automatically calls -% |\Step|\-|Page|\-|Situation|---not even |\clearpage| or other -% macros which force page breaks do this---hence macros which use -% the page situation mechanism must always call |\Step|\-|Page|\-^^A -% |Situation| explicitly when a new situation begins. -% -% Since the |\macro@cnt| count register isn't used for stacking -% marginal headings (``macro'' names) anymore (see below), it is -% employed for enumerating page situation. |\XD@next@wrong| is a macro -% which contains the number of the next situation in which the guess -% was wrong last time. Unless |\XD@next@wrong|${}={}$|\macro@cnt|, the -% guess was right last time. All assignments to |\macro@cnt| and -% |\XD@next@wrong| are global. -% -% |\XD@wrongs@list| is a list of all the wrong guesses. It has the -% syntax -% \begin{quote} -% |\@elt|\marg{guess no.}|\@elt|\marg{guess no.}\dots -% |\@elt|\marg{guess no.} -% \end{quote} -% where the \meta{guess no.}s are the numbers of the wrong guesses, in -% increasing order. The contents of |\XD@wrongs@list| are collected -% when the \texttt{.aux} file is inputted at |\begin|\B|{document}|, -% and they are removed again as \TeX\ passes the situation in the -% document that they apply to. All assignments to |\XD@wrong@list| are -% global. -% -% Calling |\StepPageSituation| increases |\macro@cnt| by one, -% updates |\XD@|\B|next@|\B|wrong| and |\XD@|\B|wrong@|\B|list| -% appropriately, and sets |\IfOdd|\B|Page|\B|Situation| to -% |\@firstoftwo| or |\@secondoftwo| (whichever is correct for this -% situation). |\@next| is a list management macro from the \LaTeX\ -% kernel. -% \begin{macrocode} -\if@twoside - \def\StepPageSituation{% - \global\advance \macro@cnt \@ne - \ifnum \XD@next@wrong<\macro@cnt - \global\@next\XD@next@wrong\XD@wrongs@list{}{% - \let\XD@next@wrong\maxdimen - }% - \fi - \ifnum \ifodd\c@page -\fi \@ne=% - \ifnum \XD@next@wrong=\macro@cnt -\fi \@ne - \global\let\IfOddPageSituation\@secondoftwo - \else - \global\let\IfOddPageSituation\@firstoftwo - \fi - } - \def\XD@next@wrong{-\maxdimen} - \let\XD@wrongs@list\@empty -\else - \let\StepPageSituation=\relax -\fi -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% -% \begin{macro}{\RecordPageSituation} -% The |\RecordPageSituation| command generates a |\write| whatsit node -% which records the outcome of the current page situation. It is the -% location of this whatsit node that determines on which page a -% certain situation is considered to occur. If you don't execute this -% macro for a certain page situation, the first guess will always be -% used for that situation and no warnings will be given if that guess -% is incorrect. In single-sided mode, this is a no-op (thus you should -% better place it somewhere where it doesn't affect spacing). -% Furthermore you must make sure that \TeX\ does not change the value -% of the \texttt{page} counter between a |\StepPageSituation| and its -% corresponding |\RecordPageSituation|, since the |\ifodd| test must -% yield the same result in both cases. -% -% \begin{macrocode} -\if@twoside - \def\RecordPageSituation{% - \if@filesw - \edef\@tempa{% - \string\XD@situation{\the\macro@cnt}{% - \ifodd\c@page 1\else 0\fi - }{\IfOddPageSituation{1}{0}}% - }% - \write\@auxout\expandafter{\@tempa{\ifodd\c@page 1\else 0\fi}}% - \fi - }% -\else - \let\RecordPageSituation=\relax -\fi -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\XD@situation} -% \changes{prot2}{2000/07/13}{Changed to allow multiple -% \cs{XD@situation} commands for the same situation. This is -% necessary for coping with documents which \cs{include} files. (LH)} -% \changes{prot2}{2000/07/26}{Made redefinition at begin document -% global. (LH)} -% \begin{macro}{\XD@check@situation} -% |\XD@situation| is the command that will be written to the -% \texttt{.aux} file with the data about how the situation turned out. -% Its syntax is -% \begin{quote} -% |\XD@situation|\marg{number}\marg{guess}\marg{did}\marg{correct} -% \end{quote} -% where \meta{number} is the number of the situation, and -% \meta{guess}, \meta{did}, and \meta{correct} describe what the -% guess, the actual action done, and what the correct action to do -% respectively was. \meta{guess}, \meta{did}, and \meta{correct} are -% either |0| (denoting even page) or |1| (denoting odd page). -% -% The definition for |\XD@situation| set here is the one which will -% be in force when the \texttt{.aux} file is inputted at |\begin|\B -% |{document}|; its purpose is to build the |\XD@wrongs@list|. -% |\XD@check@situation| is the definition for |\XD@situation| which -% will be in force when the \texttt{.aux} file is inputted at -% |\end|\B|{document}|; its purpose is to check if anything was -% incorrectly placed. -% -% The main problem |\XD@situation| has to face is that text in the -% \texttt{.dvi} file needs not appear in exactly the same order as it -% was typeset, and it is therefore possible that |\XD@situation|s in -% the \texttt{.aux} file do not appear in increasing \meta{number} -% order. Because of this, |\XD@situation| must sort the -% |\XD@wrongs@list| while constructing it. The only reasonable -% algorithm for this seems to be insertion sort, but as the items to -% insert are almost surely almost sorted, a special check is done in -% the beginning to see if that is the case. |\XD@next@wrong| is used -% in this to store the number of the last item so far inserted into -% the |\XD@wrongs@list|. By only assigning |\XD@next@wrong| locally -% here, one is relieved of having to reset it in |\AtBeginDocument| -% code. -% -% When sorting is actually applied, a new item |\@elt|\marg{insert} -% is inserted through expanding the list. When doing that, the |\@elt| -% macro has the syntax -% \begin{quote} -% |\@elt|\,\meta{flag}\,\marg{number}\,\meta{next} -% \end{quote} -% where \meta{flag} is |\BooleanTrue| or |\BooleanFalse|, \meta{number} -% is the item that the |\@elt| belong to, and \meta{next} is either the -% next |\@elt| or |\@gobble| (if this is the last). The \meta{flag} -% specifies whether the item has been inserted; |\Boolean|\B|True| means -% that it has. The above |\@elt|-sequence will expand to -% \begin{quote} -% |\noexpand|\,|\@elt|\,\marg{number}\,\meta{next}\,|\BooleanTrue| -% \end{quote} -% if \meta{flag} is |\BooleanTrue|, or \meta{flag} is |\BooleanFalse| -% and \meta{number} is equal to \meta{insert}. It will expand to -% \begin{quote} -% |\noexpand|\,|\@elt|\,\marg{number}\,\meta{next}\,|\BooleanFalse| -% \end{quote} -% if \meta{flag} is |\BooleanFalse| and \meta{number} is less than -% \meta{insert}. It expands to -% \begin{quote} -% |\noexpand|\,|\@elt|\,\marg{insert}\,|\noexpand|\,|\@elt|^^A -% \,\marg{number}\\ -% \meta{next}\,|\BooleanTrue| -% \end{quote} -% if \meta{flag} is |\BooleanFalse| and \meta{number} is greater than -% \meta{insert}. -% -% \begin{macrocode} -\if@twoside - \def\XD@situation#1#2#3#4{% - \if #2#4\else - \ifnum #1<\XD@next@wrong - \begingroup - \def\@elt##1##2##3{% - \noexpand\@elt - \ifcase - \ifx ##1\BooleanTrue 0% - \else\ifnum ##2<#1 1% - \else\ifnum ##2>#1 2% - \else 0% - \fi\fi\fi - \space - {##2}\expandafter\@secondoftwo - \or - {##2}\expandafter\@firstoftwo - \else - {#1}\noexpand\@elt{##2}\expandafter\@secondoftwo - \fi{##3\BooleanFalse}{##3\BooleanTrue}% - }% - \xdef\XD@wrongs@list{% - \expandafter\expandafter \expandafter\@elt - \expandafter\@firstoftwo \expandafter\BooleanFalse - \XD@wrongs@list \@gobble - }% - \endgroup - \else\ifnum #1>\XD@next@wrong - \def\XD@next@wrong{#1}% - \expandafter\gdef \expandafter\XD@wrongs@list - \expandafter{\XD@wrongs@list \@elt{#1}}% - \fi\fi - \fi - } - \def\XD@check@situation#1#2#3#4{% - \if #3#4\else - \PackageWarningNoLine{xdoc2}{Page breaks may have changed.% - \MessageBreak Rerun to get marginal material right}% - \let\XD@situation\@gobblefour - \fi - } - \AtBeginDocument{\global\let\XD@situation\XD@check@situation} -\else - \let\XD@situation\@gobblefour -\fi -% \end{macrocode} -% \end{macro}\end{macro} -% -% -% \begin{macro}{\XD@set@situation} -% \begin{macro}{\XD@write@situation@ckpt} -% \begin{macro}{\cl@@ckpt} -% The page situation counter |\macro@cnt| is closely related to the -% \texttt{page} counter and it needs to be among the counters whose -% values are recorded in |\include| checkpoints, since the enumeration -% of situations will otherwise change when files are added to or -% removed from the |\@partlist|. It is not sufficient to simply set -% the value of |\macro@cnt| however; one must also advance to the -% correct position in the |\XD@wrongs@list| list and set -% |\XD@next@wrong| accordingly. The |\XD@set@situation| command has -% the syntax -% \begin{quote} -% |\XD@set@situation|\marg{number} -% \end{quote} -% It sets |\macro@cnt| to \meta{number} and updates |\XD@wrongs@list| -% and |\XD@|\B|next@|\B|wrong| accordingly. -% \begin{macrocode} -\if@twoside - \def\XD@set@situation#1{% - \global\macro@cnt=#1\relax - \loop \ifnum \XD@next@wrong<\macro@cnt - \global\@next\XD@next@wrong\XD@wrongs@list{}{% - \let\XD@next@wrong\maxdimen - }% - \repeat - } -\else \let\XD@set@situation=\@gobble \fi -% \end{macrocode} -% -% The |\XD@write@situation@ckpt| macro writes an |\XD@set@situation| -% command to the \texttt{.aux} file in the way that |\@wckptelt| -% writes |\setcounter| commands for normal counters. A problem for -% |\XD@write@situation@ckpt| is that it will have to appear in a -% macro which is regularly subjected to the |\xdef| in |\@cons|. For -% that reason, it will simply expand to itself whenever |\@elt| isn't -% |\@wckptelt|. -% \begin{macrocode} -\if@twoside - \def\XD@write@situation@ckpt{% - \ifx \@elt\@wckptelt - \immediate\write\@partaux{% - \string\XD@set@situation{\the\macro@cnt}% - }% - \else - \noexpand\XD@write@situation@ckpt - \fi - } - \expandafter\def \expandafter\cl@@ckpt - \expandafter{\cl@@ckpt \XD@write@situation@ckpt} -\fi -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% -% -% \section{The list of changes} -% \label{Sec:Changes} -% -% Reimplementations elsewhere have required a few modifications related -% to the |\changes| command. There are a lot of other things that could -% and perhaps should be done with these mechanisms, though. -% -% \begin{macro}{\saved@macroname} -% The contents of the |\saved@macroname| macro now have the syntax -% \begin{quote} -% \marg{sort key}\marg{text} -% \end{quote} -% i.e., exactly like the argument sequence of |\LevelSorted|. It's not -% fed to that macro right now, but it is not unlikely that it will in -% the future. The default definition corresponds to the default -% definition in \package{doc}. -% \begin{macrocode} -\def\saved@macroname{{ }{\generalname}} -% \end{macrocode} -% Unlike the case in \package{doc}, the formatting of the text in -% |\saved@macroname| must be included. -% \end{macro} -% -% \begin{macro}{\if@version@key@} -% The |@version@key@| switch is used for supporting intelligent -% sorting of version numbers. It is normally false, but at times -% where the version number argument of |\changes| is being expanded -% because it will be used as a sort key then it is true. This is used -% by the |\uintver| macro. Assignments to this switch are as a rule -% global, since it is never true for any longer time. -% \changes{prot2.4}{2002/11/01}{Switch added. (LH)} -% \begin{macrocode} -\newif\if@version@key@ -\@version@key@false -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\uintver} -% The |\uintver| command can be used in the \meta{version} argument -% of |\changes| to ensure that (unsigned) integers are sorted in -% mathematical rather than ASCII order by \package{makeindex}. Thus -% if for example version |1.10| is later than version |1.9| then one -% should write this as -% \begin{quote} -% |\changes{1.\uintver{10}}{|\dots -% \end{quote} -% The general syntax is -% \begin{quote} -% |\uintver|\marg{number} -% \end{quote} -% and this expands completely in \TeX's mouth. -% \changes{prot2.4}{2002/11/01}{Command added. (LH)} -% -% The idea is that 0--9 are compared as 0--9, whereas 10--99 are -% compared as A10--A99, 100--999 are compared as B100-B999, and so on. -% The comparisons are correct up to 99999, but it could easily be -% extended further. -% \begin{macrocode} -\newcommand*\uintver[1]{% - \if@version@key@ - \ifnum #1>9 - \ifnum #1<100 - A% - \else\ifnum #1<\@m - B% - \else\ifnum #1<\@M - C% - \else - D% - \fi\fi\fi - \fi - \fi - \expandafter\@firstofone \expandafter{\number#1}% -} -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\changes@} -% This |\changes@| is a simple redefinition of the \package{doc} -% macro with the same name. The main difference is that all -% formatting of the second entry level has been taken out---it is -% supposed to be provided in |\saved@macroname|---but in addition to -% that the date is being used as a third level sort key and |\uintver| -% may be used in the version number to correct the data. -% \changes{prot2.4}{2002/11/01}{Added support for \cs{uintver}. (LH)} -% -% The former makes more sense for projects where the date is -% increased faster than the version number and it doesn't change -% anything relevant in the remaining cases. The latter is necessary -% if version numbers are assigned for example by CVS. -% \begin{macrocode} -\def\changes@#1#2#3{% - \global\@version@key@true - \protected@edef\@tempa{#1}% - \global\@version@key@false - \protected@edef\@tempa{% - \noexpand\glossary{% - \@tempa\actualchar#1\levelchar - \expandafter\@firstoftwo\saved@macroname\actualchar - \expandafter\@secondoftwo\saved@macroname:\levelchar - #2\actualchar#3% - }% - }% - \@tempa - \endgroup - \@esphack -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@wrglossary} -% \changes{prot2.2}{2001/02/13}{Redefinition added. (LH)} -% \begin{macro}{\XD@glossary@keyword} -% \changes{prot2.2}{2001/02/13}{Macro added. (LH)} -% The |\@wrglossary| macro is the one which actually writes entries -% to the \texttt{.glo} file. It is redefined by \package{xdoc} to put -% the contents of |\XD@glossary@keyword|, rather than a hardwired -% |\glossaryentry|, in front of the glossary entry. -% |\XD@glossary@keyword| is redefined by the \package{docindex} -% package~\cite{docindex}. -% \begin{macrocode} -\def\@wrglossary#1{% - \protected@write\@glossaryfile{}% - {\XD@glossary@keyword{#1}{\thepage}}% - \endgroup - \@esphack -} -\@ifundefined{XD@glossary@keyword}{% - \edef\XD@glossary@keyword{\@backslashchar glossaryentry}% -}{} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\definechange} -% \begin{macro}{\XD@definechange} -% The |\definechange| command has the syntax -% \begin{quote} -% |\definechange|\marg{name}\marg{version}\marg{date}\marg{text} -% \end{quote} -% The three last arguments are precisely like the arguments of -% |\changes|, but |\definechange| doesn't write the change to the -% \texttt{.glo} file; instead it stores them away as the ``named -% change'' \meta{name}, for later use in the |\usechange| command. -% \begin{macrocode} -\newcommand\definechange{% - \begingroup\@sanitize - \catcode`\\\z@ \catcode`\ 10 \MakePercentIgnore - \expandafter\endgroup \XD@definechange -} -\def\XD@definechange#1#2#3#4{\@namedef{XD@ch-#1}{{#2}{#3}{#4}}} -% \end{macrocode} -% \end{macro}\end{macro} -% -% The named changes are stored in the -% \describecsfamily{XD@ch-\meta{name}}|\XD@ch-|\meta{name} family of -% control sequences. These are parameterless macros with replacement -% texts of the form -% \begin{quote} -% \marg{version}\marg{date}\marg{text} -% \end{quote} -% -% \begin{macro}{\usechange} -% \begin{macro}{\XD@usechange} -% \changes{prot2.4}{2002/11/01}{Added support for \cs{uintver}. (LH)} -% To use a named change defined earlier, one of course uses the -% command |\usechange|, which has the syntax -% \begin{quote} -% |\usechange|\marg{name} -% \end{quote} -% The effect of this is similar to that of a general |\changes| -% (i.e., it appears outside all \texttt{macro}-like environments) with -% the arguments specified in the |\definechange|, but this also -% includes the macro (or whatever) name with the page number, using -% the encapsulation mechanism in \package{makeindex}. -% \begin{macrocode} -\newcommand*\usechange[1]{% - \@ifundefined{XD@ch-#1}{% - \PackageError{xdoc2}{Named change `#1' undefined}\@eha - }{% - \expandafter\expandafter \expandafter\XD@usechange - \csname XD@ch-#1\endcsname - }% -} -\def\XD@usechange#1#2#3{% - \def\@tempa{{ }{\generalname}}% - \ifx \@tempa\saved@macroname - \let\@tempa\@empty - \else - \protected@edef\@tempa{% - \encapchar labelednumber% - {\expandafter\@secondoftwo\saved@macroname}% - } - \fi - \global\@version@key@true - \protected@edef\@tempb{#1}% - \global\@version@key@false - \glossary{% - \@tempb\actualchar #1\levelchar - \space\actualchar\generalname:\levelchar - #2\actualchar#3\@tempa - }% -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\labelednumber} -% The |\labelednumber| macro belongs to the same category as the -% |\main| and |\usage| macros, but it takes an extra argument. The -% syntax is -% \begin{quote} -% |\labelednumber|\marg{extra}\marg{number} -% \end{quote} -% which typesets as -% \begin{quote} -% \meta{number} (\meta{extra}) -% \end{quote} -% \begin{macrocode} -\newcommand*\labelednumber[2]{#2\nolinebreak[2] (#1)} -% \end{macrocode} -% \end{macro} -% -% -% -% \section{\texttt{macro}-like environments} -% \label{Sec:Macro-environments} -% -% There are several reasons one might want to improve the \texttt{macro} -% and \texttt{environment} environments. -% \begin{itemize} -% \item -% The code in them cannot be reused if you want to define other -% things than \TeX\ macros or \LaTeX\ environments. (During the -% last year or so, I have defined \texttt{macro}-like environments -% for over a dozen different things.) -% \item -% They always put the macro\slash environment name to the left of -% the current column. This is inappropriate for two-sided printing, -% as there should be a symmetry over an entire spread in that case. -% \item -% The vertical extent of a macro\slash environment name must not -% exceed that of the |\strut|, since they will otherwise overprint -% each other when stacked. In particular this makes it impossible to -% make line breaks in macro names---something which would otherwise -% be of interest in projects (such as for example \cite{fontinst}) -% where some names are very long and obvious breakpoints are -% available. -% \end{itemize} -% (I'm quite sure there are more things that have annoyed me, but I can't -% remember which they are right now.) The redefinitions below take care -% of the all these problems. -% -% -% \subsection{Grabbing arguments} -% -% A special feature of the \texttt{macro}-like environments is that (at -% least some) of their arguments must be given rather special treatment. -% This special treatment usually consists of making temporary |\catcode| -% changes for the time these arguments are tokenized---since the standard -% |\catcode|s for some important characters tend to be unsatisfactory in -% these cases---but there are other possibilities as well. For that -% reason, the \package{xdoc} package employs a mechanism that is very -% similar to that used in the Mittelbach--Rowley--Carlisle -% \package{xparse} package~\cite{xparse}, although it does not share -% any code with that. I call this mechanism the argument grabber. -% -% The heart of the argument grabber is the macro |\XD@grab@arguments|, -% which has the following syntax: -% \begin{quote} -% |\XD@grab@arguments|\marg{call}\marg{grabber sequence}^^A -% \meta{arguments to grab} -% \end{quote} -% \meta{call} is something which will eventually be placed in front of -% all the arguments grabbed. It can simply be a single macro, but it -% can also contain some arguments for that macro. \meta{grabber sequence} -% is a sequence of grabbers. A \emph{grabber} is typically a macro which -% grabs the next argument and stores it in a token list together with the -% arguments that were grabbed before. A grabber could however be some -% more complex piece of code that performs a similar action. -% -% \begin{table} -% \begin{minipage}{\columnwidth} -% \begin{center}\small -% \begin{tabular}{lll>{\raggedright}p{0.3\linewidth}} -% \textbf{Grabber}& \textbf{Arg.\ type}& -% \textbf{Catcodes\footnote[1]{Catcode settings key: -% --- = no change, PL = changes made by \cs{MakePrivateLetters}, -% OB = set the catcode of backslash to ordinary.}}& -% \textbf{Post-processing}\tabularnewline -% |\XD@grab@marg|& Mandatory& ---& None\tabularnewline -% |\XD@grab@oarg|& Optional& ---& None\tabularnewline -% |\XD@grab@sarg|\marg{char}& 1-char optional& -% ---& Returns |\BooleanTrue| if the character was present -% and |\BooleanFalse| otherwise.\tabularnewline -% |\XD@grab@withprivate|& Mandatory& PL& None\tabularnewline -% |\XD@grab@asmacro|\footnote[2]{This grabber is probably obsolete; -% it is included because it grabs the argument in precisely the -% way that the \texttt{macro} environment of \package{doc} does.}& -% Mandatory& OB+PL& None\tabularnewline -% |\XD@grab@harmless|\meta{proc}& Mandatory& ---& -% |\MakeHarmless| followed by \meta{proc}\tabularnewline -% |\XD@grab@harmless@oarg|& Optional& ---& -% |\MakeHarmless|\tabularnewline -% \multicolumn{3}{l}{\cs{XD@grab@harmless@asmacro}}\tabularnewline -% & Mandatory& OB+PL& -% |\MakeHarmless| followed by |\XD@unbackslash|\tabularnewline -% |\XD@grab@harmless@cs|& Mandatory\footnote[3]{The argument is -% normally precisely one control sequence.}& PL& -% |\string| whilst |\escapechar| is set to \textminus1, -% followed by |\MakeHarmless|\tabularnewline -% \multicolumn{3}{l}{^^A -% \cs{XD@grab@harmless@withprivate}\marg{proc}}\\ -% & Mandatory& PL& |\MakeHarmless| followed by \meta{proc} -% \end{tabular} -% \end{center} -% \end{minipage} -% -% \caption{Grabbers currently defined by \package{xdoc}} -% \label{Tab:Grabbers} -% \end{table} -% -% When arguments are being grabbed, the \meta{call} is stored in |\toks@| -% and the arguments are appended to |\toks@| as they are grabbed. For -% that reason, a grabber may not itself call |\XD@grab@arguments|, nor -% may it use a command defined through \package{xparse}'s -% |\Declare|\-|Document|\-|Command| or anything else which uses this -% token register in a bad way. -% -% When a grabber is expanded, it is in the context -% \begin{quote} -% \meta{grabber}\,\meta{following grabbers}\,|\XD@endgrab|\penalty0 -% \thinspace\meta{ungrabbed arguments} -% \end{quote} -% After it has grabbed its argument, everything of the above should be -% put back except for the \meta{grabber} and the argument it grabbed. -% The argument itself should be wrapped in a group and appended to -% |\toks@|. -% -% \textbf{Note:} In prototype~2 the format in which the argument grabber -% returns the grabbed arguments was changed so that it can now be -% unified with argument grabbing mechanisms of \package{xparse}. I -% think this should be done some time in the future, but for the moment -% it seems best not to rely on \LaTeXplus\ packages like \package{xparse}. -% -% \begin{macro}{\XD@grab@arguments} -% \begin{macro}{\XD@endgrab} -% \changes{prot2}{2000/07/13}{The grabbed arguments are no longer -% returned wrapped up in a group. There is no longer a need for -% storing the base call separately in \cs{toks}\,\texttt{2}. (LH)} -% The |\XD@grab@arguments| and |\XD@endgrab| macros set up and finish -% off argument grabbing. -% \begin{macrocode} -\def\XD@grab@arguments#1#2{% - \toks@={#1}% - #2\XD@endgrab -} -% \end{macrocode} -% \begin{macrocode} -\def\XD@endgrab{\the\toks@} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\XD@grab@marg} -% A grabber for ordinary arguments, like the \texttt{m} arguments of -% \package{xparse}. -% \begin{macrocode} -\long\def\XD@grab@marg#1\XD@endgrab#2{% - \addto@hook\toks@{{#2}}% - #1\XD@endgrab -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XD@grab@oarg} -% \begin{macro}{\XD@grab@oarg@} -% A grabber for optional arguments (\texttt{o} arguments in -% \package{xparse}). It looks ahead for an optional argument and -% grabs that argument if there was one. If it doesn't find anything -% which looks like an optional argument (i.e., if the next character -% isn't a |[|), then the grabber will not grab anything (although it -% may have tokenized the next argument), but it will still append -% |\NoValue| to |\toks@|. -% -% \begin{macrocode} -\def\XD@grab@oarg#1\XD@endgrab{% - \@ifnextchar[{\XD@grab@oarg@{#1}}{% - \addto@hook\toks@\NoValue - #1\XD@endgrab - }% -} -% \end{macrocode} -% |\XD@grab@oarg@| is a helper to remove the brackets around the -% optional argument. -% \begin{macrocode} -\long\def\XD@grab@oarg@#1[#2]{% - \addto@hook\toks@{{#2}}% - #1\XD@endgrab -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\XD@grab@sarg} -% A grabber for `star'-type arguments (\texttt{s} arguments in -% \package{xparse}). The syntax is -% \begin{quote} -% |\XD@grab@sarg|\marg{char} -% \end{quote} -% It looks ahead to see if the next character is the \meta{char}. In -% that case it gobbles it and adds a |\BooleanTrue| to the grabbed -% arguments, otherwise it adds a |\BooleanFalse| to the grabbed -% arguments. -% \changes{prot2.3}{2001/11/03}{Macro added. (LH)} -% \begin{macrocode} -\def\XD@grab@sarg#1#2\XD@endgrab{% - \@ifnextchar#1{% - \addto@hook\toks@\BooleanTrue - \@firstoftwo{#2\XD@endgrab}% - }{% - \addto@hook\toks@\BooleanFalse - #2\XD@endgrab - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XD@grab@withprivate} -% |\XD@grab@withprivate| is like |\XD@grab@marg| but grabs the -% argument when the catcodes are as set by |\MakePrivateLetters|. -% \begin{macrocode} -\def\XD@grab@withprivate{% - \begingroup\MakePrivateLetters\relax\expandafter\endgroup - \XD@grab@marg -} -% \end{macrocode} -% To think about: Perhaps things like |\XD@grab@withprivate| should -% rather be considered a modifier for a grabber? Instead of having -% |\XD@grab@withprivate| be the entire grabber, one could let the -% grabber be something like -% \begin{quote} -% |\XD@grab@withprivate\XD@grab@marg| -% \end{quote} -% where the |\XD@grab@withprivate| should only expand to -% \begin{quote} -% |\begingroup\MakePrivateLetters\relax\expandafter\endgroup| -% \end{quote} -% \end{macro} -% -% \begin{macro}{\XD@grab@asmacro} -% |\XD@grab@asmacro| is very similar to |\XD@grab@withprivate|, but it -% sees to that the catcode settings are exactly those used by -% \package{doc}'s \texttt{macro} environment. -% \begin{macrocode} -\def\XD@grab@asmacro{% - \begingroup - \catcode`\\=12 \MakePrivateLetters\relax - \expandafter\endgroup - \XD@grab@marg -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XD@grab@harmless} -% \begin{macro}{\XD@grab@harmless@oarg} -% \changes{prot2.1}{2000/09/30}{Macro added. (LH)} -% \begin{macro}{\XD@grab@harmless@oarg@} -% \changes{prot2.1}{2000/09/30}{Macro added. (LH)} -% The |\XD@grab@harmless| grabber grabs one mandatory argument and -% converts it to a harmless character string, which it contributes to -% the list of arguments. The syntax is -% \begin{quote} -% |\XD@grab@harmless|\marg{post-processing} -% \end{quote} -% where \meta{post-processing} are commands that will be performed -% after the grabbed argument has been made harmless, but before it is -% contributed to the list of arguments. Thus the -% \meta{post-processing} can modify the argument some more, but -% \meta{post-processing} can just as well be empty. -% \begin{macrocode} -\def\XD@grab@harmless#1#2\XD@endgrab#3{% - \MakeHarmless\@tempa{#3}% - #1% - \toks@=\expandafter{\the\expandafter\toks@ \expandafter{\@tempa}}% - #2\XD@endgrab -} -% \end{macrocode} -% -% The |\XD@grab@harmless@oarg| grabber grabs one optional argument and -% converts it to a harmless character string. This string is -% contributed to the list of arguments if the optional argument, or -% else the token |\NoValue| is contributed instead. -% \begin{macrocode} -\def\XD@grab@harmless@oarg#1\XD@endgrab{% - \@ifnextchar[{\XD@grab@harmless@oarg@{#1}}{% - \addto@hook\toks@\NoValue - #1\XD@endgrab - }% -} -% \end{macrocode} -% |\XD@grab@harmless@oarg@| is a helper to remove the brackets around -% the optional argument. -% \begin{macrocode} -\long\def\XD@grab@harmless@oarg@#1[#2]{% - \MakeHarmless\@tempa{#2}% - \toks@=\expandafter{\the\expandafter\toks@ \expandafter{\@tempa}}% - #1\XD@endgrab -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@grab@harmless@asmacro} -% \begin{macro}{\XD@grab@harmless@cs} -% \begin{macro}{\XD@grab@harmless@cs@} -% The |\XD@grab@harmless@asmacro| grabber combines the features of -% |\XD@grab@|\B|asmacro| and |\XD@grab@harmless|, since when the -% argument to grab is tokenized the catcode of |\| is set to 12 and -% the catcode assignments in |\MakePrivateLetters| are made. Then the -% grabbed argument is converted to a harmless character sequence, and -% finally the first character is removed if it is a backslash. -% \begin{macrocode} -\def\XD@grab@harmless@asmacro{% - \begingroup - \catcode`\\=12 \MakePrivateLetters\relax - \expandafter\endgroup - \XD@grab@harmless{% - \protected@edef\@tempa{% - \expandafter\XD@unbackslash\@tempa\@empty - }% - }% -} -% \end{macrocode} -% -% The |\XD@grab@harmless@cs| grabber is for use with commands like -% \package{doc}'s |\Describe|\-|Macro|, which take an actual control -% sequence as the argument. It grabs one argument while having -% catcodes changed as indicated by |\Make|\-|Private|\-|Letters|, -% |\string|s the argument while |\escapechar| is |-1| (so that there -% is no escape character inserted), and continues as -% |\XD@grab@harmless|. -% \begin{macrocode} -\def\XD@grab@harmless@cs{% - \begingroup - \MakePrivateLetters\relax - \expandafter\endgroup \XD@grab@harmless@cs@ -} -% \end{macrocode} -% \begin{macrocode} -\long\def\XD@grab@harmless@cs@#1\XD@endgrab#2{% - \begingroup - \escapechar=\m@ne - \expandafter\endgroup - \expandafter\MakeHarmless \expandafter\@tempa - \expandafter{\string#2}% - \toks@=\expandafter{\the\expandafter\toks@ \expandafter{\@tempa}}% - #1\XD@endgrab -} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\XD@grab@harmless@withprivate} -% |\XD@grab@harmless@withprivate| is like |\XD@grab@harmless| but -% grabs the argument when the catcodes are as set by -% |\Make|\-|Private|\-|Letters|. -% Like |\XD@|\B|grab@|\B|harmless|, |\XD@grab@|\B|harmless@|\B -% |withprivate| takes an argument which can contain code that -% modifies the harmless character string after it has been formed. -% \begin{macrocode} -\def\XD@grab@harmless@withprivate{% - \begingroup\MakePrivateLetters\relax\expandafter\endgroup - \XD@grab@harmless -} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{The \cs{XD@m@cro} and \cs{NewMacroEnvironment} commands} -% -% In \package{doc} the macro that contains most of the code for the -% \texttt{macro} and \texttt{environment} environments is called -% |\m@cro@|. In \package{xdoc} the corresponding macro is |\XD@m@cro|. -% -% At this point, it is helpful to recall what |\m@cro@| actually does. -% It can be summarized in the following four points: -% \begin{itemize} -% \item It starts a |\trivlist|.\footnote{Seriously, can someone -% explain to me why it seems just about every non-math \LaTeX\ -% environment that doesn't start a \cs{list} starts a \cs{trivlist}? -% What good does all these \cs{trivlist}s do? Is it (a)~that people -% just like the basic design, (b)~that there's some deep technical -% reason, or (c)~that people in general doesn't have a clue but all -% other environments do that so it's best to include it just in -% case?} -% \item It prints the name of the macro\slash environment that is -% about to be defined in the margin. -% \item It writes an index entry (and inhibits cross-referencing of -% the macro inside the environment). -% \item It sets |\saved@macroname| to the name of the macro\slash -% environment (for use by |\changes|). -% \end{itemize} -% -% The first and fourth points are simple, and commands for the third -% were defined in Section~\ref{Sec:Indexing}, but the second point -% needs a few helper macros. -% -% -% \begin{macro}{\XDStackItemLabels} -% \changes{prot2}{2000/07/28}{Made it work like a \cs{vtop} (but hide -% the height) if \cs{XD@macro@dimen} is \texttt{-}\cs{maxdimen}. -% (LH)} -% \begin{macro}{\XD@macro@dimen} -% The |\XDStackItemLabels| macro is a definition of |\makelabel| which -% is used in the \texttt{macro}-like environments for stacking the -% names printed by subsequent environments under each other. It makes -% a box which has zero height and depth (it should have zero width as -% well, but that is left as a restriction on the argument) and the -% printed names will be stacked if the reference points of the -% subsequent boxes generated by |\XD|\-|Stack|\-|Item|\-|Labels| -% coincide. -% -% |\XD@macro@dimen| (always assigned globally) stores the vertical -% distance from the reference point of the box that -% |\XD|\-|Stack|\-|Item|\-|Labels| makes to the (bottommost) baseline -% of the previous printed name. |\XD@macro@dimen| is updated by each -% new |\XD|\-|Stack|\-|Item|\-|Labels|. The baseline of the next printed -% name will be put one |\baselineskip| lower than that of the previous -% printed name, except for when |\XD@macro@dimen| is |-\maxdimen| (see -% below). To avoid that printed names clash into each other, this -% additional |\baselineskip| is generated as normal interline glue -% where the upper box has the same depth as a strut and the new value -% of |\XD@macro@dimen| is measured in such a way that the printed -% name's depth below the nominal baseline will not exceed the depth of -% a strut (that's what the |\boxmaxdepth| assignment is for). -% When |\XD@macro@dimen| is |-\maxdimen| the (topmost) baseline of the -% printed name will instead go through the reference point of the box. -% This case is intended for the first item label in a stack. -% -% The reason |\everypar| is cleared is that that is where the list -% environments put the commands which actually insert the item label -% into the paragraph. If that code gets executed inside |\makelabel|, -% the list environments get seriously confused with not at all nice -% consequences. -% \begin{macrocode} -\def\XDStackItemLabels#1{% - \setbox\z@=\vbox{% - \ifdim \XD@macro@dimen=-\maxdimen - \setbox\z@=\vtop{% - \color@begingroup - \everypar={}% - #1% - \color@endgroup - }% - \kern-\ht\z@ - \unvbox\z@ - \else - \color@begingroup - \everypar={}% - \kern\XD@macro@dimen - \setbox\z@=\copy\strutbox \ht\z@=\z@ \box\z@ - #1% - \color@endgroup - \fi - \boxmaxdepth=\dp\strutbox - }% - \global\XD@macro@dimen=\ht\z@ - \vtop to\z@{\unvbox\z@ \vss}% -} -% \end{macrocode} -% \begin{macrocode} -\newdimen\XD@macro@dimen -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\XDToMargin} -% \changes{prot2.1}{2000/11/26}{New name for \cs{XD@to@margin}. (LH)} -% The |\XDToMargin| macro takes one argument, which is assumed to be -% some horizontal material, and puts that material in a |\hbox| of -% width zero, horizontally shifted out into the the outer margin, in -% such a way that longer arguments extend further out. |\marginparsep| -% is used as the distance between the argument and the main galley. All -% these placements assume that the |\hbox| will be put |\labelsep| to -% the left of the beginning of a nonindented paragraph, since that is -% where it will be put by the |\item| of a |\trivlist|. -% -% A question is where the margin should be considered to start if the -% |\@total|\-|left|\-|margin| isn't zero. The corresponding -% \package{doc} action would be to consider the margin as everything -% outside the |\linewidth| width, but I don't think that would be -% appropriate here (especially not since \package{doc} always puts the -% codeline numbers at the edge of the |\textwidth| width). -% \begin{macrocode} -\newcommand\XDToMargin[1]{% - \hb@xt@\z@{% - \IfOddPageSituation{% - \dimen@=-\@totalleftmargin - \advance \dimen@ \labelsep - \advance \dimen@ \textwidth - \advance \dimen@ \marginparsep - \kern\dimen@ - }\hss - #1% - \IfOddPageSituation\hss{% - \dimen@=\@totalleftmargin - \advance \dimen@ -\labelsep - \advance \dimen@ \marginparsep - \kern\dimen@ - }% - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XDParToMargin} -% The |\XDParToMargin| command is in syntax and use similar to the -% |\XDToMargin| command, but it will try to linebreak an argument -% that is too long rather than letting it extend outside the paper. -% -% The implementation first tries to break the argument without -% considering justification or positioning, but with a rather high -% |\linepenalty|. If the result of that try is a single line paragraph -% then |\XDToMargin| will be called to actually typeset the argument. -% Otherwise the argument is typeset as a paragraph which gets -% displaced out into the outer margin by giving |\leftskip| and -% |\rightskip| nonzero natural widths. The practical line width in -% the paragraph is the |\marginparwidth|, but the hboxes containing -% the individual lines will have width zero. The first line of the -% paragraph will be set flush outwards, the last line of the paragraph -% will be set flush inwards, and the remaining lines will be centered. -% -% \changes{prot2.1}{2000/11/26}{Command added. (LH)} -% \begin{macrocode} -\newcommand\XDParToMargin[1]{% - \parindent=\z@ - \setbox\z@=\vbox{% - \leftskip=\z@skip - \rightskip=\z@\@plus 1fil% - \parfillskip=\z@skip - \hsize=\marginparwidth - \linepenalty=1000% - \color@begingroup - \noindent\ignorespaces #1\@@par - \color@endgroup - \expandafter}% - \expandafter\ifnum \the\prevgraf<\tw@ - \XDToMargin{#1}% - \else - \hsize=\z@ - \leftskip=\z@ \@plus \marginparwidth - \rightskip=\leftskip - \IfOddPageSituation{% - \dimen@=-\@totalleftmargin - \advance \dimen@ \labelsep - \advance \dimen@ \textwidth - \advance \dimen@ \marginparsep - \advance \leftskip \dimen@ - \advance \rightskip -\dimen@ \@minus \p@ - \advance \rightskip -\marginparwidth - \parfillskip=\z@ \@plus 1fil% - }{% - \dimen@=\@totalleftmargin - \advance \dimen@ -\labelsep - \advance \dimen@ \marginparsep - \advance \leftskip -\dimen@ \@minus \p@ - \advance \leftskip -\marginparwidth - \advance \rightskip \dimen@ - \parfillskip=\z@ \@plus -\marginparwidth% - } - \noindent\nobreak\hskip\parfillskip - \ignorespaces #1\@@par - \fi -} -% \end{macrocode} -% \end{macro} -% -% -% In the following I exploit the implementation of the |\item| command -% in a slightly hackish way. Instead of starting a new paragraph with -% the item label (which is what one at first would believe |\item| -% does), |\item| actually puts the label in the box |\@labels| register, -% and stores code in |\everypar| that inserts that box into the new -% paragraph. Therefore I can make sure that various |\write| whatsits -% that need to be as the same page as an |\item| label will be there by -% adding them to the contents of the |\@labels| box. This seems more -% reliable to me than putting them on the vertical list followed by a -% |\nobreak| as \package{doc} does, but that would probably work as -% well. -% -% [A funny thing in that which confused me a while was the question of -% whether the |\box| command that inserts the box into the paragraph and -% simultaneously clears the register acted globally or locally. It turns -% out that the question was ill-posed, as the distinction between local -% and global assignments is determined by what restore items they put -% on \TeX's save stack. The |\box| command doesn't put anything there, -% so the assignment it makes will essentially appear at the same -% grouping level as the |\setbox| command that set the contents of the -% box register. As all |\setbox|es for the |\@labels| box register are -% global, the box register will be globally void after |\box\@labels|.] -% -% -% \begin{macro}{\XD@m@cro} -% \changes{prot2}{2000/07/24}{Put the \meta{changes} argument before -% the \meta{assign} argument. Executing the \meta{assign} code -% after the \meta{changes} \cs{edef}. Changed the descriptions of -% these arguments a little. (LH)} -% \changes{prot2.1}{2000/11/26}{Removed \cs{XDToMargin} from the -% argument of \cs{item}. It should now be included in \#1 -% instead. (LH)} -% This is the workhorse of all the \texttt{macro}-like environments. -% It calls |\trivlist| and sets related parameters, prints the -% ``macro'' name in the proper place, updates the representation of -% the ``macro'' name that |\changes| will use, and writes appropriate -% index entries (possibly making temporary changes in -% cross-referencing). Exactly what these tasks consist of can vary -% quite a lot between different \texttt{macro}-like environments, and -% therefore the |\XD@m@cro| macro has the following syntax: -% \begin{quote} -% |\XD@m@cro|\marg{print}\marg{index}\marg{changes}\marg{assign} -% \end{quote} -% \meta{print}, \meta{index}, and \meta{assign} are simply the -% commands for printing the ``macro'' name as it should appear in the -% margin, generating the index entries for this \texttt{macro}-like -% environment, and making whatever additional local assignments that -% are needed for this environment (usually a couple of -% |\Do|\-|Not|\-|Index|\-|Harmless| commands, if anything at all) -% respectively. At the time \meta{index} is executed, -% \texttt{codelineno} holds the number of the \emph{next} codeline. -% \meta{changes}, finally, is code that will be put in the context -% \begin{quote} -% |\protected@edef\saved@macroname{|\meta{changes}|}| -% \end{quote} -% to set the |\saved@macroname| macro (for |\changes|). -% \begin{macrocode} -\def\XD@m@cro#1#2#3#4{% - \topsep\MacroTopsep - \trivlist - \global\setbox\@labels=\hbox{% - \unhbox\@labels - \if@inlabel \else - \global\XD@macro@dimen=-\maxdimen - \StepPageSituation - \RecordPageSituation - \fi - \advance \c@codelineno \@ne - #2% - }% - \let\makelabel\XDStackItemLabels - \item[#1]% - \protected@edef\saved@macroname{#3}% - #4% - \ignorespaces -} -% \end{macrocode} -% \end{macro} -% -% In the first \package{xdoc} prototype, the \texttt{macro}-like -% environments were implemented so that each new environment only used -% two control sequences (|\|\meta{env} and |\end|\meta{env}), which is -% the absolute minimum. This implementation worked fine for -% single argument environments, but the number of helper macros that -% would have to be introduced to deal with multiple argument -% environments exceeded what could be considered reasonable. Therefore -% the second prototype claims a third control sequence for the -% implementation of a \texttt{macro}-like environment \meta{env}, namely -% |\\|\meta{env}, which is also used by normal \LaTeXe\ environments -% which take an optional argument. -% -% It should also be mentioned that the implementation in the first -% prototype required that most of the code in |\|\meta{env} had to be -% written in a very special way. Instead of using the |#|\meta{digit} -% notation for the arguments and write straightforward \LaTeX\ code, one -% had to express everything using macros which operate on arguments ``up -% ahead'' (immediately after the code you can specify). This curious -% coding model made it out of the question to create a class designer -% interface for defining new \texttt{macro}-like environments, but in -% the second \package{xdoc} prototype it is quite simple to do something -% of that sort: the command name is |\New|\-|Macro|\-|Environment|. -% -% \begin{macro}{\NewMacroEnvironment} -% \changes{prot2}{2000/07/13}{Command added. (LH)} -% \changes{prot2}{2000/07/24}{Changed syntax in conformity with the -% syntax change in \cs{XD@m@cro}. (LH)} -% \changes{prot2.1}{2000/11/26}{Introduced star form with different -% semanics for the \meta{print} argument. This uses the helper -% macros \cs{XD@NewMacroEnvironment} and -% \cs{XD@NewMacroEnvironment@}. (LH)} -% \begin{macro}{\XD@NewMacroEnvironment} -% \begin{macro}{\XD@NewMacroEnvironment@} -% The |\NewMacroEnvironment| command is used for defining new -% \texttt{macro}-like environments. It has the syntaxes -% \begin{quote} -% |\NewMacroEnvironment|\marg{name}\marg{grabbers}\marg{numargs}\\ -% \vadjust{}\hfill\marg{unjust-print}\marg{index}\marg{changes}^^A -% \marg{assign}\\ -% |\NewMacroEnvironment*|\marg{name}\marg{grabbers}\marg{numargs}\\ -% \vadjust{}\hfill\marg{print}\marg{index}\marg{changes}\marg{assign} -% \end{quote} -% where \meta{name} is the name of the environment to define, -% \meta{grabbers} is a sequence of argument grabbers, \meta{numargs} -% is the number of arguments that the grabbers will grab, and -% \meta{print}, \meta{index}, \meta{changes}, and \meta{assign} are -% code that will be put in the respective arguments of |\XD@m@cro|. -% In the four last arguments, argument specifiers |#1| to -% |#|\meta{numargs} inclusive can be used do mean the arguments that -% were grabbed by the sequence of grabbers. -% -% The argument grabbers that are currently made available by the -% \package{xdoc} package are listed in Table~\ref{Tab:Grabbers} on -% page~\pageref{Tab:Grabbers}. -% -% The \meta{print} code will be executed while \TeX\ is in internal -% vertical mode and it should put one or several hboxes of width zero -% onto the vertical list. The contents of these boxes should be some -% amount of text which will appear displaced out into the outer margin -% on the page when the reference point of the box appears |\labelsep| -% to the left of the left edge of the line. The easiest way of -% achieveing this is to use a \meta{print} of the form -% \begin{quote} -% |\XDToMargin|\marg{unjust-print} -% \end{quote} -% and this is exactly what the non-star form of |\NewMacroEnvironment| -% does by default. -% -% \begin{macrocode} -\newcommand\NewMacroEnvironment{% - \@ifstar\XD@NewMacroEnvironment\XD@NewMacroEnvironment@ -} -\def\XD@NewMacroEnvironment@#1#2#3#4{% - \XD@NewMacroEnvironment{#1}{#2}{#3}{\XDToMargin{#4}}% -} -\def\XD@NewMacroEnvironment#1#2#3#4#5#6#7{% - \expandafter\@ifdefinable\csname#1\endcsname{% - \expandafter\def \csname#1\expandafter\endcsname - \expandafter{\expandafter\XD@grab@arguments - \csname\@backslashchar#1\endcsname{#2}}% - \let\l@ngrel@x\relax - \expandafter\@yargdef \csname\@backslashchar#1\endcsname \@ne - {#3}{\XD@m@cro{#4}{#5}{#6}{#7}}% - \expandafter\let \csname end#1\endcsname \endtrivlist - }% -} -% \end{macrocode} -% The \meta{grabbers} argument---in which one specifies a list of -% internal macros---is not how the interface should really look, but I -% think it will have to do for now. The final interface will probably -% use something like the argument specifications of -% |\Declare|\-|Document|\-|Command|, but there is little point in -% implementing that before \package{xparse} has gotten its final form. -% \end{macro}\end{macro}\end{macro} -% -% The macro |\@yargdef| used above should perhaps be checked so that its -% syntax hasn't changed, but since |\@yargdef| quite recently -% (\texttt{ltdefn.dtx} v\,1.3c, 1999/01/18) was completely reimplemented -% without any change in the syntax (despite the fact that the syntax is -% afterwards rather peculiar), I think it can be assumed that the syntax -% will not change in \LaTeXe. -% -% -% -% \subsection{Reimplementing \texttt{macro} and \texttt{environment}} -% \label{Ssec:Macro&environment} -% -% Well, then how does one reimplement the \texttt{macro} and -% \texttt{environment} environments using |\XD@m@cro|? We shall soon -% see, but first it is convenient to define a utility macro. -% -% \changes{prot2}{2000/07/14}{Lots of utility macros were removed: -% \cs{XDWrapText}, \cs{XDAltWrapText}, \cs{XDSortAndText}, -% \cs{MultipleApply}, \cs{ApplicableUsageIndex}, and -% \cs{XD@index@family}. (LH)} -% -% \begin{macro}{\XDMainIndex} -% \changes{prot2}{2000/07/14}{New name and syntax for -% \cs{ApplicableMainIndex}. (LH)} -% The |\XDMainIndex| macro is an abbreviation to save a couple of -% tokens in a very frequent call to |\IndexEntry|. It has the syntax -% \begin{quote} -% |\XDMainIndex|\marg{argument} -% \end{quote} -% and that expands to -% \begin{quote} -% |\IndexEntry|\marg{argument}|{main}{\TheXDIndexNumber}| -% \end{quote} -% \begin{macrocode} -\newcommand\XDMainIndex[1]{\IndexEntry{#1}{main}{\TheXDIndexNumber}} -% \end{macrocode} -% \end{macro} -% -% \begin{environment}{macro} -% \changes{prot2.1}{2000/11/15}{Using \cs{MakeSortKey} to make index -% entry. (LH)} -% \begin{environment}{environment} -% It is very easy to implement \texttt{macro} and \texttt{environment} -% environments which behave pretty much as in \package{doc} using the -% |\New|\-|Macro|\-|Environment| command. The important difference -% is that in \package{doc} everything that distinguished the two -% environments was to be found in various helper macros, but here all -% that code is in the |\\macro| and |\\environment| macros. Thus to -% define one new \texttt{macro}-like environment, one doesn't have to -% define six or so new macros---everything can be handled in one -% definition. -% -% The reason for the |\let| commands below is of course that -% \texttt{macro} and \texttt{environment} are already defined, and -% there is no |\Renew|\-|Macro|\-|Environment| command. It could -% perhaps have been better if |\New|\-|Macro|\-|Environment| had -% behaved like |\Declare|\-|Robust|\-|Command|, but I don't think that -% is an important problem for the moment. -% \begin{macrocode} -\let\macro=\relax -\let\endmacro=\relax -\NewMacroEnvironment{macro}{\XD@grab@harmless@asmacro}{1} - {\MacroFont\Bslash#1} - {\MakeSortKey\@tempa{#1}{}% - \XDMainIndex{\LevelSorted{\@tempa}{\texttt{\Bslash#1}}}} - {{#1}{\texttt{\Bslash#1}}} - {\DoNotIndexHarmless{#1}} -% \end{macrocode} -% \begin{macrocode} -\let\environment=\relax -\let\endenvironment=\relax -\NewMacroEnvironment{environment}{\XD@grab@harmless@asmacro}{1} - {\MacroFont#1} - {\XDMainIndex{\LevelSorted{#1}{\texttt{#1} (environment)}}% - \XDMainIndex{% - \LevelSame{environments:}\LevelSorted{#1}{\texttt{#1}}% - }}% - {{#1}{\texttt{#1}}} - {}% -% \end{macrocode} -% \end{environment}\end{environment} -% -% -% \subsection{Further examples of \texttt{macro}-like environments} -% \label{Ssec:More macros} -% -% \begin{environment}{option} -% The \texttt{option} environment is for class\slash package options. -% IMHO, something like this environment should have been added to -% \package{doc} years ago! -% -% \begin{macrocode} -\NewMacroEnvironment{option}{\XD@grab@harmless\relax}{1} - {\MacroFont#1 \normalfont option} - {\XDMainIndex{\LevelSorted{#1}{\texttt{#1} option}}% - \XDMainIndex{% - \LevelSame{options:}\LevelSorted{#1}{\texttt{#1}}% - }}% - {{#1 option}{\texttt{#1} option}} - {}% -% \end{macrocode} -% \end{environment} -% -% \begin{environment}{switch} -% \changes{prot2.1}{2000/11/18}{Using \cs{MakeSortKey}. (LH)} -% The \texttt{switch} environment is for switches created by -% |\newif| (\PlainTeX\ style). -% \begin{macrocode} -\NewMacroEnvironment{switch}{\XD@grab@harmless\relax}{1} - {\MacroFont#1 \normalfont switch}% -% \end{macrocode} -% What makes switches different from the other \texttt{macro}-like -% environments defined here is the large number of index entries it -% makes. For a switch \meta{sw} it first makes one under the `switches:' -% heading: -% \begin{macrocode} - {% - \MakeSortKey\XD@last@key{#1}{}% - \XDMainIndex{% - \LevelSame{switches:}\LevelSorted{\XD@last@key}{\texttt{#1}}% - }% -% \end{macrocode} -% Second it makes a `\meta{sw} switch' entry: -% \begin{macrocode} - \XDMainIndex{\LevelSorted{\XD@last@key}{\texttt{#1} switch}}% -% \end{macrocode} -% Third it makes an entry for the macro |\if|\meta{sw}. The sort key -% for this entry is \emph{not} subjected to |\MakeSortKey| because -% no reasonable operator will act on the |if| prefix (an operator -% which acts on |if| could do rather strange things to e.g. |\ifnum|). -% \begin{macrocode} - \XDMainIndex{\LevelSorted{if#1}{\texttt{\Bslash if#1}}}% -% \end{macrocode} -% Fourth it makes an entry for the macro |\|\meta{sw}|false|: -% \begin{macrocode} - \MakeSortKey\@tempa{#1false}{}% - \XDMainIndex{\LevelSorted{\@tempa}{\texttt{\Bslash#1false}}}% -% \end{macrocode} -% Finally it makes an entry for the macro |\|\meta{sw}|true|: -% \begin{macrocode} - \MakeSortKey\@tempa{#1true}{}% - \XDMainIndex{\LevelSorted{\@tempa}{\texttt{\Bslash#1true}}}% - }% -% \end{macrocode} -% The |\changes| heading, on the other hand, is trivial. -% \begin{macrocode} - {{#1}{\texttt{#1} switch}} -% \end{macrocode} -% Finally, \texttt{switch} should turn off indexing of the three macros -% it makes \texttt{main} entries for, since \package{makeindex} will -% otherwise complain. -% \begin{macrocode} - {\DoNotIndexHarmless{if#1}% - \DoNotIndexHarmless{#1false}% - \DoNotIndexHarmless{#1true}}% -%</pkg> -% \end{macrocode} -% \end{environment} -% -% -% To end this section, there now follows two examples which are not -% part of the package as they are very specific, but which have been -% included here because they illustrate that \texttt{macro}-like -% environments may have several arguments. -% -% \begin{environment}{enccommand} -% \begin{environment}{enccomposite} -% The \texttt{enccommand} and \texttt{enccomposite} environments can -% be used for marking up sources for encoding definition files and the -% like. \texttt{enccommand} is for encoding-specific commands and has -% the syntax -% \begin{quote} -% |\begin{enccommand}|\marg{command}\oarg{encoding} -% \end{quote} -% where \meta{command} is the encoding-specific command and -% \meta{encoding} is the encoding that this definition is for. If the -% \meta{encoding} is omitted then the \texttt{enccommand} is assumed -% to be for the default definition of the command. -% -% \texttt{enccomposite} is for composites of encoding-specific -% commands (defined for example using |\Declare|\-|Text|\-|Composite|). -% It has the syntax -% \begin{quote} -% |\begin{enccomposite}|\marg{command}\marg{encoding}\marg{argument} -% \end{quote} -% where \meta{command} and \meta{encoding} are as for -% \texttt{enccommand} and \meta{argument} is the argument with which -% the command is being composed. -% -% The marginal headings these commands print are the actual control -% sequences in which the definitions are stored. -% \begin{macrocode} -%<*enccmds> -\NewMacroEnvironment{enccommand}{% - \XD@grab@harmless@asmacro \XD@grab@oarg -}{2}{\MacroFont\Bslash \ifx\NoValue#2?\else#2\fi \Bslash #1}{% - \XDMainIndex{% - \LevelSorted{#1}{\texttt{\Bslash#1}}% - \ifx \NoValue#2% - \LevelSame{default}% - \else - \LevelSorted{#2}{\texttt{#2} encoding}% - \fi - }% -}{{#1}{\texttt{\Bslash#1}}}{\DoNotIndexHarmless{#1}} -% \end{macrocode} -% \begin{macrocode} -\NewMacroEnvironment{enccomposite}{% - \XD@grab@harmless@asmacro \XD@grab@marg \XD@grab@harmless\relax -}{3}{\MacroFont\Bslash#2\Bslash#1-#3}{% - \XDMainIndex{% - \LevelSorted{#1}{\texttt{\Bslash#1}}% - \LevelSorted{#2}{\texttt{#2} encoding}% - \LevelSorted{\XD@unbackslash#3\@empty}{\texttt{#3} composite}% - }% -}{{#1}{\texttt{\Bslash#1}}}{\DoNotIndexHarmless{#1}} -%</enccmds> -% \end{macrocode} -% In the file \texttt{cyoutenc.dtx} the definitions of many -% encoding-specific commands are written so that the same line of -% code can work is all four files \texttt{t2aenc.def}, -% \texttt{t2benc.def}, \texttt{t2cenc.def}, and \texttt{x2enc.def}. -% Therefore the \meta{encoding} argument of the \texttt{enccommand} -% and \texttt{enccomposite} environments should perhaps rather be a -% comma-separated list of encodings than a single encoding, but that -% would make this example unnecessarily complicated. -% \end{environment}\end{environment} -% -% -% -% \section{Describing macros and the like} -% \label{Sec:Describing} -% -% \begin{macro}{\if@mparswitch} -% \begin{macro}{\if@reversemargin} -% In two-sided mode, marginal notes should appear in the outer -% margin. The following code takes care of that. -% \begin{macrocode} -%<*pkg> -\if@twoside - \@mparswitchtrue - \normalmarginpar -\fi -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\GenericDescribePrint} -% \changes{prot2}{2000/07/14}{\cs{leavevmode} and \cs{ignorespaces} -% moved to \cs{NewDescribeCommand}. (LH)} -% \changes{prot2}{2000/07/20}{Added \cs{strut}. Removed it from -% arguments passed to \cs{GenericDescribePrint}. (LH)} -% \changes{prot2.3}{2001/06/24}{Changed formatting to match that of -% \cs{XDParToMargin}. (LH)} -% The |\GenericDescribePrint| macro is a utility macro for use in -% commands like |\Describe|\-|Macro|. Its syntax is -% \begin{quote} -% |\GenericDescribePrint|\marg{text} -% \end{quote} -% and it puts \meta{text} in a marginal paragraph, giving it the -% appropriate justification for appearing in that margin. -% -% The first part simply tests whether the argument fits on a single -% line. -% \begin{macrocode} -\newcommand\GenericDescribePrint[1]{% - \setbox\z@=\vbox{% - \parindent=\z@ - \leftskip=\z@skip - \rightskip=\z@\@plus 1fil% - \parfillskip=\z@skip - \hsize=\marginparwidth - \linepenalty=\@m - \color@begingroup - \noindent\ignorespaces #1\@@par - \color@endgroup - \expandafter}% - \expandafter\ifnum \the\prevgraf<\tw@ -% \end{macrocode} -% Then comes the actual typesetting. First the single-line format. -% The braces in the optional argument are there to prevent trouble -% in case |#1| contains a right brace; they will be stripped off when -% the argument is grabbed. -% \begin{macrocode} - \if@twoside - \marginpar[{\raggedleft\strut #1}]{\raggedright\strut #1}% - \else - \marginpar{\raggedleft\strut#1}% - \fi - \else - \if@twoside - \marginpar[{% - \leftskip=\z@ \@plus \marginparwidth - \rightskip=\leftskip - \parfillskip=\z@ \@plus -\marginparwidth - \noindent\nobreak\hskip\parfillskip - \ignorespaces #1% - }]{% - \leftskip=\z@ \@plus \marginparwidth - \rightskip=\leftskip - \parfillskip=\z@ \@plus 1fil% - \noindent\nobreak\hskip\parfillskip - \ignorespaces #1% - }% - \else - \marginpar{% - \leftskip=\z@ \@plus \marginparwidth - \rightskip=\leftskip - \parfillskip=\z@ \@plus -\marginparwidth - \noindent\nobreak\hskip\parfillskip - \ignorespaces #1% - }% - \fi - \fi -} -% \end{macrocode} -% \end{macro} -% -% The \texttt{describe}-commands are supposed to be invisible---only -% leave a single space even when there are spaces both before and after -% them---but there are problems with the mechanisms for this. I get the -% impression that they have never worked perfectly, but that seems to -% be mainly due to that certain macros in the \LaTeX\ kernel never did -% either, and I suspect that the general problem has been thrashed over -% many times before. -% -% \package{doc}'s |\DescribeMacro| and |\DescribeEnv| are wrapped up in -% a |\@bsphack| \dots\ |\@esphack| ``group'' to become invisible, but -% the |\marginpar| and various index commands they are built on are -% themselves already invisible, so one would suspect that there is no -% need for additional invisibility. There are however two factors which -% create this need. One is that it doesn't do the right thing at -% beginning of lines; here it seems like what the -% \texttt{describe}-commands would need is the |\@vbsphack| macro -% (whose definition appears in \texttt{ltspace.dtx}, but which has been -% commented out) since they should start a new paragraph and leave no -% following space if they are used in vertical mode. The other factor is -% that the standard |\@bsphack|--|\@esphack| can only suppress every -% second intermediate space if several invisible commands appear in -% sequence, as is quite common for the -% \texttt{describe}-commands.\footnote{It would seem that a simple fix -% for this is to have \cs{@esphack} insert \cs{nobreak} -% \cs{hskip}\texttt{-}\cs{@savsk} \cs{hskip}\cs{@savsk} before it -% executes \cs{ignorespaces}, but since that fix hasn't been -% incorporated into the kernel or the \package{fixltx2e} package there -% probably is some problem with it.} -% -% Instead the \package{doc} implementations of |\DescribeMacro| and -% |\DescribeEnv| begin with |\leavevmode| and end with |\ignorespaces|, -% which means that they are only ``invisible'' if they appear on on the -% left of visible material, but that's how it has been for over a decade -% now. -% -% \begin{macro}{\NewDescribeCommand} -% \changes{prot2}{2000/07/14}{Command added. (LH)} -% The |\NewDescribeCommand| command is a relative to the -% |\New|\-|Macro|\-|Environment| command which defines commands -% analogous to |\Describe|\-|Macro| rather than \texttt{macro}-like -% environments. Its syntax is -% \begin{quote} -% |\NewDescribeCommand|\marg{command}\marg{grabbers}\B -% \marg{numargs}\B\marg{definition} -% \end{quote} -% \meta{command} is the control sequence to define. \meta{grabbers} -% and \meta{numargs} are as for the |\NewMacroEnvironment| command. -% \meta{definition} is the command definition. -% In addition to the definition given in the \meta{definition} -% argument and the code for grabbing the arguments, the command -% actually defined by |\New|\-|Describe|\-|Command| will contain a -% |\leavevmode| at the start and an |\ignorespaces| at the end. -% -% The |\NewDescribeCommand| command should really just be a call to -% \package{xparse}'s |\Declare|\-|Document|\-|Command|, but that will -% have to wait until \package{xdoc} becomes based on the -% \package{xparse} package. -% \begin{macrocode} -\newcommand\NewDescribeCommand[4]{% - \@ifdefinable#1{% - \expandafter\def \expandafter#1\expandafter{% - \expandafter\XD@grab@arguments \csname\string#1\endcsname{#2}% - }% - \let\l@ngrel@x\relax - \expandafter\@yargdef \csname\string#1\endcsname \@ne {#3}% - {\leavevmode#4\ignorespaces}% - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DescribeMacro} -% \changes{prot2.1}{2000/11/18}{Using \cs{MakeSortKey}. (LH)} -% \begin{macro}{\DescribeEnv} -% The |\DescribeMacro| and |\DescribeEnv| commands are as in -% \package{doc}. The argument of |\DescribeMacro| is supposed to be -% the actual control sequence to describe (not as with the -% \texttt{macro} environment something which looks like the control -% sequence after being |\string|ed). -% \begin{macrocode} -\let\DescribeMacro=\relax -\NewDescribeCommand\DescribeMacro{\XD@grab@harmless@cs}{1}{% - \GenericDescribePrint{\MacroFont\Bslash#1}% - \MakeSortKey\@tempa{#1}{}% - \IndexEntry{% - \LevelSorted{\@tempa}{\texttt{\Bslash#1}}% - }{usage}{\thepage}% -} -% \end{macrocode} -% The argument of |\DescribeEnv|, on the other hand, is treated like -% that of the \texttt{environment} environment, but backslash isn't -% given catcode 12---only the catcode assignments in -% |\Make|\-|Private|\-|Letters| are made. -% \begin{macrocode} -\let\DescribeEnv=\relax -\NewDescribeCommand\DescribeEnv{% - \XD@grab@harmless@withprivate\relax -}{1}{% - \GenericDescribePrint{\MacroFont#1}% - \IndexEntry{% - \LevelSame{environments:}\LevelSorted{#1}{\texttt{#1}}% - }{usage}{\thepage}% - \IndexEntry{% - \LevelSorted{#1}{\texttt{#1} (environment)}% - }{usage}{\thepage}% -} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\describeoption} -% \changes{prot2}{2000/07/31}{Command added---I realised that the need -% to describe options is probably as large as that to mark out -% their definition. (LH)} -% The |\describeoption| command is the \texttt{describe}-companion to -% the \texttt{option} environment. -% \begin{macrocode} -\NewDescribeCommand\describeoption{\XD@grab@harmless\relax}{1}{% - \GenericDescribePrint{\MacroFont#1 \normalfont option}% - \IndexEntry{% - \LevelSame{options:}\LevelSorted{#1}{\texttt{#1}}% - }{usage}{\thepage}% - \IndexEntry{% - \LevelSorted{#1}{\texttt{#1} option}% - }{usage}{\thepage}% -} -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\describecsfamily} -% \changes{prot2}{2000/07/14}{Renamed \cs{DescribeCSFamily} and -% incorporated the code from \cs{XD@index@family}. (LH)} -% \changes{prot2.1}{2000/11/18}{Using \cs{MakeSortKey}. (LH)} -% The |\describecsfamily| command is for marking out sections in text -% where a particular family of control sequences is described---just -% like |\DescribeMacro| does for individual commands. To clarify what -% I mean by a control sequence family, here are a couple of examples: -% \begin{longtable}{l >{\raggedright}p{0.55\linewidth}} -% |\c@|\meta{counter}\label{Tab:CS-families}& -% countdef token for the |\count| register storing the -% \LaTeX\ counter \meta{counter}\tabularnewline -% |\ps@|\meta{pagestyle}& -% macro storing settings for the pagestyle \meta{pagestyle}^^A -% \tabularnewline -% |\|\meta{enc}|/|\meta{fam}|/|\meta{ser}|/|\meta{sh}|/|\meta{sz}& -% the fontdef token for the font which has encoding \meta{enc}, -% family \meta{fam}, series \meta{ser}, shape \meta{sh}, and -% size \meta{sz} under NFSS\tabularnewline -% |\|\meta{enc}|\|\meta{cmd}& -% the macro containing the definition for encoding \meta{enc} of -% the encoding-specific \LaTeX\ command |\|\meta{cmd}^^A -% \tabularnewline -% |\fps@|\meta{type}& -% the default placement specifier for \LaTeX\ floats of type -% \meta{type}\tabularnewline -% |\l@|\meta{name}& -% a macro which formats table of contents entries for items of -% type \meta{name} (\texttt{chapter}, \texttt{section}, etc.)^^A -% \tabularnewline -% |\l@|\meta{language}& -% the |\language| number \package{babel} has allocated for the -% language \meta{language} (\texttt{english}, \texttt{french}, -% etc.)\tabularnewline -% |\i-|\meta{int}& -% the control sequence (either a mathchardef token or a macro) -% which stores the value of the \package{fontinst} integer -% \meta{int} -% \end{longtable} -% -% The syntax for |\describecsfamily| is -% \begin{quote} -% |\describecsfamily|\marg{cs-fam specification} -% \end{quote} -% The \meta{cs-fam specification} includes only what would be put -% between |\csname| and |\endcsname|; the |\describecsfamily| command -% will add a backslash when printing the name. No special catcodes -% will be in force in the argument, but the |#|, |$|, |&|, |_|, |^|, -% and |~| characters present no problems even if they have their -% ordinary catcodes. All spaces are seen as ASCII space and \TeX\ is -% skipping spaces as usual. Characters with catcode 0, 1, 2, 5, 9, 14, -% or 15 may however be problematic. -% If you need to specify such a problematic character then you can do -% so by writing |\PrintChar|\marg{code}, where \meta{code} is the -% ASCII code for the character, as a valid \TeX\ number in the range -% 0--255. In case you do not remember the ASCII code for some -% character \meta{c}, there is no harm in specifying it as -% |`\|\meta{c}, e.g. |\PrintChar{`\}}| for a right brace. It is even -% possible to write |\PrintChar| commands for characters outside -% visible ASCII (but those are typeset as |^^|-sequences). -% -% The variant parts in the control sequence names are specified as -% \begin{quote} -% |\meta|\marg{text} -% \end{quote} -% and these will be typeset exactly as in normal text. The arguments -% of |\meta|s appearing in a \meta{cs-fam specification} are moving. -% All control sequences other than |\PrintChar| and |\meta| in a -% \meta{cs-fam specification} (and which do not appear in the argument -% of a |\PrintChar| or |\meta|) are essentially treated as if they -% had been |\string|ed. -% -% Apart from the above differences in treatment of the argument, the -% |\describe|\-|cs|\-|family| command is similar to -% |\DescribeMacro|---it prints the control sequence name in the margin -% and makes a \texttt{usage} index entry. -% \begin{macrocode} -\NewDescribeCommand\describecsfamily{\XD@grab@harmless{}}{1}{% - \GenericDescribePrint{% - \MetaNormalfont\MacroFont\Bslash#1% - }% - \MakeSortKey\@tempa{#1}{\def\meta##1{(##1)}}% - \IndexEntry{% - \LevelSorted{\@tempa}{\texttt{\protect\MetaNormalfont\Bslash#1}}% - }{usage}{\thepage}% -} -%</pkg> -% \end{macrocode} -% \end{macro} -% -% -% As for |\NewMacroEnvironment|, I also give an example of an -% application of |\NewDescribeCommand| which is much too special for -% including in \package{xdoc} in general and therefore the code is -% placed in a special module. I had originally written the code as part -% of another package, but I removed it because I thought it was a bit -% too special even for that context. The commentry below is kept -% unchanged.\changes{prot2.1}{2000/09/16}{Additional -% \cs{NewDescribeCommand} code example added. (LH)} -% -% \begin{quotation} -% -% I believe this feature is primarily of interest for MacOS programs, -% but there might be sufficiently similar structures in other operating -% systems to make it useful even in other contexts. Be as it may, what -% the feature described here does is that it allows the user to put an -% entry in the index for each resource in the code. This gives an easy -% way of checking that no two resources are assigned the same id, even -% though there is no mechanism for especially warning for such -% collisions. -% -% \begin{macro}{\DescribeResource} -% The main command available is -% \begin{quote} -% |\DescribeResource|\marg{type}\marg{id}\marg{text} -% \end{quote} -% \meta{type} is a four-character string. Most special characters are -% treated as ordinary ones (very useful for |#|s), but the visible -% ASCII characters |%|, |{|, |\|, and |}| retain their usual meaning. -% To use such a troublesome character \meta{c} in a resource type, -% write it as |\PrintChar{`\|\meta{c}|}|. \meta{id} is a \TeX\ number; -% it will be used as the number of the resource. \meta{text} is normal -% text that will be put in the index entry to describe the resource; it -% seems a good idea to use the name of the resource for this. \meta{id} -% and \meta{text} are read with normal \LaTeX\ catcodes. Note that -% \meta{text} is a moving argument. -% -% |\DescribeResource| does two things---it prints the \meta{type} and -% \meta{id} of the resource in the margin, and it writes an entry -% \begin{quote} -% \meta{type} resources:\\ -% \vadjust{}\qquad\meta{id}\\ -% \vadjust{}\qquad\qquad\meta{text} -% \end{quote} -% (plus a lot of formatting not shown here) to the \texttt{.idx} file. -% The reference is for the page. -% -% The idea with advancing |\count@| like that when constructing the -% index entry is to get a sort key for which lexicographic order equals -% the wanted order. This would not be the case if the number was simply -% written down. The current code maps numbers to six-digit positive -% integers, but five-digits integers would be sufficient (a resource -% \meta{id} is a signed 16-bits integer). The construction chosen -% here furthermore puts the negative numbers after the positive ones. -% \begin{macrocode} -%<*rsrccmd> -\NewDescribeCommand\DescribeResource{% - \XD@grab@harmless\relax \XD@grab@marg \XD@grab@marg -}{3}{% - \GenericDescribePrint{#1% - \textnormal{:\ifnum#2<\z@ \textminus\number-\else\number\fi#2}% - }% - \count@=#2\relax - \advance \count@ 100000\ifnum \count@<\z@ 0\fi \relax - \protected@edef\@tempa{% - \noexpand\LevelSorted{\the\count@}{% - \ifnum #2<\z@ \string\textminus \number-\else\number\fi#2% - }% - }% - \IndexEntry{% - \LevelSorted{#1 resources:}{\texttt{#1} resources:}% - \@tempa - \LevelSame{#3}% - }{usage}{\thepage}% -} -%</rsrccmd> -% \end{macrocode} -% \end{macro} -% -% \end{quotation} -% -% -% \section{The \cs{DocInclude} command} -% \label{Sec:DocInclude} -% -% The code in this section is based on code from the \package{ltxdoc} -% document class~\cite{ltxdoc} and it implements a command called -% |\DocInclude|. Two implementations of this command are given: one -% which is essentially that of \package{ltxdoc} (preserving all its -% peculiarities), and one which is a reimplementation from scratch. The -% default is to use the latter, but passing the \texttt{olddocinclude} -% option to \package{xdoc} selects the former. -% -% -% \subsection{Old implementation} -% -% It should be observed that this is not a complete implementation of the -% |\Doc|\-|Include| command---it only redefines the \package{ltxdoc} -% macros that need to be changed if the |\Doc|\-|Include| command is to -% work with \package{xdoc} (it doesn't for example change the definition -% of |\Doc|\-|Include| itself). Furthermore it doesn't define anything if -% the \package{ltxdoc} document class hasn't been loaded, since then the -% details of the definition of |\Doc|\-|Include| (even if it would be -% defined) are unknown. -% -% \begin{macro}{\CodelineIndex} -% \changes{prot2.1}{2000/10/08}{Using \cs{thecodelineno}. (LH)} -% \begin{macro}{\filesep} -% \changes{prot2.2}{2001/02/13}{Redefined to use -% \cs{XD@page@compositor}. (LH)} -% \begin{macro}{\@docinclude} -% \package{ltxdoc} redefines |\codeline@wrindex| so that |\filesep| is -% prepended to each codeline number that is written to the index file. -% That redefinition has no effect unless the |\Codeline|\-|Index| -% command is executed afterwards however, so there is no harm in having -% |\Codeline|\-|Index| itself apply the corresponding change. -% \begin{macrocode} -%<*pkg> -\@ifpackagewith{xdoc2}{olddocinclude}{% - \@ifclassloaded{ltxdoc}{% - \renewcommand\CodelineIndex{% - \makeindex - \let\XD@if@index=\@firstoftwo - \codeline@indextrue - \def\TheXDIndexNumber{\filesep\thecodelineno}% - }% -% \end{macrocode} -% The |\filesep| macro is redefined so that the \package{docindex} -% package~\cite{docindex} can use a |page_compositor| string different -% from the default |-| simply by redefining |\XD@page@compositor|. -% This redefinition has to be put in |\docincludeaux| since that macro -% redefines |\filesep| too. -% \begin{macrocode} - \expandafter\def \expandafter\docincludeaux \expandafter{% - \docincludeaux - \gdef\filesep{\thepart\XD@page@compositor}% - } -% \end{macrocode} -% The change to |\@docinclude| merely consists of inserting code for -% writing an |External|\-|XRef|\-|Wrap| to the \texttt{.aux} file to -% record the new value of the \texttt{part} counter. -% \begin{macrocode} - \def\@docinclude#1 {% - \clearpage - \if@filesw - \immediate\write\@mainaux{\string\@input{#1.aux}}% - \fi - \@tempswatrue - \if@partsw - \@tempswafalse - \edef\@tempb{#1}% - \@for\@tempa:=\@partlist\do{% - \ifx\@tempa\@tempb\@tempswatrue\fi - }% - \fi - \if@tempswa - \let\@auxout\@partaux - \if@filesw - \immediate\openout\@partaux #1.aux - \immediate\write\@partaux{\relax}% - \fi - \part{#1.dtx}% - \if@filesw - \immediate\write\@partaux{\@percentchar\@percentchar - ExternalXRefWrap {\filesep} {}% - }% - \fi - {% - \let\ttfamily\relax - \xdef\filekey{% - \filekey, \thepart={\ttfamily\currentfile}% - }% - }% - \DocInput{#1.dtx}% - \clearpage - \@writeckpt{#1}% - \if@filesw \immediate\closeout\@partaux \fi - \else - \@nameuse{cp@#1}% - \fi - \let\@auxout\@mainaux - } - }{} -}{} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% -% \subsection{New implementation} -% \label{Ssec:New DocInclude} -% -% The default action of the second implementation is to be precisely an -% |\include| variant of |\DocInput|, but in addition to that it also -% has a (one-argument) hook called |\docincludeaux| which is executed -% before a file is actually |\DocInput|ted, but after it has been -% determined that it should be included, and this hook is only executed -% for the files which should be |\include|d. This hook is normally -% |\@gobble|, but passing the \texttt{fileispart} option to -% \package{xdoc} redefines it to start a new part and set the pagestyle. -% -% \begin{macro}{\DocInclude} -% \begin{macro}{\@docinclude} -% Most of the code for the |\DocInclude| command is put in the -% |\@docinclude| macro; |\DocInclude| simply checks that it hasn't -% been nested. The main difference to |\include| is that a nested -% |\DocInclude| becomes an error plus the corresponding |\DocInput|, -% whereas a nested |\include| simply becomes an error. The rationale -% for this is that it is probably closer to what was intended. -% -% The argument of |\@docinclude| is, oddly enough, space-delimited. -% This is inherited from the |\@include| macro in the \LaTeX\ kernel, -% where it is a hack to make sure that the part \texttt{.aux} file -% that is opened for writing really gets the suffix \texttt{.aux} (in -% the worst case, \TeX\ could start overwriting a \texttt{.tex} file -% instead). -% \begin{macrocode} -\@ifpackagewith{xdoc2}{olddocinclude}{}{% - \def\DocInclude#1{% - \ifnum\@auxout=\@partaux - \@latexerr{\string\include\space cannot be nested}{% - Your \protect\DocInclude\space will be reduced to a - \protect\DocInput.% - }% - \DocInput{#1.dtx}% - \else \@docinclude#1 \fi - }% -% \end{macrocode} -% The only things in this |\@docinclude| that are not precisely as in -% |\@include| are the |\docincludeaux| and |\DocInput| commands. -% \begin{macrocode} - \def\@docinclude#1 {% - \clearpage - \if@filesw - \immediate\write\@mainaux{\string\@input{#1.aux}}% - \fi - \@tempswatrue - \if@partsw - \@tempswafalse - \edef\@tempb{#1}% - \@for\@tempa:=\@partlist\do{% - \ifx\@tempa\@tempb \@tempswatrue \fi - }% - \fi - \if@tempswa - \let\@auxout\@partaux - \if@filesw - \immediate\openout\@partaux #1.aux - \immediate\write\@partaux{\relax}% - \fi - \docincludeaux{#1.dtx}% - \DocInput{#1.dtx}% - \clearpage - \@writeckpt{#1}% - \if@filesw \immediate\closeout\@partaux \fi - \else - \deadcycles\z@ - \@nameuse{cp@#1}% - \fi - \let\@auxout\@mainaux - }% -}{} -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{option}{fileispart} -% \begin{macro}{\docincludeaux} -% The \texttt{fileispart} option works by (re)defining a couple of -% macros, of which the |\doc|\-|include|\-|aux| macro is the most -% important. Its syntax is -% \begin{quote} -% |\docincludeaux|\marg{filename} -% \end{quote} -% where \meta{filename} is the name of a file that will be inputted. -% The \texttt{fileispart} definition of this is to set |\currentfile| -% to the harmless character string of \meta{filename}, produce a -% |\part| heading whose text is that \meta{filename}, add the -% \meta{filename} to the |\filekey| macro, set the page style to -% \texttt{docpart}, clear the |\filedate|, |\fileversion|, and -% |\fileinfo| macros, and write an |External|\-|XRef|\-|Wrap| -% XXR-command to the \texttt{.aux} file to record the new codeline -% number prefix. -% \begin{macrocode} -\@ifpackagewith{xdoc2}{olddocinclude}{\iffalse}{ - \@ifpackagewith{xdoc2}{fileispart}{\iftrue}{ - \let\docincludeaux=\@gobble - \iffalse - } -} % If fileispart and not olddocinclude then - \def\docincludeaux#1{% - \MakeHarmless\currentfile{#1}% - \part{\texttt{\currentfile}}% - \pagestyle{docpart}% - \let\filedate\@empty - \let\fileversion\@empty - \let\fileinfo\@empty - \protected@xdef\filekey{% - \filekey, \thepart=\texttt{\currentfile}% - }% - \if@filesw - \immediate\write\@partaux{\@percentchar\@percentchar - ExternalXRefWrap {\thepart\XD@page@compositor} {}% - }% - \fi - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\CodelineIndex} -% \changes{prot2.1}{2000/10/08}{Using \cs{thecodelineno}. (LH)} -% The \texttt{fileispart} option also adds the \texttt{codelineno} -% counter to the reset list for \texttt{part} and changes the format -% of codeline numbers written to the index. -% \begin{macrocode} - \@ifclassloaded{ltxdoc}{}{\@addtoreset{codelineno}{part}}% - \renewcommand\CodelineIndex{% - \makeindex - \let\XD@if@index=\@firstoftwo - \codeline@indextrue - \def\TheXDIndexNumber{\thepart\XD@page@compositor\thecodelineno}% - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\partname} -% \begin{macro}{\thepart} -% \begin{macro}{\IndexParms} -% Finally there are a couple of macros which are redefined for -% aesthetic rather than technical reasons. Passing the -% \texttt{fileispart} option sets |\partname| to \texttt{File}, sets -% |\thepart| to |\aalph{part}|, and adds a setting of pagestyle to -% |\IndexParms|. (The pagestyle setting is added to -% |\index@|\B|prologue| by \package{ltxdoc}, but I think -% |\Index|\-|Parms| is more appropriate.) -% \begin{macrocode} - \def\partname{File} - \def\thepart{\aalph{part}} - \expandafter\def \expandafter\IndexParms - \expandafter{\IndexParms \pagestyle{docindex}} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% -% In case the index formatting is handled by the \package{docindex} -% package~\cite{docindex} (or its \LaTeXe\ incarnation -% \package{docidx2e}), the above addition to |\Index|\-|Parms| won't -% have any effect. Therefore \package{xdoc} also passes the -% \texttt{use}\-\texttt{doc}\-\texttt{index}\-\texttt{ps} option on -% to these packages. -% \begin{macrocode} - \PassOptionsToPackage{usedocindexps}{docindex} - \PassOptionsToPackage{usedocindexps}{docidx2e} -\fi -% \end{macrocode} -% \end{option} -% -% \begin{macro}{\ps@docpart} -% \begin{macro}{\setfileinfo} -% \begin{macro}{\XD@set@file@info} -% The \texttt{docpart} pagestyle is for pages made from the -% |\DocInclude|d files. The page footers contain the page number, the -% part (file) number, and the current file name. It also contains the -% file date and version if that information is available. -% -% \package{ltxdoc} uses |\GetFileInfo| to get the date and version -% information, but that's a very peculiar practice. The data one wants -% to present are about the file being typeset---typically the version -% of the package that is documented in this file---whereas the -% |\GetFileInfo| command really extracts information about -% \emph{unpacked} classes, packages, and similar files---files that -% contribute to the typesetting by defining commands, not by containing -% text. Such information may be of interest for documents which contain -% alternative code for incompatible versions of for example a package, -% but it is of no use for printing version information as above since -% the version of a package used for typesetting a \texttt{.dtx} file -% need not be the version actually contained in that \texttt{.dtx} -% file. Thus the only way to make this work is by doing as the \LaTeX\ -% kernel source and include |\ProvidesFile| commands for the -% \texttt{.dtx} file in each such file, which is a rather peculiar use -% of the |\ProvidesFile| command. -% -% The |\setfileinfo| command provides an equivalent feature in a less -% roundabout way. It has the syntax -% \begin{quote} -% |\setfileinfo[|\meta{date}\verb*+ +\meta{version}\verb*+ +^^A -% \meta{info}|]| -% \end{quote} -% and it sets |\filedate| to \meta{date}, |\fileversion| to -% \meta{version}, and |\fileinfo| to \meta{info} if the optional -% argument is present; if the optional argument is missing or contains -% fewer than three words then the missing fields are set to |?|. -% -% \begin{macrocode} -\@ifpackagewith{xdoc2}{olddocinclude}{}{% - \def\ps@docpart{% - \def\@oddfoot{% - File: \texttt{\currentfile}% - \ifx \filedate\@empty \else \ Date: \filedate\fi - \ifx \fileversion\@empty \else \ Version: \fileversion\fi - \hfill\thepage - }% - \if@twoside - \def\@evenfoot{% - \thepage\hfill - File: \texttt{\currentfile}% - \ifx \filedate\@empty \else \ Date: \filedate\fi - \ifx \fileversion\@empty \else \ Version: \fileversion\fi - }% - \else \let\@evenfoot\@oddfoot \fi - } -% \end{macrocode} -% The corresponding definition in \package{ltxdoc} (there it appears in -% |\docincludeaux|) is peculiar in that the odd page footer is set -% globally but the even page footer only locally. -% -% The definition of |\setfileinfo| follows that of |\GetFileInfo| -% except for the fact that the |\relax|es have been replaced by -% |\@empty|s. -% \begin{macrocode} - \newcommand\setfileinfo[1][]{% - \edef\@tempa{#1}% - \expandafter\XD@set@file@info \@tempa\@empty? ? \@empty\@empty - } - \def\XD@set@file@info#1 #2 #3\@empty#4\@empty{% - \def\filedate{#1}% - \def\fileversion{#2}% - \def\fileinfo{#3}% - } -}{} -% \end{macrocode} -% The reason for making the argument of |\setfileinfo| optional is -% that with the |\Provides|\-|File| practice one can (potentially) put -% all date and version information in one place through tricks like -% \iffalse -%<*example> -% \fi -%\begin{verbatim} -%% \begin{macrocode} -%\ProvidesPackage{foobar} -%% \end{macrocode} -%% \ProvidesFile{foobar.dtx} -% [2000/02/02 v1.0 Silly example package] -%% -%\end{verbatim}\iffalse -%</example> -% \fi -% By making the argument of |\setfileinfo| optional, I make sure that -% people who have used such tricks only have to replace the -% |\ProvidesFile{foobar.dtx}| by |\setfileinfo|. -% \end{macro}\end{macro}\end{macro} -% -% -% \begin{macro}{\ps@docindex} -% \begin{macro}{\filekey} -% The \texttt{docindex} pagestyle is for the index in -% \texttt{fileispart} documents. It prints a file key, which is a -% list of all the included files and their corresponding part letters, -% at the bottom of every page. The file key is stored in the macro -% |\filekey|, which should have been constructed file by file as they -% are included. To add a file to the file key, it is recommended that -% you do -% \begin{quote} -% |\protected@xdef\filekey{\filekey, |\meta{entry for new file}|}| -% \end{quote} -% The \texttt{fileispart} version of |\docincludeaux| already does -% this. The initial value of |\filekey| is |\@gobble| so that the -% comma before the first entry is removed. The |\@empty| below is -% there in case no entry has been inserted. -% \begin{macrocode} -% \@ifpackagewith{xdoc2}{olddocinclude}{}{% - \def\ps@docindex{% - \def\@oddfoot{% - \parbox{\textwidth}{% - \strut\footnotesize\raggedright - \textbf{File Key:} \filekey\@empty - }% - }% - \let\@evenfoot\@oddfoot - }% - \let\filekey\@gobble -% } -% \end{macrocode} -% \end{macro}\end{macro} -% -% It should be observed that since |\ps@docindex| only sets the page -% style locally, the page style will revert to its previous setting at -% the end of the \texttt{theindex} environment. As that previous -% setting is probably that of the \texttt{docpart} page style, you -% might have to set the page style manually. -% -% \begin{macro}{\aalph} -% \begin{macro}{\@aalph} -% |\aalph| is a variant of |\alph| which continues with the upper case -% letters for 27--52. It is defined by \package{ltxdoc}, so it is -% merely provided here. -% \begin{macrocode} -\providecommand*\aalph[1]{\@aalph{\csname c@#1\endcsname}} -\providecommand*\@aalph[1]{% - \ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or - j\or k\or l\or m\or n\or o\or p\or q\or r\or s\or - t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or - D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or - N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or - X\or Y\or Z\else\@ctrerr\fi -} -% \end{macrocode} -% In \texttt{source2e.tex} one can see that \package{doc}'s standard -% \texttt{gind.ist} index style file won't sort the 35th file (part -% \texttt{I}) correctly since it causes \package{makeindex} to read an -% \texttt{I} as ``upper case Roman numeral one'', but I doubt very -% many people encounter that problem in their projects. -% \end{macro}\end{macro} -% -% \begin{macro}{\XD@page@compositor} -% \changes{prot2.2}{2001/02/13}{Macro added, other macros changed to -% use it. (LH)} -% The |\XD@page@compositor| macro contains the string which is put -% between the parts of a composite number in the index; it -% corresponds to the |page_compositor| parameter of -% \package{makeindex}. -% \begin{macrocode} -\providecommand*\XD@page@compositor{-} -% \end{macrocode} -% \end{macro} -% -% -% -% \section{Miscellanea} -% -% \subsection{Some \LaTeXplus\ stuff} -% -% \begin{macro}{\BooleanFalse} -% \begin{macro}{\BooleanTrue} -% \begin{macro}{\NoValue} -% These three macros are borrowed from the \package{xparse} -% package~\cite{xparse}, where they work as the three values -% \emph{boolean false}, \emph{boolean true}, and \emph{absence of -% value} respectively. The definitions are taken from -% \package{xparse} v\,0.17 (1999/09/10). -% \begin{macrocode} -\@ifundefined{BooleanFalse}{\def\BooleanFalse{TF}}{} -\@ifundefined{BooleanTrue}{\def\BooleanTrue{TT}}{} -\@ifundefined{NoValue}{\def\NoValue{-NoValue-}}{} -% \end{macrocode} -% By using these macros (rather than some homegrown set of macros -% or tokens) for denoting these values here I hopefully simplify a -% transition to \LaTeXplus, but I don't want to rely on \LaTeXplus\ -% since it hasn't been released yet. -% \end{macro}\end{macro}\end{macro} -% -% -% \subsection{The \cs{meta} command} -% -% A reimplementation which has already (as of v\,2.0k) found its way into -% the \package{doc} package is the one that the |\meta| command is made -% robust, but since some people might still have older -% versions of \package{doc} and since that feature is needed for -% |\describe|\-|cs|\-|family|, I apply it here too. First I check -% whether the definition of |\meta| is the old non-robust definition, -% and only apply the fix if it is. -% \begin{macrocode} -\begingroup -\obeyspaces% -\catcode`\^^M\active% -\gdef\@gtempa{\begingroup\obeyspaces\catcode`\^^M\active% -\let^^M\do@space\let \do@space% -\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\itshape}% -\m@ta}% -\endgroup -\ifx \meta\@gtempa -% \end{macrocode} -% -% \begin{macro}{\l@nohyphenation} -% The new implementation needs a |\language| without any hyphenation -% patterns. By switching to that language, one can inhibit -% hyphenation in a piece of text regardless of what line-breaking -% parameter settings are in force when the paragraph is actually -% broken. This new language will be called \texttt{nohyphenation} and -% it is only allocated if it isn't already known (since some -% \package{babel} settings files already defines this |\language|). -% \begin{macrocode} - \@ifundefined{l@nohyphenation}{\newlanguage\l@nohyphenation}{} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\meta} -% \begin{macro}{\meta@font@select} -% This is the definition of |\meta| from \package{doc} v\,2.0m. For -% an explanation of the implementation, se a \texttt{doc.dtx} at least -% that new or entry \texttt{latex/3170} in the \LaTeX\ bugs database. -% \begin{macrocode} - \DeclareRobustCommand\meta[1]{% - \ensuremath\langle - \ifmmode \expandafter \nfss@text \fi - {% - \meta@font@select - \edef\meta@hyphen@restore - {\hyphenchar\the\font\the\hyphenchar\font}% - \hyphenchar\font\m@ne - \language\l@nohyphenation - #1\/% - \meta@hyphen@restore - }\ensuremath\rangle - } -% \end{macrocode} -% \begin{macrocode} - \let\meta@font@select=\itshape -\fi -% \end{macrocode} -% \end{macro}\end{macro} -% -% \begin{macro}{\MetaNormalfont} -% \changes{prot2}{2000/07/24}{Removed robustness; protected it -% explicitly wherever needed instead. (LH)} -% The |\MetaNormalfont| command redefines |\meta@font@select| to do a -% |\normal|\-|font| before the |\itshape|. It is useful if |\meta| is -% going to be used to make |\rmfamily| interjections in |\ttfamily| -% text. -% \begin{macrocode} -\newcommand\MetaNormalfont{\def\meta@font@select{\normalfont\itshape}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\XD@harmless\meta} -% This macro is needed for making |\meta| behave as described in the -% argument of |\describe|\-|cs|\-|family|, i.e., in text which is -% going to be converted into a harmless character string. -% \begin{macrocode} -\@namedef{XD@harmless\string\meta}#1{% - \toks@=\expandafter{\the\toks@ \meta{#1}}% - \XD@harmless@ -} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{The checksum feature} -% -% The checksum mechanism in \package{doc} is a remnant from the times -% when file truncation was a common problem and a mechanism for -% detecting this was a great help.\footnote{Even though I suspect that -% the recommended use of it---to put the checking \cs{Finale} at the -% end of the \texttt{.dtx} file---may have reduced its usefulness -% dramatically, as that \cs{Finale} would have been the one thing that -% surely disappears if the file is truncated.} Today its main usefulness -% seems to lie in that it distinguishes versions of a file that are -% ``being worked on'' (where the checksum probably doesn't match) from -% versions of a file that are ``polished and ready for upload'' -% (someone has bothered to fix the checksum), and as it exists it might -% as well stay. There is a problem however with files which do not -% contain \TeX\ code, as simply counting backslashes quite probably -% isn't a good (or even reasonable) way of forming a checksum for these -% files (if the checksum turns out to be zero, \package{doc} will -% complain no matter what you do). -% -% \begin{macro}{\check@checksum} -% \changes{prot2.1}{2000/10/02}{Redefinition added. (LH)} -% For that reason, the |\check@checksum| macro is redefined to only -% write the ``no checksum'' warning to the log file if the checksum -% hasn't been set. -% \begin{macrocode} -\renewcommand\check@checksum{% - \relax - \ifnum \check@sum=\z@ - \PackageInfo{doc}{This macro file has no checksum!\MessageBreak - The checksum should be \the\bslash@cnt}% - \else\ifnum \check@sum=\bslash@cnt - \typeout{*******************}% - \typeout{* Checksum passed *}% - \typeout{*******************}% - \else - \PackageError{doc}{Checksum not passed (\the\check@sum - <>\the\bslash@cnt)}{The file currently documented seems - to be wrong.\MessageBreak Try to get a correct version.}% - \fi\fi - \global\check@sum\z@ -} -% \end{macrocode} -% \end{macro} -% -% -% \subsection{The \cs{theCodelineNo} situation} -% \label{Ssec:CodelineNo} -% -% \changes{prot2.1}{2000/10/08}{\cs{theCodelineNo} situation cleared -% up. (LH)} -% \package{doc} incorporates formatting of the value of the -% \texttt{CodelineNo} counter in the |\theCodelineNo| macro, which is a -% bit awkward since it prevents using this macro in making e.g.\ index -% entries. To get around this, \package{xdoc} introduces the alternative -% name \texttt{codelineno} for this counter so that |\thecodelineno| can -% produce the value representation without formatting. -% -% \begin{macro}{\c@codelineno} -% \begin{macro}{\cl@codelineno} -% \begin{macro}{\p@codelineno} -% \begin{macro}{\thecodelineno} -% The control sequences connected to the \texttt{codelineno} counter -% are |\let| so that they refer to the same |\count| register as the -% \texttt{CodelineNo} counter. Note that \texttt{CodelineNo} isn't a -% proper \LaTeX\ counter, so the macros |\cl@CodelineNo| and -% |\p@CodelineNo| are undefined. |\thecodelineno| is set to the default -% value for a new counter. -% \begin{macrocode} -\@ifundefined{c@codelineno}{}{% - \PackageInfo{xdoc2}{Overwriting codelineno counter}% -} -\let\c@codelineno=\c@CodelineNo -\let\cl@codelineno=\@empty -\let\p@codelineno=\@empty -\def\thecodelineno{\@arabic\c@codelineno} -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% -% \begin{macro}{\PrintCodelineNo} -% The |\PrintCodelineNo| command is the new recommended command for -% printing the formatted form of the codeline number counter. People -% who write their own \texttt{macrocode}-like environments should use -% |\PrintCodelineNo| instead of \package{doc}'s |\theCodelineNo|. -% \begin{macrocode} -\newcommand\PrintCodelineNo{\reset@font\scriptsize\thecodelineno} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\theCodelineNo} -% Finally |\theCodelineNo| is redefined to reference -% |\PrintCodelineNo|. This is done for the sake of backwards -% compability; I didn't feel like redefining |\macro@code| just for -% the sake of changing the |\theCodelineNo| into a |\PrintCodelineNo|). -% \begin{macrocode} -\def\theCodelineNo{\PrintCodelineNo} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</pkg> -% \end{macrocode} -% -% -% \section{Problems and things to do} -% -% This section lists some problems that exist with the current -% implementations of commands in \package{xdoc}. The list is rather -% unstable---items are added as I realize there is a problem and removed -% when I find a solution---an in parts it is rather esoteric since most -% of the problems have only been found theoretically. -% -% \medskip -% -% One of the less well-known features of the |\verb| command is that -% it automatically inhibits the known syntactic ligatures. There is -% no such mechanism implemented for the harmless character strings, -% so some (in \TeX\ \texttt{macrocode} uncommon) character sequences -% (such as |!`|) may produce unwanted results. The quick hack to -% circumvent this is to use the |\SetHarmState| command to mark one -% of the characters involved as problematic, as the |\PrintChar| -% command is implemented so that the character it prints will not be -% involved in ligaturing or kerning. On the other hand, \package{doc} -% does nothing to suppress syntactic ligatures in macro or environment -% names when they are printed in the margin, so for that material the -% \package{xdoc} implementation might actually improve things, although -% it could perform worse for verbatim material in the index and list of -% changes. -% -% \medskip -% -% Things to do and\slash or think about: -% \begin{itemize} -% \item -% Examine how complicated it would be to convert the -% |\PrintChar| commands for visible characters in a harmless -% character string back to explicit characters, for possible use in -% sort keys. (This could be used to ensure that visible characters -% are sorted in strict ASCII order.) -% \item -% Should those ``letters'' which are commonly used as word -% separators---in \LaTeX\ code mainly |@|---be ignored when sort -% keys are being formed (just like the backslash is)? (This would -% require a change in the implementation of the \texttt{macro} -% environment.) -% -% A mechanism for doing this is included as of prototype version~2.1. -% \item -% Examine how much more efficient it would be to put temporary -% additions to the index exclude list in a separate list instead of -% the main list. This could be advantageous for deeply nested -% \texttt{macro} environments, as \TeX\ will otherwise store as many -% (almost identical and often rather long) copies of the exclude list -% as there are nested environments. -% -% When asked about it, Frank Mittelbach didn't think there was -% any gains worth mentioning in this. On the other hand it might be -% worth investigating reimplementations that avoid calling |\trivlist| -% at the beginning of each \texttt{macro}-like environment when they -% are nested, since |\trivlist| does quite a lot of assignments. -% -% \item -% In an automatically generated index one often faces the problem -% that the entries at the innermost level are best formatted in one -% way when there is only one, but in a completely different way when -% there are several of them. To get optimal formatting in both cases, -% one would like to let the |\item|, |\subitem|, |\subsubitem| or -% corresponding macros detect the situation in this respect and -% choose the optimal formatting at each case. -% -% A mechanism for this is implemented by the \package{docindex} -% package. -% \end{itemize} -% -% -% \begin{thebibliography}{9} -% \bibitem{ltxdoc} -% David Carlisle: -% \textit{The file \texttt{ltxdoc.dtx} for use with \LaTeXe}, -% The \LaTeX3 Project; ^^A , 1993~ff. -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{base}\slash \texttt{ltxdoc.dtx}. -% \bibitem{docindex} -% Lars Hellstr\"om: -% \textit{The \package{docindex} package}, 2001, -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{exptl}\slash \texttt{xdoc}\slash -% \texttt{docindex.dtx}. -% \bibitem{fontinst} -% Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth (and as of v\,1.9 Lars -% Hellstr\"om): \textit{The \package{fontinst} utility}, v\,1.8~ff., -% documented source code, -% \textsc{ctan}:\discretionary{}{}{\thinspace}^^A -% \texttt{fonts}\slash \texttt{utilities}\slash -% \texttt{fontinst}\slash \texttt{source}/ -% \bibitem{clsguide} -% The \LaTeX3 Project: -% \textit{\LaTeXe~for class and package writers}, -% The \LaTeX3 Project; ^^A , 1995~ff. -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{base}\slash \texttt{clsguide.tex}. -% \bibitem{doc} -% Frank Mittelbach, B.~Hamilton Kelly, Andrew Mills, Dave Love, and -% Joachim \mbox{Schrod}: \textit{The \package{doc} and -% \package{shortvrb} Packages}, The \LaTeX3 Project; ^^A , 1993~ff. -% \textsc{ctan}:\discretionary{}{}{\thinspace}\texttt{macros}\slash -% \texttt{latex}\slash \texttt{base}\slash \texttt{doc.dtx}. -% \bibitem{xparse} -% Frank Mittelbach, Chris Rowley, and David Carlisle: \textit{The -% \package{xparse} package}, The \LaTeX3 Project, 1999. Currently -% not available by anonymous FTP, but available by HTTP from -% \texttt{www.latex-project.org} (look for ``experimental code''). -% \end{thebibliography} -% -% \Finale -\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.ins b/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.ins deleted file mode 100644 index ff4eb64bc5a..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.ins +++ /dev/null @@ -1,37 +0,0 @@ -% This file is the docstrip installation script for the xdoc2 package. -% -% It may be distributed under the conditions of the LaTeX -% Project Public License, either version 1.2 of this license or -% (at your option) any later version. The latest version of this -% license is in -% http://www.latex-project.org/lppl.txt -% and version 1.2 or later is part of all distributions of LaTeX -% version 1999/12/01 or later. -% -% Copyright 2000 2001 Lars Hellstr\"om - -\input docstrip - -\keepsilent - -\preamble - -This file may be distributed and/or modified under the conditions -of the LaTeX Project Public License, either version 1.2 of this -license or (at your option) any later version. The latest version -of this license is in - http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX -version 1999/12/01 or later. - -This file may only be distributed together with a copy of the source -file from which it was generated. You may distribute that source file -without this generated file. - -\endpreamble - -\usedir{tex/latex/misc} -\generate{\file{xdoc2.sty}{\from{xdoc2.dtx}{pkg,xdoc2}}} - -\endbatchfile -\end diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.pdf b/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.pdf Binary files differdeleted file mode 100644 index c71ef7aac30..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/xdoc2.pdf +++ /dev/null diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.pdf b/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.pdf Binary files differdeleted file mode 100644 index a368decfbc3..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.pdf +++ /dev/null diff --git a/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.tex b/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.tex deleted file mode 100644 index 026afcb9fb8..00000000000 --- a/Master/texmf-dist/source/fontinst/base/xdoc/xdocdemo.tex +++ /dev/null @@ -1,2599 +0,0 @@ -%% -%% This file may be distributed and/or modified under the conditions -%% of the LaTeX Project Public License, either version 1.2 of this -%% license or (at your option) any later version. The latest version -%% of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.2 or later is part of all distributions of LaTeX -%% version 1999/12/01 or later. -%% -%% Copyright 2000 2003 Lars Hellstr\"om -%% -\documentclass[twoside]{ltxdoc} -\usepackage[dolayout]{xdoc2} - -\DeclareRobustCommand\package[1]{\textsf{#1}} - -% I redefine theindex environment so that I can use floats normally -% inside it. Inside the multicolumn environment the float mechanism -% performs worse. This is the non-multicol definition from doc: -\makeatletter -\renewenvironment{theindex}{% - \@restonecoltrue - \if@twocolumn\@restonecolfalse\fi - \columnseprule \z@ - \columnsep 35\p@ - \twocolumn[\index@prologue]% - \IndexParms - \let\item\@idxitem - \ignorespaces -}{\if@restonecol\onecolumn\else\clearpage\fi} -\makeatother - -\begin{document} - -\begin{abstract} - This document contains some demonstrations of features in the - \package{xdoc} package. It's not particularly organised, though. -\end{abstract} - -\section{Describing control sequence families} - -The following piece of code is from the source for \package{fontinst}: -\begin{verbatim} - The kerning information is kept in the macros - \describecsfamily{l-\meta{name}}|\l-|\meta{name} and - \describecsfamily{r-\meta{name}}|\r-|\meta{name}, containing - information about how \meta{name} kerns on the left and on the right, - respectively. The |\l-|\meta{name} macro should expand out to a - series of - \begin{quote} - \DescribeMacro{\k}|\k|\,|\r-|\meta{name}\,|\|\meta{amount} - \end{quote} - control sequences, and vice versa. Examples of - \describecsfamily{\meta{amount}} |\|\meta{amount} - control sequences are: |\0|, |\1|, |\1000|, |\-50|, |\33|; these - corresponds to the kern amounts $0$, $1$, $1000$ (which would be - a very large kern), $-50$, and $33$ respectively. -\end{verbatim} -Now I'm going to write that it typesets as what follows below, but it -looks better if this paragraph is a couple of lines long, since that -enables one to see where the right margin actually begins. But that -seems to be long enough. Thus: -It typesets as -\begin{quote} - The kerning information is kept in the macros - \describecsfamily{l-\meta{name}}|\l-|\meta{name} and - \describecsfamily{r-\meta{name}}|\r-|\meta{name}, containing - information about how \meta{name} kerns on the left and on the right, - respectively. The |\l-|\meta{name} macro should expand out to a - series of - \begin{quote} - \DescribeMacro{\k}|\k|\,|\r-|\meta{name}\,|\|\meta{amount} - \end{quote} - control sequences, and vice versa. Examples of - \describecsfamily{\meta{amount}} |\|\meta{amount} - control sequences are: |\0|, |\1|, |\1000|, |\-50|, |\33|; these - corresponds to the kern amounts $0$, $1$, $1000$ (which would be - a very large kern), $-50$, and $33$ respectively. -\end{quote} - - -\section{Defining new \texttt{macro}-like environments} - -Another example from \package{fontinst}---the \package{fisource} -package (v\,2.02) contains the command -\begin{verbatim} -\NewMacroEnvironment{fistring}{\XD@grab@harmless\relax}{1}% - {\MacroFont#1 \normalfont string}% - {\XDMainIndex{\levelsorted{#1 I}{\texttt{#1} (string)}}% - \XDMainIndex{\levelsame{strings:}\levelsorted{#1}{\texttt{#1}}}}% - {{#1}{\texttt{#1} string}}% - {} -\end{verbatim} -which defines a new \texttt{macro}-like environment called -\texttt{fistring} (for \package{fontinst} string variable). The fourth -argument above specifies how the marginal heading should be formatted, -the fifth argument specifies which index entries should be made on -account of this environment, and the sixth argument gives the list of -changes heading (and its sorting) that should be used inside this -\texttt{macro}-like environment. - -\makeatletter -\NewMacroEnvironment{fistring}{\XD@grab@harmless\relax}{1}% - {\MacroFont#1 \normalfont string}% - {\XDMainIndex{\levelsorted{#1 I}{\texttt{#1} (string)}}% - \XDMainIndex{\levelsame{strings:}\levelsorted{#1}{\texttt{#1}}}}% - {{#1}{\texttt{#1} string}}% - {} -\makeatother - -\MakePercentIgnore -% With the command defined, the code -%\begin{verbatim} -%% \begin{macro}{\make_pltotf} -%% \begin{fistring}{TFMfileprefix} -%% |\make_pltotf| writes a \package{PLtoTF} command for converting the -%% current font's PL file to a TFM file. If set, the string -%% \texttt{TFMfileprefix} will be prepended to the TFM file name---this -%% could be used for putting the TFMs in some directory other than the -%% current. -%% \begin{macrocode} -%\def\make_pltotf{ -% \pout_line\output_pltotf{pltotf~\TeX_font_name.pl~ -% \ifisstr{TFMfileprefix}\then \str{TFMfileprefix}\fi -% \TeX_font_name.tfm -% } -%} -%% \end{macrocode} -%% \end{fistring}\end{macro} -%\end{verbatim} -% will print as -% -% \begin{macro}{\make_pltotf} -% \begin{fistring}{TFMfileprefix} -% |\make_pltotf| writes a \package{PLtoTF} command for converting the -% current font's PL file to a TFM file. If set, the string -% \texttt{TFMfileprefix} will be prepended to the TFM file name---this -% could be used for putting the TFMs in some directory other than the -% current. -% \begin{macrocode} -\def\make_pltotf{ - \pout_line\output_pltotf{pltotf~\TeX_font_name.pl~ - \ifisstr{TFMfileprefix}\then \str{TFMfileprefix}\fi - \TeX_font_name.tfm - } -} -% \end{macrocode} -% \end{fistring}\end{macro} -% -\MakePercentComment - -\clearpage - -\section{Two-sided printing} - -As you may have noticed, marginal material has so far consistently -been put in the \emph{outer} margin, but the examples so far given of -such material that appears in the right margin have been restricted -to marginal material made via the |\marginpar| command (in various -disguises), and that isn't so hard to achieve. It's much harder to -achieve it for marginal material produced as list item labels, so here -are a few examples to illustrate that it works for these as well. (The -filling up text is taken from the \package{fontsmpl} package in the -Tools bundle.) - -\vspace*{0.5\textheight} - -(A bit of space to put the text near the page break.) - -% Hacks to ensure that some marginal text is positioned before the -% previous page is output. -\begingroup -\interlinepenalty=500 -\setlength\MacroTopsep{1\MacroTopsep plus 3\MacroTopsep} - -\begin{environment}{Stanford} - On November 14, 1885, Senator \& Mrs.~Leland Stanford called - together at their San Francisco mansion the 24~prominent men who - had been chosen as the first trustees of The Leland Stanford - Junior University. -\end{environment} - -\begin{environment}{charter} - They handed to the board the Founding Grant - of the University, which they had executed three days before. - This document---with various amendments, legislative acts, and - court decrees---remains as the University's charter. -\end{environment} - -\begin{environment}{objectives} - In bold, sweeping language it stipulates that the objectives of the - University are ``to qualify students for personal success and - direct usefulness in life; -\end{environment} - -\begin{environment}{continuation} - and to promote the publick welfare by - exercising an influence in behalf of humanity and civilization, - teaching the blessings of liberty regulated by law, and - inculcating love and reverence for the great principles of - government as derived from the inalienable rights of man to life, - liberty, and the pursuit of happiness.'' -\end{environment} - -\begin{environment}{CAPITALS} - (!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)' -\end{environment} - -\begin{environment}{accents-and-such} - ?`But aren't Kafka's Schlo\ss\ - and \AE sop's \OE uvres often na\"\i ve vis-\`a-vis the - d\ae monic ph\oe nix's official r\^ole in fluffy s\t ouffl\'es? -\end{environment} - -\endgroup - -As you might have noticed, the first marginal heading on this page was -put on the wrong side the first time the document was typeset. This is -however corrected the next time the document is typeset, and the -\package{xdoc} package gave a warning about it at the end of the run. - - -\section{An enriched index} - -The following index was automatically generated for copies of the -files \texttt{ltoutenc.dtx} and \texttt{cyoutenc.dtx} to which had -been added some extra markup. Most of that extra markup consisted of -\texttt{enccommand} and \texttt{enccomposite} environments (the -definitions of which can be found in Subsection~8.4 of -\texttt{xdoc2.dtx}), but I also added a couple of |\Describe|\-|Macro| -and |\describe|\-|cs|\-|family| commands where it seemed suitable. - - -\let\listenvironmentitem=\item - - - \begin{theindex} - \makeatletter\scan@allowedfalse -{\bfseries\hfil Symbols\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}"}\pfill a-371, a-475, a-666 - \subitem default\pfill \main{a-176} - \subitem \texttt {OT1} encoding\pfill \main{a-335} - \subitem \texttt {OT4} encoding\pfill \main{a-623} - \subitem \texttt {T1} encoding\pfill \main{a-407} - \subsubitem \texttt {A} composite\pfill \main{a-541} - \subsubitem \texttt {a} composite\pfill \main{a-567} - \subsubitem \texttt {E} composite\pfill \main{a-547} - \subsubitem \texttt {e} composite\pfill \main{a-573} - \subsubitem \texttt {I} composite\pfill \main{a-551} - \subsubitem \texttt {i} composite\pfill \main{a-580} - \subsubitem \texttt {\PrintChar{092}i} composite\pfill - \main{a-581} - \subsubitem \texttt {O} composite\pfill \main{a-557} - \subsubitem \texttt {o} composite\pfill \main{a-587} - \subsubitem \texttt {U} composite\pfill \main{a-561} - \subsubitem \texttt {u} composite\pfill \main{a-591} - \subsubitem \texttt {Y} composite\pfill \main{a-506} - \subsubitem \texttt {y} composite\pfill \main{a-533} - \subitem \texttt {T2A} encoding\pfill \main{b-17} - \subsubitem \texttt {\PrintChar{092}CYRE} composite\pfill - \main{b-441} - \subsubitem \texttt {\PrintChar{092}cyre} composite\pfill - \main{b-442} - \subsubitem \texttt {\PrintChar{092}CYRII} composite\pfill - \main{b-445} - \subsubitem \texttt {\PrintChar{092}cyrii} composite\pfill - \main{b-447} - \subitem \texttt {T2B} encoding\pfill \main{b-17} - \subsubitem \texttt {\PrintChar{092}CYRE} composite\pfill - \main{b-441} - \subsubitem \texttt {\PrintChar{092}cyre} composite\pfill - \main{b-442} - \subitem \texttt {T2C} encoding\pfill \main{b-17} - \subsubitem \texttt {\PrintChar{092}CYRE} composite\pfill - \main{b-441} - \subsubitem \texttt {\PrintChar{092}cyre} composite\pfill - \main{b-442} - \subitem \texttt {X2} encoding\pfill \main{b-17} - \subsubitem \texttt {\PrintChar{092}CYRE} composite\pfill - \main{b-441} - \subsubitem \texttt {\PrintChar{092}cyre} composite\pfill - \main{b-442} - \subsubitem \texttt {\PrintChar{092}CYRII} composite\pfill - \main{b-445} - \subsubitem \texttt {\PrintChar{092}cyrii} composite\pfill - \main{b-447} - \item \texttt {\PrintChar{092}'}\pfill a-373, a-477, a-668 - \subitem default\pfill \main{a-177} - \subitem \texttt {OT1} encoding\pfill \main{a-336} - \subitem \texttt {OT4} encoding\pfill \main{a-624} - \subsubitem \texttt {C} composite\pfill \main{a-687} - \subsubitem \texttt {c} composite\pfill \main{a-694} - \subsubitem \texttt {N} composite\pfill \main{a-689} - \subsubitem \texttt {n} composite\pfill \main{a-696} - \subsubitem \texttt {O} composite\pfill \main{a-700} - \subsubitem \texttt {o} composite\pfill \main{a-701} - \subsubitem \texttt {S} composite\pfill \main{a-690} - \subsubitem \texttt {s} composite\pfill \main{a-697} - \subsubitem \texttt {Z} composite\pfill \main{a-691} - \subsubitem \texttt {z} composite\pfill \main{a-698} - \subitem \texttt {T1} encoding\pfill \main{a-404} - \subsubitem \texttt {A} composite\pfill \main{a-538} - \subsubitem \texttt {a} composite\pfill \main{a-564} - \subsubitem \texttt {C} composite\pfill \main{a-486} - \subsubitem \texttt {c} composite\pfill \main{a-513} - \subsubitem \texttt {E} composite\pfill \main{a-545} - \subsubitem \texttt {e} composite\pfill \main{a-571} - \subsubitem \texttt {I} composite\pfill \main{a-549} - \subsubitem \texttt {i} composite\pfill \main{a-576} - \subsubitem \texttt {\PrintChar{092}i} composite\pfill - \main{a-577} - \subsubitem \texttt {L} composite\pfill \main{a-492} - \subsubitem \texttt {l} composite\pfill \main{a-519} - \subsubitem \texttt {N} composite\pfill \main{a-494} - \subsubitem \texttt {n} composite\pfill \main{a-521} - \subsubitem \texttt {O} composite\pfill \main{a-554} - \subsubitem \texttt {o} composite\pfill \main{a-584} - \subsubitem \texttt {R} composite\pfill \main{a-497} - \subsubitem \texttt {r} composite\pfill \main{a-524} - \subsubitem \texttt {S} composite\pfill \main{a-499} - \subsubitem \texttt {s} composite\pfill \main{a-526} - \subsubitem \texttt {U} composite\pfill \main{a-559} - \subsubitem \texttt {u} composite\pfill \main{a-589} - \subsubitem \texttt {Y} composite\pfill \main{a-562} - \subsubitem \texttt {y} composite\pfill \main{a-592} - \subsubitem \texttt {Z} composite\pfill \main{a-507} - \subsubitem \texttt {z} composite\pfill \main{a-534} - \subitem \texttt {T2A} encoding\pfill \main{b-14} - \subitem \texttt {T2B} encoding\pfill \main{b-14} - \subitem \texttt {T2C} encoding\pfill \main{b-14} - \subitem \texttt {X2} encoding\pfill \main{b-14} - \item \texttt {\MetaNormalfont \PrintChar{092}\meta {encoding}-cmd}\pfill - \usage{6} - \item \texttt {\MetaNormalfont \PrintChar{092}\meta {encoding}\PrintChar{092}\meta {command}}\pfill - \usage{6} - \item \texttt {\PrintChar{092}-}\pfill a-367, a-368, a-470, - a-662, a-663 - \item \texttt {\PrintChar{092}.}\efill - \subitem default\pfill \main{a-178} - \subitem \texttt {OT1} encoding\pfill \main{a-337} - \subitem \texttt {OT4} encoding\pfill \main{a-625} - \subsubitem \texttt {Z} composite\pfill \main{a-692} - \subsubitem \texttt {z} composite\pfill \main{a-699} - \subitem \texttt {T1} encoding\pfill \main{a-413} - \subsubitem \texttt {I} composite\pfill \main{a-510} - \subsubitem \texttt {i} composite\pfill \main{a-483} - \subsubitem \texttt {Z} composite\pfill \main{a-509} - \subsubitem \texttt {z} composite\pfill \main{a-536} - \subitem \texttt {T2A} encoding\pfill \main{b-23} - \subsubitem \texttt {i} composite\pfill \main{b-75} - \subitem \texttt {T2B} encoding\pfill \main{b-23} - \subsubitem \texttt {i} composite\pfill \main{b-75} - \subitem \texttt {T2C} encoding\pfill \main{b-23} - \subsubitem \texttt {i} composite\pfill \main{b-75} - \subitem \texttt {X2} encoding\pfill \main{b-23} - \subsubitem \texttt {i} composite\pfill \main{b-75} - \item \texttt {\PrintChar{092}<}\pfill a-471, a-616 - \item \texttt {\MetaNormalfont \PrintChar{092}?\PrintChar{092}\meta {command}}\pfill - \usage{6} - \item \texttt {\PrintChar{092}\PrintChar{036}}\pfill a-251, a-392, - a-399, a-464, a-678, a-685 - \item \texttt {\PrintChar{092}\PrintChar{037}}\pfill a-427, a-429, - b-39, b-41 - \item \texttt {\PrintChar{092}\PrintChar{061}}\efill - \subitem default\pfill \main{a-179} - \subitem \texttt {OT1} encoding\pfill \main{a-338} - \subitem \texttt {OT4} encoding\pfill \main{a-626} - \subitem \texttt {T1} encoding\pfill \main{a-412} - \subitem \texttt {T2A} encoding\pfill \main{b-22} - \subitem \texttt {T2B} encoding\pfill \main{b-22} - \subitem \texttt {T2C} encoding\pfill \main{b-22} - \subitem \texttt {X2} encoding\pfill \main{b-22} - \item \texttt {\PrintChar{092}\PrintChar{062}}\pfill a-468, a-617 - \item \texttt {\PrintChar{092}\PrintChar{092}}\pfill a-459 - \item \texttt {\MetaNormalfont \PrintChar{092}\PrintChar{092}\meta {enc}\PrintChar{092}\meta {cmd}-\meta {arg}}\pfill - \usage{8} - \item \texttt {\PrintChar{092}\PrintChar{094}}\pfill a-233, a-457 - \subitem default\pfill \main{a-181} - \subitem \texttt {OT1} encoding\pfill \main{a-339} - \subitem \texttt {OT4} encoding\pfill \main{a-627} - \subitem \texttt {T1} encoding\pfill \main{a-405} - \subsubitem \texttt {A} composite\pfill \main{a-539} - \subsubitem \texttt {a} composite\pfill \main{a-565} - \subsubitem \texttt {E} composite\pfill \main{a-546} - \subsubitem \texttt {e} composite\pfill \main{a-572} - \subsubitem \texttt {I} composite\pfill \main{a-550} - \subsubitem \texttt {i} composite\pfill \main{a-578} - \subsubitem \texttt {\PrintChar{092}i} composite\pfill - \main{a-579} - \subsubitem \texttt {O} composite\pfill \main{a-555} - \subsubitem \texttt {o} composite\pfill \main{a-585} - \subsubitem \texttt {U} composite\pfill \main{a-560} - \subsubitem \texttt {u} composite\pfill \main{a-590} - \subitem \texttt {T2A} encoding\pfill \main{b-15} - \subitem \texttt {T2B} encoding\pfill \main{b-15} - \subitem \texttt {T2C} encoding\pfill \main{b-15} - \subitem \texttt {X2} encoding\pfill \main{b-15} - \begin{figure*} - A verbatim extract from the index (without \textsf{docidx2e}): - - \let\item=\listenvironmentitem - \expandafter\def \expandafter\MacroFont \expandafter{% - \MacroFont\footnotesize} - \begin{list}{}{\setlength{\leftmargin}{-0.5\marginparwidth}} - \item[] -\begin{verbatim} - \item \texttt {\PrintChar{092}\PrintChar{061}}\efill - \subitem default\pfill \main{a-179} - \subitem \texttt {OT1} encoding\pfill \main{a-338} - \subitem \texttt {OT4} encoding\pfill \main{a-626} - \subitem \texttt {T1} encoding\pfill \main{a-412} - \subitem \texttt {T2A} encoding\pfill \main{b-22} - \subitem \texttt {T2B} encoding\pfill \main{b-22} - \subitem \texttt {T2C} encoding\pfill \main{b-22} - \subitem \texttt {X2} encoding\pfill \main{b-22} - \item \texttt {\PrintChar{092}\PrintChar{062}}\pfill a-468, a-617 - \item \texttt {\PrintChar{092}\PrintChar{092}}\pfill a-459 - \item \texttt {\MetaNormalfont \PrintChar{092}\PrintChar{092}\meta {enc}\PrintChar{092}\meta {cmd}-\meta {arg}}\pfill - \usage{8} - \item \texttt {\PrintChar{092}\PrintChar{094}}\pfill a-233, a-457 - \subitem default\pfill \main{a-181} - \subitem \texttt {OT1} encoding\pfill \main{a-339} - \subitem \texttt {OT4} encoding\pfill \main{a-627} - \subitem \texttt {T1} encoding\pfill \main{a-405} - \subsubitem \texttt {A} composite\pfill \main{a-539} - \subsubitem \texttt {a} composite\pfill \main{a-565} - \subsubitem \texttt {E} composite\pfill \main{a-546} - \subsubitem \texttt {e} composite\pfill \main{a-572} - \subsubitem \texttt {I} composite\pfill \main{a-550} - \subsubitem \texttt {i} composite\pfill \main{a-578} - \subsubitem \texttt {\PrintChar{092}i} composite\pfill - \main{a-579} - \subsubitem \texttt {O} composite\pfill \main{a-555} - \subsubitem \texttt {o} composite\pfill \main{a-585} - \subsubitem \texttt {U} composite\pfill \main{a-560} - \subsubitem \texttt {u} composite\pfill \main{a-590} - \subitem \texttt {T2A} encoding\pfill \main{b-15} - \subitem \texttt {T2B} encoding\pfill \main{b-15} - \subitem \texttt {T2C} encoding\pfill \main{b-15} - \subitem \texttt {X2} encoding\pfill \main{b-15} - \item \texttt {\PrintChar{092}\PrintChar{095}}\pfill a-258 - \item \texttt {\PrintChar{092}\PrintChar{123}}\pfill a-252, a-461 - \item \texttt {\PrintChar{092}\PrintChar{124}}\pfill a-460 - \item \texttt {\PrintChar{092}\PrintChar{125}}\pfill a-253, a-462 - \item \texttt {\PrintChar{092}\PrintChar{126}}\pfill a-234, a-458 - \subitem default\pfill \main{a-189} - \subitem \texttt {OT1} encoding\pfill \main{a-341} - \subitem \texttt {OT4} encoding\pfill \main{a-629} - \subitem \texttt {T1} encoding\pfill \main{a-406} - \subsubitem \texttt {A} composite\pfill \main{a-540} - \subsubitem \texttt {a} composite\pfill \main{a-566} - \subsubitem \texttt {N} composite\pfill \main{a-552} - \subsubitem \texttt {n} composite\pfill \main{a-582} - \subsubitem \texttt {O} composite\pfill \main{a-556} - \subsubitem \texttt {o} composite\pfill \main{a-586} - \subitem \texttt {T2A} encoding\pfill \main{b-16} - \subitem \texttt {T2B} encoding\pfill \main{b-16} - \subitem \texttt {T2C} encoding\pfill \main{b-16} - \subitem \texttt {X2} encoding\pfill \main{b-16} -\end{verbatim} - \end{list} - \end{figure*} - \begin{figure*} - A verbatim extract from the index (with \textsf{docidx2e}): - - \let\item=\listenvironmentitem - \expandafter\def \csname macro@font\expandafter\endcsname - \expandafter{\MacroFont\footnotesize} - \csname codeline@indexfalse\endcsname - \begin{list}{}{% - \setlength{\leftmargin}{-0.5\marginparwidth}% - \setlength{\topsep}{0pt}% - } - \item[] -\begin{macrocode} -\indexitem{1}{\texttt {\PrintChar{092}\PrintChar{095}}}{9}{a\+258}{1} -\indexitem{1}{\texttt {\PrintChar{092}\PrintChar{123}}}{9}{a\+252, - a\+461}{1} -\indexitem{1}{\texttt {\PrintChar{092}\PrintChar{124}}}{9}{a\+460}{1} -\indexitem{1}{\texttt {\PrintChar{092}\PrintChar{125}}}{9}{a\+253, - a\+462}{1} -\indexitem{1}{\texttt {\PrintChar{092}\PrintChar{126}}}{9}{a\+234, - a\+458}{2} - \indexitem{2}{default}{9}{\main{a\+189}}{2} - \indexitem{2}{\texttt {OT1} encoding}{9}{\main{a\+341}}{2} - \indexitem{2}{\texttt {OT4} encoding}{9}{\main{a\+629}}{2} - \indexitem{2}{\texttt {T1} encoding}{9}{\main{a\+406}}{3} - \indexitem{3}{\texttt {A} composite}{9}{\main{a\+540}}{3} - \indexitem{3}{\texttt {a} composite}{9}{\main{a\+566}}{3} - \indexitem{3}{\texttt {N} composite}{9}{\main{a\+552}}{3} - \indexitem{3}{\texttt {n} composite}{9}{\main{a\+582}}{3} - \indexitem{3}{\texttt {O} composite}{9}{\main{a\+556}}{3} - \indexitem{3}{\texttt {o} composite}{9}{\main{a\+586}}{2} - \indexitem{2}{\texttt {T2A} encoding}{9}{\main{b\+16}}{2} - \indexitem{2}{\texttt {T2B} encoding}{9}{\main{b\+16}}{2} - \indexitem{2}{\texttt {T2C} encoding}{9}{\main{b\+16}}{2} - \indexitem{2}{\texttt {X2} encoding}{9}{\main{b\+16}}{1} -\indexitem{1}{\texttt {\PrintChar{092}`}}{9}{a\+372, a\+476, - a\+667}{2} - \indexitem{2}{default}{9}{\main{a\+182}}{2} - \indexitem{2}{\texttt {OT1} encoding}{9}{\main{a\+340}}{2} - \indexitem{2}{\texttt {OT4} encoding}{9}{\main{a\+628}}{2} - \indexitem{2}{\texttt {T1} encoding}{9}{\main{a\+403}}{3} - \indexitem{3}{\texttt {A} composite}{9}{\main{a\+537}}{3} - \indexitem{3}{\texttt {a} composite}{9}{\main{a\+563}}{3} - \indexitem{3}{\texttt {E} composite}{9}{\main{a\+544}}{3} - \indexitem{3}{\texttt {e} composite}{9}{\main{a\+570}}{3} - \indexitem{3}{\texttt {I} composite}{9}{\main{a\+548}}{3} - \indexitem{3}{\texttt {i} composite}{9}{\main{a\+574}}{3} - \indexitem{3}{\texttt {\PrintChar{092}i} composite}{9}{ - \main{a\+575}}{3} - \indexitem{3}{\texttt {O} composite}{9}{\main{a\+553}}{3} - \indexitem{3}{\texttt {o} composite}{9}{\main{a\+583}}{3} - \indexitem{3}{\texttt {U} composite}{9}{\main{a\+558}}{3} - \indexitem{3}{\texttt {u} composite}{9}{\main{a\+588}}{2} - \indexitem{2}{\texttt {T2A} encoding}{9}{\main{b\+13}}{2} - \indexitem{2}{\texttt {T2B} encoding}{9}{\main{b\+13}}{2} - \indexitem{2}{\texttt {T2C} encoding}{9}{\main{b\+13}}{2} - \indexitem{2}{\texttt {X2} encoding}{9}{\main{b\+13}}{0} -%^^A -\indexnewletter{0}{A}{1} -\indexitem{1}{\texttt {\PrintChar{092}a}}{9}{\main{a\+173}}{1} -\indexitem{1}{\texttt {\PrintChar{092}AA}}{9}{a\+190, a\+380, - a\+430}{1} -\indexitem{1}{\texttt {\PrintChar{092}aa}}{9}{a\+195, a\+374, - a\+440}{1} -\indexitem{1}{\texttt {\PrintChar{092}accent}}{9}{a\+71, a\+350, - a\+375, a\+418, a\+640, b\+31}{1} -% \end{macrocode} - \end{list} - \end{figure*} - \item \texttt {\PrintChar{092}\PrintChar{095}}\pfill a-258 - \item \texttt {\PrintChar{092}\PrintChar{123}}\pfill a-252, a-461 - \item \texttt {\PrintChar{092}\PrintChar{124}}\pfill a-460 - \item \texttt {\PrintChar{092}\PrintChar{125}}\pfill a-253, a-462 - \item \texttt {\PrintChar{092}\PrintChar{126}}\pfill a-234, a-458 - \subitem default\pfill \main{a-189} - \subitem \texttt {OT1} encoding\pfill \main{a-341} - \subitem \texttt {OT4} encoding\pfill \main{a-629} - \subitem \texttt {T1} encoding\pfill \main{a-406} - \subsubitem \texttt {A} composite\pfill \main{a-540} - \subsubitem \texttt {a} composite\pfill \main{a-566} - \subsubitem \texttt {N} composite\pfill \main{a-552} - \subsubitem \texttt {n} composite\pfill \main{a-582} - \subsubitem \texttt {O} composite\pfill \main{a-556} - \subsubitem \texttt {o} composite\pfill \main{a-586} - \subitem \texttt {T2A} encoding\pfill \main{b-16} - \subitem \texttt {T2B} encoding\pfill \main{b-16} - \subitem \texttt {T2C} encoding\pfill \main{b-16} - \subitem \texttt {X2} encoding\pfill \main{b-16} - \item \texttt {\PrintChar{092}`}\pfill a-372, a-476, a-667 - \subitem default\pfill \main{a-182} - \subitem \texttt {OT1} encoding\pfill \main{a-340} - \subitem \texttt {OT4} encoding\pfill \main{a-628} - \subitem \texttt {T1} encoding\pfill \main{a-403} - \subsubitem \texttt {A} composite\pfill \main{a-537} - \subsubitem \texttt {a} composite\pfill \main{a-563} - \subsubitem \texttt {E} composite\pfill \main{a-544} - \subsubitem \texttt {e} composite\pfill \main{a-570} - \subsubitem \texttt {I} composite\pfill \main{a-548} - \subsubitem \texttt {i} composite\pfill \main{a-574} - \subsubitem \texttt {\PrintChar{092}i} composite\pfill - \main{a-575} - \subsubitem \texttt {O} composite\pfill \main{a-553} - \subsubitem \texttt {o} composite\pfill \main{a-583} - \subsubitem \texttt {U} composite\pfill \main{a-558} - \subsubitem \texttt {u} composite\pfill \main{a-588} - \subitem \texttt {T2A} encoding\pfill \main{b-13} - \subitem \texttt {T2B} encoding\pfill \main{b-13} - \subitem \texttt {T2C} encoding\pfill \main{b-13} - \subitem \texttt {X2} encoding\pfill \main{b-13} - - \indexspace -{\bfseries\hfil A\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}a}\pfill \main{a-173} - \item \texttt {\PrintChar{092}AA}\pfill a-190, a-380, a-430 - \item \texttt {\PrintChar{092}aa}\pfill a-195, a-374, a-440 - \item \texttt {\PrintChar{092}accent}\pfill a-71, a-350, a-375, - a-418, a-640, b-31 - \item \texttt {\PrintChar{092}accent@spacefactor}\pfill a-70--a-72 - \item \texttt {\PrintChar{092}add@accent}\pfill a-65, \main{a-67} - \item \texttt {\PrintChar{092}AE}\efill - \subitem default\pfill \main{a-191} - \subitem \texttt {OT1} encoding\pfill \main{a-355} - \subitem \texttt {OT4} encoding\pfill \main{a-645} - \subitem \texttt {T1} encoding\pfill \main{a-431} - \item \texttt {\PrintChar{092}ae}\efill - \subitem default\pfill \main{a-196} - \subitem \texttt {OT1} encoding\pfill \main{a-358} - \subitem \texttt {OT4} encoding\pfill \main{a-649} - \subitem \texttt {T1} encoding\pfill \main{a-441} - \item \texttt {\PrintChar{092}afterassignment}\pfill a-162, a-170 - \item \texttt {\PrintChar{092}@autoerr}\pfill a-51 - - \indexspace -{\bfseries\hfil B\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}b}\efill - \subitem default\pfill \main{a-183} - \subitem \texttt {OT1} encoding\pfill \main{a-346} - \subitem \texttt {OT4} encoding\pfill \main{a-636} - \subitem \texttt {T1} encoding\pfill \main{a-414} - \subitem \texttt {T2A} encoding\pfill \main{b-27} - \subitem \texttt {T2B} encoding\pfill \main{b-27} - \subitem \texttt {T2C} encoding\pfill \main{b-27} - \subitem \texttt {X2} encoding\pfill \main{b-27} - - \indexspace -{\bfseries\hfil C\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}C}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-25} - \subitem \texttt {T2B} encoding\pfill \main{b-25} - \subitem \texttt {T2C} encoding\pfill \main{b-25} - \subitem \texttt {X2} encoding\pfill \main{b-25} - \item \texttt {\PrintChar{092}c}\efill - \subitem default\pfill \main{a-184} - \subitem \texttt {OT1} encoding\pfill \main{a-349} - \subitem \texttt {OT4} encoding\pfill \main{a-639} - \subitem \texttt {T1} encoding\pfill \main{a-417} - \subsubitem \texttt {C} composite\pfill \main{a-543} - \subsubitem \texttt {c} composite\pfill \main{a-569} - \subsubitem \texttt {S} composite\pfill \main{a-501} - \subsubitem \texttt {s} composite\pfill \main{a-528} - \subsubitem \texttt {T} composite\pfill \main{a-503} - \subsubitem \texttt {t} composite\pfill \main{a-530} - \subitem \texttt {T2A} encoding\pfill \main{b-30} - \subsubitem \texttt {\PrintChar{092}CYRZ} composite\pfill - \main{b-448} - \subsubitem \texttt {\PrintChar{092}cyrz} composite\pfill - \main{b-449} - \subitem \texttt {T2B} encoding\pfill \main{b-30} - \subitem \texttt {T2C} encoding\pfill \main{b-30} - \subitem \texttt {X2} encoding\pfill \main{b-30} - \subsubitem \texttt {\PrintChar{092}CYRZ} composite\pfill - \main{b-448} - \subsubitem \texttt {\PrintChar{092}cyrz} composite\pfill - \main{b-449} - \item \texttt {\PrintChar{092}capitalacute}\efill - \subitem default\pfill \main{a-848} - \subitem \texttt {TS1} encoding\pfill \main{a-713} - \item \texttt {\PrintChar{092}capitalbreve}\efill - \subitem default\pfill \main{a-855} - \subitem \texttt {TS1} encoding\pfill \main{a-720} - \item \texttt {\PrintChar{092}capitalcaron}\efill - \subitem default\pfill \main{a-854} - \subitem \texttt {TS1} encoding\pfill \main{a-719} - \item \texttt {\PrintChar{092}capitalcedilla}\efill - \subitem default\pfill \main{a-845} - \subitem \texttt {TS1} encoding\pfill \main{a-706} - \item \texttt {\PrintChar{092}capitalcircumflex}\efill - \subitem default\pfill \main{a-849} - \subitem \texttt {TS1} encoding\pfill \main{a-714} - \item \texttt {\PrintChar{092}capitaldieresis}\efill - \subitem default\pfill \main{a-851} - \subitem \texttt {TS1} encoding\pfill \main{a-716} - \item \texttt {\PrintChar{092}capitaldotaccent}\efill - \subitem default\pfill \main{a-857} - \subitem \texttt {TS1} encoding\pfill \main{a-722} - \item \texttt {\PrintChar{092}capitalgrave}\efill - \subitem default\pfill \main{a-847} - \subitem \texttt {TS1} encoding\pfill \main{a-712} - \item \texttt {\PrintChar{092}capitalhungarumlaut}\efill - \subitem default\pfill \main{a-852} - \subitem \texttt {TS1} encoding\pfill \main{a-717} - \item \texttt {\PrintChar{092}capitalmacron}\efill - \subitem default\pfill \main{a-856} - \subitem \texttt {TS1} encoding\pfill \main{a-721} - \item \texttt {\PrintChar{092}capitalnewtie}\efill - \subitem default\pfill \main{a-861} - \subitem \texttt {TS1} encoding\pfill \main{a-726} - \item \texttt {\PrintChar{092}capitalogonek}\efill - \subitem default\pfill \main{a-846} - \subitem \texttt {TS1} encoding\pfill \main{a-709} - \item \texttt {\PrintChar{092}capitalring}\efill - \subitem default\pfill \main{a-853} - \subitem \texttt {TS1} encoding\pfill \main{a-718} - \item \texttt {\PrintChar{092}capitaltie}\efill - \subitem default\pfill \main{a-859} - \subitem \texttt {TS1} encoding\pfill \main{a-724} - \item \texttt {\PrintChar{092}capitaltilde}\efill - \subitem default\pfill \main{a-850} - \subitem \texttt {TS1} encoding\pfill \main{a-715} - \item \texttt {\PrintChar{092}@car}\pfill a-77 - \item \texttt {\PrintChar{092}cf@encoding}\pfill a-29, a-36, a-39, - a-48, a-114 - \item \texttt {\PrintChar{092}@changed@cmd}\pfill \main{a-3}, a-63, - a-173 - \item \texttt {\PrintChar{092}@changed@x}\pfill \main{a-3}, a-161, - a-169 - \item \texttt {\PrintChar{092}@changed@x@mouth}\pfill a-161, a-169 - \item \texttt {\PrintChar{092}char}\pfill a-348, a-351, a-382, a-385, - a-392, a-399, a-416, a-419, a-425, a-427, a-429, a-610, - a-638, a-641, a-671, a-678, a-685, a-708, a-711, a-759, - b-29, b-32, b-37, b-39, b-41 - \item \texttt {\PrintChar{092}chardef}\pfill a-8 - \item \texttt {\PrintChar{092}copyright}\pfill a-232, a-260 - \item \texttt {\PrintChar{092}crcr}\pfill a-347, a-351, a-354, a-415, - a-420, a-423, a-425, a-609, a-637, a-641, a-644, a-708, - a-711, a-758, b-28, b-33, b-35, b-37 - \item \texttt {\PrintChar{092}@curr@enc}\pfill a-114, a-116 - \item \texttt {\PrintChar{092}curr@fontshape}\pfill a-130 - \item \texttt {\PrintChar{092}@current@cmd}\pfill a-20 - \item \texttt {\PrintChar{092}CurrentOption}\pfill a-300, a-302, - a-314 - \item \texttt {\PrintChar{092}CYRA}\pfill a-272 - \subitem \texttt {T2A} encoding\pfill \main{b-76} - \subitem \texttt {T2B} encoding\pfill \main{b-76} - \subitem \texttt {T2C} encoding\pfill \main{b-76} - \subitem \texttt {X2} encoding\pfill \main{b-76} - \item \texttt {\PrintChar{092}cyra}\pfill a-272, a-317 - \subitem \texttt {T2A} encoding\pfill \main{b-77} - \subitem \texttt {T2B} encoding\pfill \main{b-77} - \subitem \texttt {T2C} encoding\pfill \main{b-77} - \subitem \texttt {X2} encoding\pfill \main{b-77} - \item \texttt {\PrintChar{092}CYRABHCH}\pfill a-272, b-458, b-462 - \subitem \texttt {T2C} encoding\pfill \main{b-349} - \subitem \texttt {X2} encoding\pfill \main{b-381} - \item \texttt {\PrintChar{092}cyrabhch}\pfill a-272, b-459, b-463 - \subitem \texttt {T2C} encoding\pfill \main{b-350} - \subitem \texttt {X2} encoding\pfill \main{b-382} - \item \texttt {\PrintChar{092}CYRABHCHDSC}\pfill a-272 - \subitem \texttt {T2C} encoding\pfill \main{b-351} - \subitem \texttt {X2} encoding\pfill \main{b-383} - \item \texttt {\PrintChar{092}cyrabhchdsc}\pfill a-272 - \subitem \texttt {T2C} encoding\pfill \main{b-352} - \subitem \texttt {X2} encoding\pfill \main{b-384} - \item \texttt {\PrintChar{092}CYRABHDZE}\pfill a-273 - \subitem \texttt {T2B} encoding\pfill \main{b-271} - \subitem \texttt {T2C} encoding\pfill \main{b-329} - \subitem \texttt {X2} encoding\pfill \main{b-155} - \item \texttt {\PrintChar{092}cyrabhdze}\pfill a-272 - \subitem \texttt {T2B} encoding\pfill \main{b-272} - \subitem \texttt {T2C} encoding\pfill \main{b-330} - \subitem \texttt {X2} encoding\pfill \main{b-156} - \item \texttt {\PrintChar{092}CYRABHHA}\pfill a-273 - \subitem \texttt {T2C} encoding\pfill \main{b-361} - \subitem \texttt {X2} encoding\pfill \main{b-403} - \item \texttt {\PrintChar{092}cyrabhha}\pfill a-273 - \subitem \texttt {T2C} encoding\pfill \main{b-362} - \subitem \texttt {X2} encoding\pfill \main{b-404} - \item \texttt {\PrintChar{092}CYRAE}\pfill a-273 - \subitem \texttt {T2A} encoding\pfill \main{b-223} - \subitem \texttt {X2} encoding\pfill \main{b-374} - \item \texttt {\PrintChar{092}cyrae}\pfill a-273 - \subitem \texttt {T2A} encoding\pfill \main{b-224} - \subitem \texttt {X2} encoding\pfill \main{b-376} - \item \texttt {\PrintChar{092}CYRB}\pfill a-273 - \subitem \texttt {T2A} encoding\pfill \main{b-78} - \subitem \texttt {T2B} encoding\pfill \main{b-78} - \subitem \texttt {T2C} encoding\pfill \main{b-78} - \subitem \texttt {X2} encoding\pfill \main{b-78} - \item \texttt {\PrintChar{092}cyrb}\pfill a-273 - \subitem \texttt {T2A} encoding\pfill \main{b-79} - \subitem \texttt {T2B} encoding\pfill \main{b-79} - \subitem \texttt {T2C} encoding\pfill \main{b-79} - \subitem \texttt {X2} encoding\pfill \main{b-79} - \item \texttt {\PrintChar{092}CYRBYUS}\pfill a-274 - \subitem \texttt {X2} encoding\pfill \main{b-431} - \item \texttt {\PrintChar{092}cyrbyus}\pfill a-273 - \subitem \texttt {X2} encoding\pfill \main{b-432} - \item \texttt {\PrintChar{092}CYRC}\pfill a-274 - \subitem \texttt {T2A} encoding\pfill \main{b-120} - \subitem \texttt {T2B} encoding\pfill \main{b-120} - \subitem \texttt {T2C} encoding\pfill \main{b-120} - \subitem \texttt {X2} encoding\pfill \main{b-120} - \item \texttt {\PrintChar{092}cyrc}\pfill a-274 - \subitem \texttt {T2A} encoding\pfill \main{b-121} - \subitem \texttt {T2B} encoding\pfill \main{b-121} - \subitem \texttt {T2C} encoding\pfill \main{b-121} - \subitem \texttt {X2} encoding\pfill \main{b-121} - \item \texttt {\PrintChar{092}CYRCH}\pfill a-274 - \subitem \texttt {T2A} encoding\pfill \main{b-122} - \subitem \texttt {T2B} encoding\pfill \main{b-122} - \subitem \texttt {T2C} encoding\pfill \main{b-122} - \subitem \texttt {X2} encoding\pfill \main{b-122} - \item \texttt {\PrintChar{092}cyrch}\pfill a-274 - \subitem \texttt {T2A} encoding\pfill \main{b-123} - \subitem \texttt {T2B} encoding\pfill \main{b-123} - \subitem \texttt {T2C} encoding\pfill \main{b-123} - \subitem \texttt {X2} encoding\pfill \main{b-123} - \item \texttt {\PrintChar{092}CYRCHLDSC}\pfill a-274 - \subitem \texttt {T2B} encoding\pfill \main{b-303} - \subitem \texttt {X2} encoding\pfill \main{b-187} - \item \texttt {\PrintChar{092}cyrchldsc}\pfill a-274 - \subitem \texttt {T2B} encoding\pfill \main{b-304} - \subitem \texttt {X2} encoding\pfill \main{b-188} - \item \texttt {\PrintChar{092}CYRCHRDSC}\pfill a-275 - \subitem \texttt {T2A} encoding\pfill \main{b-247} - \subitem \texttt {T2B} encoding\pfill \main{b-305} - \subitem \texttt {T2C} encoding\pfill \main{b-363} - \subitem \texttt {X2} encoding\pfill \main{b-189} - \item \texttt {\PrintChar{092}cyrchrdsc}\pfill a-274 - \subitem \texttt {T2A} encoding\pfill \main{b-248} - \subitem \texttt {T2B} encoding\pfill \main{b-306} - \subitem \texttt {T2C} encoding\pfill \main{b-364} - \subitem \texttt {X2} encoding\pfill \main{b-190} - \item \texttt {\PrintChar{092}CYRCHVCRS}\pfill a-275 - \subitem \texttt {T2A} encoding\pfill \main{b-245} - \subitem \texttt {X2} encoding\pfill \main{b-423} - \item \texttt {\PrintChar{092}cyrchvcrs}\pfill a-275 - \subitem \texttt {T2A} encoding\pfill \main{b-246} - \subitem \texttt {X2} encoding\pfill \main{b-424} - \item \texttt {\PrintChar{092}CYRD}\pfill a-275 - \subitem \texttt {T2A} encoding\pfill \main{b-84} - \subitem \texttt {T2B} encoding\pfill \main{b-84} - \subitem \texttt {T2C} encoding\pfill \main{b-84} - \subitem \texttt {X2} encoding\pfill \main{b-84} - \item \texttt {\PrintChar{092}cyrd}\pfill a-275 - \subitem \texttt {T2A} encoding\pfill \main{b-85} - \subitem \texttt {T2B} encoding\pfill \main{b-85} - \subitem \texttt {T2C} encoding\pfill \main{b-85} - \subitem \texttt {X2} encoding\pfill \main{b-85} - \item \texttt {\PrintChar{092}cyrdash}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-43} - \subitem \texttt {T2B} encoding\pfill \main{b-43} - \subitem \texttt {T2C} encoding\pfill \main{b-43} - \subitem \texttt {X2} encoding\pfill \main{b-43} - \item \texttt {\PrintChar{092}CYRDELTA}\pfill a-275 - \subitem \texttt {T2B} encoding\pfill \main{b-269} - \subitem \texttt {X2} encoding\pfill \main{b-435} - \item \texttt {\PrintChar{092}cyrdelta}\pfill a-275 - \subitem \texttt {T2B} encoding\pfill \main{b-270} - \subitem \texttt {X2} encoding\pfill \main{b-436} - \item \texttt {\PrintChar{092}CYRDJE}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-203} - \subitem \texttt {X2} encoding\pfill \main{b-377} - \item \texttt {\PrintChar{092}cyrdje}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-204} - \subitem \texttt {X2} encoding\pfill \main{b-378} - \item \texttt {\PrintChar{092}CYRDZE}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-229} - \subitem \texttt {T2B} encoding\pfill \main{b-416} - \subitem \texttt {T2C} encoding\pfill \main{b-416} - \subitem \texttt {X2} encoding\pfill \main{b-416} - \item \texttt {\PrintChar{092}cyrdze}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-230} - \subitem \texttt {T2B} encoding\pfill \main{b-417} - \subitem \texttt {T2C} encoding\pfill \main{b-417} - \subitem \texttt {X2} encoding\pfill \main{b-417} - \item \texttt {\PrintChar{092}CYRDZHE}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-243} - \subitem \texttt {T2C} encoding\pfill \main{b-359} - \subitem \texttt {X2} encoding\pfill \main{b-421} - \item \texttt {\PrintChar{092}cyrdzhe}\pfill a-276 - \subitem \texttt {T2A} encoding\pfill \main{b-244} - \subitem \texttt {T2C} encoding\pfill \main{b-360} - \subitem \texttt {X2} encoding\pfill \main{b-422} - \item \texttt {\PrintChar{092}CYRE}\pfill a-276, b-441 - \subitem \texttt {T2A} encoding\pfill \main{b-86} - \subitem \texttt {T2B} encoding\pfill \main{b-86} - \subitem \texttt {T2C} encoding\pfill \main{b-86} - \subitem \texttt {X2} encoding\pfill \main{b-86} - \item \texttt {\PrintChar{092}cyre}\pfill a-276, b-442 - \subitem \texttt {T2A} encoding\pfill \main{b-87} - \subitem \texttt {T2B} encoding\pfill \main{b-87} - \subitem \texttt {T2C} encoding\pfill \main{b-87} - \subitem \texttt {X2} encoding\pfill \main{b-87} - \item \texttt {\PrintChar{092}CYREPS}\pfill a-277 - \subitem \texttt {T2B} encoding\pfill \main{b-311} - \subitem \texttt {X2} encoding\pfill \main{b-195} - \item \texttt {\PrintChar{092}cyreps}\pfill a-276 - \subitem \texttt {T2B} encoding\pfill \main{b-312} - \subitem \texttt {X2} encoding\pfill \main{b-196} - \item \texttt {\PrintChar{092}CYREREV}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-134} - \subitem \texttt {T2B} encoding\pfill \main{b-134} - \subitem \texttt {T2C} encoding\pfill \main{b-134} - \subitem \texttt {X2} encoding\pfill \main{b-134} - \item \texttt {\PrintChar{092}cyrerev}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-135} - \subitem \texttt {T2B} encoding\pfill \main{b-135} - \subitem \texttt {T2C} encoding\pfill \main{b-135} - \subitem \texttt {X2} encoding\pfill \main{b-135} - \item \texttt {\PrintChar{092}CYRERY}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-130} - \subitem \texttt {T2B} encoding\pfill \main{b-130} - \subitem \texttt {T2C} encoding\pfill \main{b-130} - \subitem \texttt {X2} encoding\pfill \main{b-130} - \item \texttt {\PrintChar{092}cyrery}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-131} - \subitem \texttt {T2B} encoding\pfill \main{b-131} - \subitem \texttt {T2C} encoding\pfill \main{b-131} - \subitem \texttt {X2} encoding\pfill \main{b-131} - \item \texttt {\PrintChar{092}CYRF}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-116} - \subitem \texttt {T2B} encoding\pfill \main{b-116} - \subitem \texttt {T2C} encoding\pfill \main{b-116} - \subitem \texttt {X2} encoding\pfill \main{b-116} - \item \texttt {\PrintChar{092}cyrf}\pfill a-277 - \subitem \texttt {T2A} encoding\pfill \main{b-117} - \subitem \texttt {T2B} encoding\pfill \main{b-117} - \subitem \texttt {T2C} encoding\pfill \main{b-117} - \subitem \texttt {X2} encoding\pfill \main{b-117} - \item \texttt {\PrintChar{092}CYRFITA}\pfill a-278 - \item \texttt {\PrintChar{092}cyrfita}\pfill a-277 - \item \texttt {\PrintChar{092}CYRG}\pfill a-278 - \subitem \texttt {T2A} encoding\pfill \main{b-82} - \subitem \texttt {T2B} encoding\pfill \main{b-82} - \subitem \texttt {T2C} encoding\pfill \main{b-82} - \subitem \texttt {X2} encoding\pfill \main{b-82} - \item \texttt {\PrintChar{092}cyrg}\pfill a-278 - \subitem \texttt {T2A} encoding\pfill \main{b-83} - \subitem \texttt {T2B} encoding\pfill \main{b-83} - \subitem \texttt {T2C} encoding\pfill \main{b-83} - \subitem \texttt {X2} encoding\pfill \main{b-83} - \item \texttt {\PrintChar{092}CYRGDSC}\pfill a-278 - \subitem \texttt {T2B} encoding\pfill \main{b-261} - \subitem \texttt {X2} encoding\pfill \main{b-145} - \item \texttt {\PrintChar{092}cyrgdsc}\pfill a-278 - \subitem \texttt {T2B} encoding\pfill \main{b-262} - \subitem \texttt {X2} encoding\pfill \main{b-146} - \item \texttt {\PrintChar{092}CYRGDSCHCRS}\pfill a-278 - \subitem \texttt {T2B} encoding\pfill \main{b-256} - \item \texttt {\PrintChar{092}cyrgdschcrs}\pfill a-278 - \subitem \texttt {T2B} encoding\pfill \main{b-258} - \item \texttt {\PrintChar{092}CYRGHCRS}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-201} - \subitem \texttt {T2B} encoding\pfill \main{b-259} - \subitem \texttt {X2} encoding\pfill \main{b-143} - \item \texttt {\PrintChar{092}cyrghcrs}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-202} - \subitem \texttt {T2B} encoding\pfill \main{b-260} - \subitem \texttt {X2} encoding\pfill \main{b-144} - \item \texttt {\PrintChar{092}CYRGHK}\pfill a-279 - \subitem \texttt {T2B} encoding\pfill \main{b-263} - \subitem \texttt {T2C} encoding\pfill \main{b-321} - \subitem \texttt {X2} encoding\pfill \main{b-147} - \item \texttt {\PrintChar{092}cyrghk}\pfill a-279 - \subitem \texttt {T2B} encoding\pfill \main{b-264} - \subitem \texttt {T2C} encoding\pfill \main{b-322} - \subitem \texttt {X2} encoding\pfill \main{b-148} - \item \texttt {\PrintChar{092}CYRGUP}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-198} - \subitem \texttt {X2} encoding\pfill \main{b-140} - \item \texttt {\PrintChar{092}cyrgup}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-200} - \subitem \texttt {X2} encoding\pfill \main{b-142} - \item \texttt {\PrintChar{092}CYRH}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-118} - \subitem \texttt {T2B} encoding\pfill \main{b-118} - \subitem \texttt {T2C} encoding\pfill \main{b-118} - \subitem \texttt {X2} encoding\pfill \main{b-118} - \item \texttt {\PrintChar{092}cyrh}\pfill a-279 - \subitem \texttt {T2A} encoding\pfill \main{b-119} - \subitem \texttt {T2B} encoding\pfill \main{b-119} - \subitem \texttt {T2C} encoding\pfill \main{b-119} - \subitem \texttt {X2} encoding\pfill \main{b-119} - \item \texttt {\PrintChar{092}CYRHDSC}\pfill a-280 - \subitem \texttt {T2A} encoding\pfill \main{b-241} - \subitem \texttt {T2B} encoding\pfill \main{b-299} - \subitem \texttt {T2C} encoding\pfill \main{b-357} - \subitem \texttt {X2} encoding\pfill \main{b-183} - \item \texttt {\PrintChar{092}cyrhdsc}\pfill a-280 - \subitem \texttt {T2A} encoding\pfill \main{b-242} - \subitem \texttt {T2B} encoding\pfill \main{b-300} - \subitem \texttt {T2C} encoding\pfill \main{b-358} - \subitem \texttt {X2} encoding\pfill \main{b-184} - \item \texttt {\PrintChar{092}CYRHHCRS}\pfill a-280 - \subitem \texttt {T2B} encoding\pfill \main{b-297} - \item \texttt {\PrintChar{092}cyrhhcrs}\pfill a-280 - \subitem \texttt {T2B} encoding\pfill \main{b-298} - \item \texttt {\PrintChar{092}CYRHHK}\pfill a-280 - \subitem \texttt {T2B} encoding\pfill \main{b-301} - \subitem \texttt {X2} encoding\pfill \main{b-185} - \item \texttt {\PrintChar{092}cyrhhk}\pfill a-280 - \subitem \texttt {T2B} encoding\pfill \main{b-302} - \subitem \texttt {X2} encoding\pfill \main{b-186} - \item \texttt {\PrintChar{092}CYRHRDSN}\pfill a-281 - \subitem \texttt {T2A} encoding\pfill \main{b-128} - \subitem \texttt {T2B} encoding\pfill \main{b-128} - \subitem \texttt {T2C} encoding\pfill \main{b-128} - \subitem \texttt {X2} encoding\pfill \main{b-128} - \item \texttt {\PrintChar{092}cyrhrdsn}\pfill a-280 - \subitem \texttt {T2A} encoding\pfill \main{b-129} - \subitem \texttt {T2B} encoding\pfill \main{b-129} - \subitem \texttt {T2C} encoding\pfill \main{b-129} - \subitem \texttt {X2} encoding\pfill \main{b-129} - \item \texttt {\PrintChar{092}CYRI}\pfill a-281, b-443 - \subitem \texttt {T2A} encoding\pfill \main{b-92} - \subitem \texttt {T2B} encoding\pfill \main{b-92} - \subitem \texttt {T2C} encoding\pfill \main{b-92} - \subitem \texttt {X2} encoding\pfill \main{b-92} - \item \texttt {\PrintChar{092}cyri}\pfill a-281, b-444 - \subitem \texttt {T2A} encoding\pfill \main{b-93} - \subitem \texttt {T2B} encoding\pfill \main{b-93} - \subitem \texttt {T2C} encoding\pfill \main{b-93} - \subitem \texttt {X2} encoding\pfill \main{b-93} - \item \texttt {\PrintChar{092}CYRIE}\pfill a-281 - \subitem \texttt {T2A} encoding\pfill \main{b-249} - \subitem \texttt {X2} encoding\pfill \main{b-191} - \item \texttt {\PrintChar{092}cyrie}\pfill a-281 - \subitem \texttt {T2A} encoding\pfill \main{b-250} - \subitem \texttt {X2} encoding\pfill \main{b-192} - \item \texttt {\PrintChar{092}CYRII}\pfill a-281, b-446 - \subitem \texttt {T2A} encoding\pfill \main{b-392} - \subitem \texttt {T2B} encoding\pfill \main{b-392} - \subitem \texttt {T2C} encoding\pfill \main{b-392} - \subitem \texttt {X2} encoding\pfill \main{b-392} - \item \texttt {\PrintChar{092}cyrii}\pfill a-281, b-447 - \subitem \texttt {T2A} encoding\pfill \main{b-393} - \subitem \texttt {T2B} encoding\pfill \main{b-393} - \subitem \texttt {T2C} encoding\pfill \main{b-393} - \subitem \texttt {X2} encoding\pfill \main{b-393} - \item \texttt {\PrintChar{092}CYRISHRT}\pfill a-281 - \subitem \texttt {T2A} encoding\pfill \main{b-94} - \subitem \texttt {T2B} encoding\pfill \main{b-94} - \subitem \texttt {T2C} encoding\pfill \main{b-94} - \subitem \texttt {X2} encoding\pfill \main{b-94} - \item \texttt {\PrintChar{092}cyrishrt}\pfill a-281 - \subitem \texttt {T2A} encoding\pfill \main{b-95} - \subitem \texttt {T2B} encoding\pfill \main{b-95} - \subitem \texttt {T2C} encoding\pfill \main{b-95} - \subitem \texttt {X2} encoding\pfill \main{b-95} - \item \texttt {\PrintChar{092}CYRISHRTDSC}\pfill a-282 - \subitem \texttt {T2C} encoding\pfill \main{b-355} - \item \texttt {\PrintChar{092}cyrishrtdsc}\pfill a-282 - \subitem \texttt {T2C} encoding\pfill \main{b-356} - \item \texttt {\PrintChar{092}CYRIZH}\pfill a-282 - \subitem \texttt {X2} encoding\pfill \main{b-433} - \item \texttt {\PrintChar{092}cyrizh}\pfill a-282 - \subitem \texttt {X2} encoding\pfill \main{b-434} - \item \texttt {\PrintChar{092}CYRJE}\pfill a-282 - \subitem \texttt {T2A} encoding\pfill \main{b-394} - \subitem \texttt {T2B} encoding\pfill \main{b-394} - \subitem \texttt {T2C} encoding\pfill \main{b-394} - \subitem \texttt {X2} encoding\pfill \main{b-394} - \item \texttt {\PrintChar{092}cyrje}\pfill a-282 - \subitem \texttt {T2A} encoding\pfill \main{b-395} - \subitem \texttt {T2B} encoding\pfill \main{b-395} - \subitem \texttt {T2C} encoding\pfill \main{b-395} - \subitem \texttt {X2} encoding\pfill \main{b-395} - \item \texttt {\PrintChar{092}CYRK}\pfill a-282 - \subitem \texttt {T2A} encoding\pfill \main{b-96} - \subitem \texttt {T2B} encoding\pfill \main{b-96} - \subitem \texttt {T2C} encoding\pfill \main{b-96} - \subitem \texttt {X2} encoding\pfill \main{b-96} - \item \texttt {\PrintChar{092}cyrk}\pfill a-282 - \subitem \texttt {T2A} encoding\pfill \main{b-97} - \subitem \texttt {T2B} encoding\pfill \main{b-97} - \subitem \texttt {T2C} encoding\pfill \main{b-97} - \subitem \texttt {X2} encoding\pfill \main{b-97} - \item \texttt {\PrintChar{092}CYRKBEAK}\pfill a-283 - \subitem \texttt {T2A} encoding\pfill \main{b-219} - \subitem \texttt {X2} encoding\pfill \main{b-161} - \item \texttt {\PrintChar{092}cyrkbeak}\pfill a-283 - \subitem \texttt {T2A} encoding\pfill \main{b-220} - \subitem \texttt {X2} encoding\pfill \main{b-162} - \item \texttt {\PrintChar{092}CYRKDSC}\pfill a-283 - \subitem \texttt {T2A} encoding\pfill \main{b-217} - \subitem \texttt {T2B} encoding\pfill \main{b-275} - \subitem \texttt {T2C} encoding\pfill \main{b-333} - \subitem \texttt {X2} encoding\pfill \main{b-159} - \item \texttt {\PrintChar{092}cyrkdsc}\pfill a-283 - \subitem \texttt {T2A} encoding\pfill \main{b-218} - \subitem \texttt {T2B} encoding\pfill \main{b-276} - \subitem \texttt {T2C} encoding\pfill \main{b-334} - \subitem \texttt {X2} encoding\pfill \main{b-160} - \item \texttt {\PrintChar{092}CYRKHCRS}\pfill a-283 - \subitem \texttt {T2C} encoding\pfill \main{b-337} - \subitem \texttt {X2} encoding\pfill \main{b-387} - \item \texttt {\PrintChar{092}cyrkhcrs}\pfill a-283 - \subitem \texttt {T2C} encoding\pfill \main{b-338} - \subitem \texttt {X2} encoding\pfill \main{b-388} - \item \texttt {\PrintChar{092}CYRKHK}\pfill a-284 - \subitem \texttt {T2B} encoding\pfill \main{b-279} - \subitem \texttt {X2} encoding\pfill \main{b-163} - \item \texttt {\PrintChar{092}cyrkhk}\pfill a-283 - \subitem \texttt {T2B} encoding\pfill \main{b-280} - \subitem \texttt {X2} encoding\pfill \main{b-164} - \item \texttt {\PrintChar{092}CYRKVCRS}\pfill a-284 - \subitem \texttt {T2A} encoding\pfill \main{b-221} - \subitem \texttt {X2} encoding\pfill \main{b-385} - \item \texttt {\PrintChar{092}cyrkvcrs}\pfill a-284 - \subitem \texttt {T2A} encoding\pfill \main{b-222} - \subitem \texttt {X2} encoding\pfill \main{b-386} - \item \texttt {\PrintChar{092}CYRL}\pfill a-284 - \subitem \texttt {T2A} encoding\pfill \main{b-98} - \subitem \texttt {T2B} encoding\pfill \main{b-98} - \subitem \texttt {T2C} encoding\pfill \main{b-98} - \subitem \texttt {X2} encoding\pfill \main{b-98} - \item \texttt {\PrintChar{092}cyrl}\pfill a-284 - \subitem \texttt {T2A} encoding\pfill \main{b-99} - \subitem \texttt {T2B} encoding\pfill \main{b-99} - \subitem \texttt {T2C} encoding\pfill \main{b-99} - \subitem \texttt {X2} encoding\pfill \main{b-99} - \item \texttt {\PrintChar{092}cyrlangle}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-69} - \subitem \texttt {T2B} encoding\pfill \main{b-69} - \subitem \texttt {T2C} encoding\pfill \main{b-69} - \subitem \texttt {X2} encoding\pfill \main{b-69} - \item \texttt {\PrintChar{092}CYRLDSC}\pfill a-284 - \subitem \texttt {T2B} encoding\pfill \main{b-277} - \subitem \texttt {T2C} encoding\pfill \main{b-335} - \subitem \texttt {X2} encoding\pfill \main{b-389} - \item \texttt {\PrintChar{092}cyrldsc}\pfill a-284 - \subitem \texttt {T2B} encoding\pfill \main{b-278} - \subitem \texttt {T2C} encoding\pfill \main{b-336} - \subitem \texttt {X2} encoding\pfill \main{b-390} - \item \texttt {\PrintChar{092}CYRLHK}\pfill a-285 - \subitem \texttt {T2B} encoding\pfill \main{b-281} - \subitem \texttt {T2C} encoding\pfill \main{b-339} - \subitem \texttt {X2} encoding\pfill \main{b-165} - \item \texttt {\PrintChar{092}cyrlhk}\pfill a-284 - \subitem \texttt {T2B} encoding\pfill \main{b-282} - \subitem \texttt {T2C} encoding\pfill \main{b-340} - \subitem \texttt {X2} encoding\pfill \main{b-166} - \item \texttt {\PrintChar{092}CYRLJE}\pfill a-285 - \subitem \texttt {T2A} encoding\pfill \main{b-213} - \subitem \texttt {T2B} encoding\pfill \main{b-273} - \subitem \texttt {X2} encoding\pfill \main{b-396} - \item \texttt {\PrintChar{092}cyrlje}\pfill a-285 - \subitem \texttt {T2A} encoding\pfill \main{b-214} - \subitem \texttt {T2B} encoding\pfill \main{b-274} - \subitem \texttt {X2} encoding\pfill \main{b-398} - \item \texttt {\PrintChar{092}CYRM}\pfill a-285 - \subitem \texttt {T2A} encoding\pfill \main{b-100} - \subitem \texttt {T2B} encoding\pfill \main{b-100} - \subitem \texttt {T2C} encoding\pfill \main{b-100} - \subitem \texttt {X2} encoding\pfill \main{b-100} - \item \texttt {\PrintChar{092}cyrm}\pfill a-285 - \subitem \texttt {T2A} encoding\pfill \main{b-101} - \subitem \texttt {T2B} encoding\pfill \main{b-101} - \subitem \texttt {T2C} encoding\pfill \main{b-101} - \subitem \texttt {X2} encoding\pfill \main{b-101} - \item \texttt {\PrintChar{092}CYRMDSC}\pfill a-285 - \subitem \texttt {T2C} encoding\pfill \main{b-331} - \subitem \texttt {X2} encoding\pfill \main{b-399} - \item \texttt {\PrintChar{092}cyrmdsc}\pfill a-285 - \subitem \texttt {T2C} encoding\pfill \main{b-332} - \subitem \texttt {X2} encoding\pfill \main{b-400} - \item \texttt {\PrintChar{092}CYRMHK}\pfill a-285 - \subitem \texttt {T2C} encoding\pfill \main{b-343} - \item \texttt {\PrintChar{092}cyrmhk}\pfill a-285 - \subitem \texttt {T2C} encoding\pfill \main{b-344} - \item \texttt {\PrintChar{092}CYRN}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-102} - \subitem \texttt {T2B} encoding\pfill \main{b-102} - \subitem \texttt {T2C} encoding\pfill \main{b-102} - \subitem \texttt {X2} encoding\pfill \main{b-102} - \item \texttt {\PrintChar{092}cyrn}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-103} - \subitem \texttt {T2B} encoding\pfill \main{b-103} - \subitem \texttt {T2C} encoding\pfill \main{b-103} - \subitem \texttt {X2} encoding\pfill \main{b-103} - \item \texttt {\PrintChar{092}CYRNDSC}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-225} - \subitem \texttt {T2B} encoding\pfill \main{b-283} - \subitem \texttt {T2C} encoding\pfill \main{b-341} - \subitem \texttt {X2} encoding\pfill \main{b-167} - \item \texttt {\PrintChar{092}cyrndsc}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-226} - \subitem \texttt {T2B} encoding\pfill \main{b-284} - \subitem \texttt {T2C} encoding\pfill \main{b-342} - \subitem \texttt {X2} encoding\pfill \main{b-168} - \item \texttt {\PrintChar{092}CYRNG}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-227} - \subitem \texttt {T2B} encoding\pfill \main{b-285} - \subitem \texttt {X2} encoding\pfill \main{b-169} - \item \texttt {\PrintChar{092}cyrng}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-228} - \subitem \texttt {T2B} encoding\pfill \main{b-286} - \subitem \texttt {X2} encoding\pfill \main{b-170} - \item \texttt {\PrintChar{092}CYRNHK}\pfill a-286 - \subitem \texttt {T2B} encoding\pfill \main{b-287} - \subitem \texttt {T2C} encoding\pfill \main{b-345} - \subitem \texttt {X2} encoding\pfill \main{b-171} - \item \texttt {\PrintChar{092}cyrnhk}\pfill a-286 - \subitem \texttt {T2B} encoding\pfill \main{b-288} - \subitem \texttt {T2C} encoding\pfill \main{b-346} - \subitem \texttt {X2} encoding\pfill \main{b-172} - \item \texttt {\PrintChar{092}CYRNJE}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-253} - \subitem \texttt {T2B} encoding\pfill \main{b-307} - \subitem \texttt {X2} encoding\pfill \main{b-401} - \item \texttt {\PrintChar{092}cyrnje}\pfill a-286 - \subitem \texttt {T2A} encoding\pfill \main{b-254} - \subitem \texttt {T2B} encoding\pfill \main{b-308} - \subitem \texttt {X2} encoding\pfill \main{b-402} - \item \texttt {\PrintChar{092}CYRNLHK}\pfill a-287 - \subitem \texttt {T2C} encoding\pfill \main{b-365} - \subitem \texttt {X2} encoding\pfill \main{b-437} - \item \texttt {\PrintChar{092}cyrnlhk}\pfill a-287 - \subitem \texttt {T2C} encoding\pfill \main{b-366} - \subitem \texttt {X2} encoding\pfill \main{b-438} - \item \texttt {\PrintChar{092}CYRO}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-104} - \subitem \texttt {T2B} encoding\pfill \main{b-104} - \subitem \texttt {T2C} encoding\pfill \main{b-104} - \subitem \texttt {X2} encoding\pfill \main{b-104} - \item \texttt {\PrintChar{092}cyro}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-105} - \subitem \texttt {T2B} encoding\pfill \main{b-105} - \subitem \texttt {T2C} encoding\pfill \main{b-105} - \subitem \texttt {X2} encoding\pfill \main{b-105} - \item \texttt {\PrintChar{092}CYROTLD}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-231} - \subitem \texttt {T2B} encoding\pfill \main{b-289} - \subitem \texttt {T2C} encoding\pfill \main{b-347} - \subitem \texttt {X2} encoding\pfill \main{b-173} - \item \texttt {\PrintChar{092}cyrotld}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-232} - \subitem \texttt {T2B} encoding\pfill \main{b-290} - \subitem \texttt {T2C} encoding\pfill \main{b-348} - \subitem \texttt {X2} encoding\pfill \main{b-174} - \item \texttt {\PrintChar{092}CYRP}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-106} - \subitem \texttt {T2B} encoding\pfill \main{b-106} - \subitem \texttt {T2C} encoding\pfill \main{b-106} - \subitem \texttt {X2} encoding\pfill \main{b-106} - \item \texttt {\PrintChar{092}cyrp}\pfill a-287 - \subitem \texttt {T2A} encoding\pfill \main{b-107} - \subitem \texttt {T2B} encoding\pfill \main{b-107} - \subitem \texttt {T2C} encoding\pfill \main{b-107} - \subitem \texttt {X2} encoding\pfill \main{b-107} - \item \texttt {\PrintChar{092}CYRpalochka}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-68} - \subitem \texttt {T2B} encoding\pfill \main{b-68} - \subitem \texttt {T2C} encoding\pfill \main{b-68} - \subitem \texttt {X2} encoding\pfill \main{b-68} - \item \texttt {\PrintChar{092}CYRPHK}\pfill a-288 - \subitem \texttt {T2C} encoding\pfill \main{b-314} - \subitem \texttt {X2} encoding\pfill \main{b-405} - \item \texttt {\PrintChar{092}cyrphk}\pfill a-288 - \subitem \texttt {T2C} encoding\pfill \main{b-316} - \subitem \texttt {X2} encoding\pfill \main{b-406} - \item \texttt {\PrintChar{092}CYRQ}\pfill a-288 - \subitem \texttt {T2A} encoding\pfill \main{b-410} - \subitem \texttt {T2B} encoding\pfill \main{b-410} - \subitem \texttt {T2C} encoding\pfill \main{b-410} - \subitem \texttt {X2} encoding\pfill \main{b-410} - \item \texttt {\PrintChar{092}cyrq}\pfill a-288 - \subitem \texttt {T2A} encoding\pfill \main{b-411} - \subitem \texttt {T2B} encoding\pfill \main{b-411} - \subitem \texttt {T2C} encoding\pfill \main{b-411} - \subitem \texttt {X2} encoding\pfill \main{b-411} - \item \texttt {\PrintChar{092}CYRR}\pfill a-288 - \subitem \texttt {T2A} encoding\pfill \main{b-108} - \subitem \texttt {T2B} encoding\pfill \main{b-108} - \subitem \texttt {T2C} encoding\pfill \main{b-108} - \subitem \texttt {X2} encoding\pfill \main{b-108} - \item \texttt {\PrintChar{092}cyrr}\pfill a-288 - \subitem \texttt {T2A} encoding\pfill \main{b-109} - \subitem \texttt {T2B} encoding\pfill \main{b-109} - \subitem \texttt {T2C} encoding\pfill \main{b-109} - \subitem \texttt {X2} encoding\pfill \main{b-109} - \item \texttt {\PrintChar{092}cyrrangle}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-70} - \subitem \texttt {T2B} encoding\pfill \main{b-70} - \subitem \texttt {T2C} encoding\pfill \main{b-70} - \subitem \texttt {X2} encoding\pfill \main{b-70} - \item \texttt {\PrintChar{092}CYRRDSC}\pfill a-288 - \subitem \texttt {T2C} encoding\pfill \main{b-325} - \subitem \texttt {X2} encoding\pfill \main{b-407} - \item \texttt {\PrintChar{092}cyrrdsc}\pfill a-288 - \subitem \texttt {T2C} encoding\pfill \main{b-326} - \subitem \texttt {X2} encoding\pfill \main{b-408} - \item \texttt {\PrintChar{092}CYRRHK}\pfill a-289 - \subitem \texttt {T2C} encoding\pfill \main{b-369} - \item \texttt {\PrintChar{092}cyrrhk}\pfill a-288 - \subitem \texttt {T2C} encoding\pfill \main{b-370} - \item \texttt {\PrintChar{092}CYRRTICK}\pfill a-289 - \subitem \texttt {T2C} encoding\pfill \main{b-327} - \item \texttt {\PrintChar{092}cyrrtick}\pfill a-289 - \subitem \texttt {T2C} encoding\pfill \main{b-328} - \item \texttt {\PrintChar{092}CYRS}\pfill a-289, b-450 - \subitem \texttt {T2A} encoding\pfill \main{b-110} - \subitem \texttt {T2B} encoding\pfill \main{b-110} - \subitem \texttt {T2C} encoding\pfill \main{b-110} - \subitem \texttt {X2} encoding\pfill \main{b-110} - \item \texttt {\PrintChar{092}cyrs}\pfill a-289, b-451 - \subitem \texttt {T2A} encoding\pfill \main{b-111} - \subitem \texttt {T2B} encoding\pfill \main{b-111} - \subitem \texttt {T2C} encoding\pfill \main{b-111} - \subitem \texttt {X2} encoding\pfill \main{b-111} - \item \texttt {\PrintChar{092}CYRSACRS}\pfill a-289 - \subitem \texttt {T2B} encoding\pfill \main{b-291} - \item \texttt {\PrintChar{092}cyrsacrs}\pfill a-289 - \subitem \texttt {T2B} encoding\pfill \main{b-292} - \item \texttt {\PrintChar{092}CYRSCHWA}\pfill a-290 - \subitem \texttt {T2A} encoding\pfill \main{b-251} - \subitem \texttt {T2B} encoding\pfill \main{b-309} - \subitem \texttt {T2C} encoding\pfill \main{b-367} - \subitem \texttt {X2} encoding\pfill \main{b-193} - \item \texttt {\PrintChar{092}cyrschwa}\pfill a-290 - \subitem \texttt {T2A} encoding\pfill \main{b-252} - \subitem \texttt {T2B} encoding\pfill \main{b-310} - \subitem \texttt {T2C} encoding\pfill \main{b-368} - \subitem \texttt {X2} encoding\pfill \main{b-194} - \item \texttt {\PrintChar{092}CYRSDSC}\pfill a-290 - \subitem \texttt {T2A} encoding\pfill \main{b-233} - \subitem \texttt {X2} encoding\pfill \main{b-175} - \item \texttt {\PrintChar{092}cyrsdsc}\pfill a-290 - \subitem \texttt {T2A} encoding\pfill \main{b-234} - \subitem \texttt {X2} encoding\pfill \main{b-176} - \item \texttt {\PrintChar{092}CYRSEMISFTSN}\pfill a-290 - \subitem \texttt {T2C} encoding\pfill \main{b-353} - \item \texttt {\PrintChar{092}cyrsemisftsn}\pfill a-290 - \subitem \texttt {T2C} encoding\pfill \main{b-354} - \item \texttt {\PrintChar{092}CYRSFTSN}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-132} - \subitem \texttt {T2B} encoding\pfill \main{b-132} - \subitem \texttt {T2C} encoding\pfill \main{b-132} - \subitem \texttt {X2} encoding\pfill \main{b-132} - \item \texttt {\PrintChar{092}cyrsftsn}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-133} - \subitem \texttt {T2B} encoding\pfill \main{b-133} - \subitem \texttt {T2C} encoding\pfill \main{b-133} - \subitem \texttt {X2} encoding\pfill \main{b-133} - \item \texttt {\PrintChar{092}CYRSH}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-124} - \subitem \texttt {T2B} encoding\pfill \main{b-124} - \subitem \texttt {T2C} encoding\pfill \main{b-124} - \subitem \texttt {X2} encoding\pfill \main{b-124} - \item \texttt {\PrintChar{092}cyrsh}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-125} - \subitem \texttt {T2B} encoding\pfill \main{b-125} - \subitem \texttt {T2C} encoding\pfill \main{b-125} - \subitem \texttt {X2} encoding\pfill \main{b-125} - \item \texttt {\PrintChar{092}CYRSHCH}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-126} - \subitem \texttt {T2B} encoding\pfill \main{b-126} - \subitem \texttt {T2C} encoding\pfill \main{b-126} - \subitem \texttt {X2} encoding\pfill \main{b-126} - \item \texttt {\PrintChar{092}cyrshch}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-127} - \subitem \texttt {T2B} encoding\pfill \main{b-127} - \subitem \texttt {T2C} encoding\pfill \main{b-127} - \subitem \texttt {X2} encoding\pfill \main{b-127} - \item \texttt {\PrintChar{092}CYRSHHA}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-207} - \subitem \texttt {T2B} encoding\pfill \main{b-265} - \subitem \texttt {T2C} encoding\pfill \main{b-323} - \subitem \texttt {X2} encoding\pfill \main{b-149} - \item \texttt {\PrintChar{092}cyrshha}\pfill a-291 - \subitem \texttt {T2A} encoding\pfill \main{b-208} - \subitem \texttt {T2B} encoding\pfill \main{b-266} - \subitem \texttt {T2C} encoding\pfill \main{b-324} - \subitem \texttt {X2} encoding\pfill \main{b-150} - \item \texttt {\PrintChar{092}CYRT}\pfill a-292 - \subitem \texttt {T2A} encoding\pfill \main{b-112} - \subitem \texttt {T2B} encoding\pfill \main{b-112} - \subitem \texttt {T2C} encoding\pfill \main{b-112} - \subitem \texttt {X2} encoding\pfill \main{b-112} - \item \texttt {\PrintChar{092}cyrt}\pfill a-292 - \subitem \texttt {T2A} encoding\pfill \main{b-113} - \subitem \texttt {T2B} encoding\pfill \main{b-113} - \subitem \texttt {T2C} encoding\pfill \main{b-113} - \subitem \texttt {X2} encoding\pfill \main{b-113} - \item \texttt {\PrintChar{092}CYRTDSC}\pfill a-292 - \subitem \texttt {T2C} encoding\pfill \main{b-319} - \subitem \texttt {X2} encoding\pfill \main{b-412} - \item \texttt {\PrintChar{092}cyrtdsc}\pfill a-292 - \subitem \texttt {T2C} encoding\pfill \main{b-320} - \subitem \texttt {X2} encoding\pfill \main{b-414} - \item \texttt {\PrintChar{092}CYRTETSE}\pfill a-292 - \subitem \texttt {T2C} encoding\pfill \main{b-317} - \subitem \texttt {X2} encoding\pfill \main{b-418} - \item \texttt {\PrintChar{092}cyrtetse}\pfill a-292 - \subitem \texttt {T2C} encoding\pfill \main{b-318} - \subitem \texttt {X2} encoding\pfill \main{b-420} - \item \texttt {\PrintChar{092}CYRTSHE}\pfill a-292 - \subitem \texttt {T2A} encoding\pfill \main{b-205} - \subitem \texttt {X2} encoding\pfill \main{b-379} - \item \texttt {\PrintChar{092}cyrtshe}\pfill a-292 - \subitem \texttt {T2A} encoding\pfill \main{b-206} - \subitem \texttt {X2} encoding\pfill \main{b-380} - \item \texttt {\PrintChar{092}CYRU}\pfill a-293, b-454 - \subitem \texttt {T2A} encoding\pfill \main{b-114} - \subitem \texttt {T2B} encoding\pfill \main{b-114} - \subitem \texttt {T2C} encoding\pfill \main{b-114} - \subitem \texttt {X2} encoding\pfill \main{b-114} - \item \texttt {\PrintChar{092}cyru}\pfill a-293, b-455 - \subitem \texttt {T2A} encoding\pfill \main{b-115} - \subitem \texttt {T2B} encoding\pfill \main{b-115} - \subitem \texttt {T2C} encoding\pfill \main{b-115} - \subitem \texttt {X2} encoding\pfill \main{b-115} - \item \texttt {\PrintChar{092}CYRUSHRT}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-235} - \subitem \texttt {T2B} encoding\pfill \main{b-293} - \subitem \texttt {X2} encoding\pfill \main{b-177} - \item \texttt {\PrintChar{092}cyrushrt}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-236} - \subitem \texttt {T2B} encoding\pfill \main{b-294} - \subitem \texttt {X2} encoding\pfill \main{b-178} - \item \texttt {\PrintChar{092}CYRV}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-80} - \subitem \texttt {T2B} encoding\pfill \main{b-80} - \subitem \texttt {T2C} encoding\pfill \main{b-80} - \subitem \texttt {X2} encoding\pfill \main{b-80} - \item \texttt {\PrintChar{092}cyrv}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-81} - \subitem \texttt {T2B} encoding\pfill \main{b-81} - \subitem \texttt {T2C} encoding\pfill \main{b-81} - \subitem \texttt {X2} encoding\pfill \main{b-81} - \item \texttt {\PrintChar{092}CYRW}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-426} - \subitem \texttt {T2B} encoding\pfill \main{b-426} - \subitem \texttt {T2C} encoding\pfill \main{b-426} - \subitem \texttt {X2} encoding\pfill \main{b-426} - \item \texttt {\PrintChar{092}cyrw}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-427} - \subitem \texttt {T2B} encoding\pfill \main{b-427} - \subitem \texttt {T2C} encoding\pfill \main{b-427} - \subitem \texttt {X2} encoding\pfill \main{b-427} - \item \texttt {\PrintChar{092}CYRY}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-237} - \subitem \texttt {T2B} encoding\pfill \main{b-295} - \subitem \texttt {X2} encoding\pfill \main{b-179} - \item \texttt {\PrintChar{092}cyry}\pfill a-293 - \subitem \texttt {T2A} encoding\pfill \main{b-238} - \subitem \texttt {T2B} encoding\pfill \main{b-296} - \subitem \texttt {X2} encoding\pfill \main{b-180} - \item \texttt {\PrintChar{092}CYRYA}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-138} - \subitem \texttt {T2B} encoding\pfill \main{b-138} - \subitem \texttt {T2C} encoding\pfill \main{b-138} - \subitem \texttt {X2} encoding\pfill \main{b-138} - \item \texttt {\PrintChar{092}cyrya}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-139} - \subitem \texttt {T2B} encoding\pfill \main{b-139} - \subitem \texttt {T2C} encoding\pfill \main{b-139} - \subitem \texttt {X2} encoding\pfill \main{b-139} - \item \texttt {\PrintChar{092}CYRYAT}\pfill a-294 - \subitem \texttt {X2} encoding\pfill \main{b-428} - \item \texttt {\PrintChar{092}cyryat}\pfill a-294 - \subitem \texttt {X2} encoding\pfill \main{b-430} - \item \texttt {\PrintChar{092}CYRYHCRS}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-239} - \subitem \texttt {X2} encoding\pfill \main{b-181} - \item \texttt {\PrintChar{092}cyryhcrs}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-240} - \subitem \texttt {X2} encoding\pfill \main{b-182} - \item \texttt {\PrintChar{092}CYRYI}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-215} - \subitem \texttt {X2} encoding\pfill \main{b-157} - \item \texttt {\PrintChar{092}cyryi}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-216} - \subitem \texttt {X2} encoding\pfill \main{b-158} - \item \texttt {\PrintChar{092}CYRYO}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-372} - \subitem \texttt {T2B} encoding\pfill \main{b-372} - \subitem \texttt {T2C} encoding\pfill \main{b-372} - \subitem \texttt {X2} encoding\pfill \main{b-372} - \item \texttt {\PrintChar{092}cyryo}\pfill a-294 - \subitem \texttt {T2A} encoding\pfill \main{b-373} - \subitem \texttt {T2B} encoding\pfill \main{b-373} - \subitem \texttt {T2C} encoding\pfill \main{b-373} - \subitem \texttt {X2} encoding\pfill \main{b-373} - \item \texttt {\PrintChar{092}CYRYU}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-136} - \subitem \texttt {T2B} encoding\pfill \main{b-136} - \subitem \texttt {T2C} encoding\pfill \main{b-136} - \subitem \texttt {X2} encoding\pfill \main{b-136} - \item \texttt {\PrintChar{092}cyryu}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-137} - \subitem \texttt {T2B} encoding\pfill \main{b-137} - \subitem \texttt {T2C} encoding\pfill \main{b-137} - \subitem \texttt {X2} encoding\pfill \main{b-137} - \item \texttt {\PrintChar{092}CYRZ}\pfill a-295, b-448 - \subitem \texttt {T2A} encoding\pfill \main{b-90} - \subitem \texttt {T2B} encoding\pfill \main{b-90} - \subitem \texttt {T2C} encoding\pfill \main{b-90} - \subitem \texttt {X2} encoding\pfill \main{b-90} - \item \texttt {\PrintChar{092}cyrz}\pfill a-295, b-449 - \subitem \texttt {T2A} encoding\pfill \main{b-91} - \subitem \texttt {T2B} encoding\pfill \main{b-91} - \subitem \texttt {T2C} encoding\pfill \main{b-91} - \subitem \texttt {X2} encoding\pfill \main{b-91} - \item \texttt {\PrintChar{092}CYRZDSC}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-211} - \subitem \texttt {X2} encoding\pfill \main{b-153} - \item \texttt {\PrintChar{092}cyrzdsc}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-212} - \subitem \texttt {X2} encoding\pfill \main{b-154} - \item \texttt {\PrintChar{092}CYRZH}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-88} - \subitem \texttt {T2B} encoding\pfill \main{b-88} - \subitem \texttt {T2C} encoding\pfill \main{b-88} - \subitem \texttt {X2} encoding\pfill \main{b-88} - \item \texttt {\PrintChar{092}cyrzh}\pfill a-295 - \subitem \texttt {T2A} encoding\pfill \main{b-89} - \subitem \texttt {T2B} encoding\pfill \main{b-89} - \subitem \texttt {T2C} encoding\pfill \main{b-89} - \subitem \texttt {X2} encoding\pfill \main{b-89} - \item \texttt {\PrintChar{092}CYRZHDSC}\pfill a-296 - \subitem \texttt {T2A} encoding\pfill \main{b-209} - \subitem \texttt {T2B} encoding\pfill \main{b-267} - \subitem \texttt {X2} encoding\pfill \main{b-151} - \item \texttt {\PrintChar{092}cyrzhdsc}\pfill a-296 - \subitem \texttt {T2A} encoding\pfill \main{b-210} - \subitem \texttt {T2B} encoding\pfill \main{b-268} - \subitem \texttt {X2} encoding\pfill \main{b-152} - - \indexspace -{\bfseries\hfil D\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}d}\efill - \subitem default\pfill \main{a-185} - \subitem \texttt {OT1} encoding\pfill \main{a-352} - \subitem \texttt {OT4} encoding\pfill \main{a-642} - \subitem \texttt {T1} encoding\pfill \main{a-421} - \subitem \texttt {T2A} encoding\pfill \main{b-34} - \subitem \texttt {T2B} encoding\pfill \main{b-34} - \subitem \texttt {T2C} encoding\pfill \main{b-34} - \subitem \texttt {X2} encoding\pfill \main{b-34} - \item \texttt {\PrintChar{092}dag}\pfill a-256 - \item \texttt {\PrintChar{092}dagger}\pfill a-256 - \item \texttt {\PrintChar{092}ddag}\pfill a-257 - \item \texttt {\PrintChar{092}ddagger}\pfill a-257 - \item \texttt {\PrintChar{092}@dec@text@cmd}\pfill \main{a-3} - \item \texttt {\PrintChar{092}DeclareFontEncoding}\pfill a-334, - a-402, a-595, a-615, a-621, a-704, b-8--b-11 - \item \texttt {\PrintChar{092}DeclareFontSubstitution}\pfill a-622, - a-705, b-12 - \item \texttt {\PrintChar{092}DeclareOption}\pfill a-299 - \item \texttt {\PrintChar{092}DeclareRobustCommand}\pfill - a-251--a-258, a-260, a-262, a-264 - \item \texttt {\PrintChar{092}DeclareTextAccent}\pfill \usage{2}, - \main{a-64}, a-335--a-345, a-403--a-413, a-618, - a-623--a-633, a-712--a-726, b-13--b-26 - \item \texttt {\PrintChar{092}DeclareTextAccentDefault}\pfill - \usage{3}, \main{a-135}, a-176--a-189, a-226, a-229, - a-844--a-861 - \item \texttt {\PrintChar{092}DeclareTextCommand}\pfill \usage{1}, - \main{a-3}, a-58, a-65, a-346, a-349, a-352, a-374, - a-376, a-378, a-380, a-386, a-393, a-414, a-417, a-421, - a-424, a-426, a-428, a-607, a-634, a-636, a-639, a-642, - a-672, a-679, a-706, a-709, a-756, b-27, b-30, b-34, - b-36, b-38, b-40 - \item \texttt {\PrintChar{092}DeclareTextCommandDefault}\pfill - \usage{3}, \main{a-57}, a-136, a-138, a-230, - a-233--a-236, a-238, a-242, a-246--a-250 - \item \texttt {\PrintChar{092}DeclareTextComposite}\pfill \usage{2}, - \main{a-74}, a-483--a-592, a-686--a-701, b-75, - b-441--b-444, b-446--b-451, b-454, b-455, b-458, b-459, - b-462, b-463 - \item \texttt {\PrintChar{092}DeclareTextCompositeCommand}\pfill - \usage{2}, \main{a-74}, a-383, a-669 - \item \texttt {\PrintChar{092}DeclareTextSymbol}\pfill \usage{1}, - \main{a-3}, a-355--a-373, a-430--a-482, a-596--a-606, - a-616, a-617, a-645--a-668, a-727--a-755, a-762--a-841, - b-42--b-74, b-76--b-139, b-141--b-196, b-199--b-254, - b-257--b-312, b-315--b-370, b-372, b-373, b-375--b-390, - b-392--b-395, b-397--b-408, b-410, b-411, b-413, b-414, - b-416, b-417, b-419--b-424, b-426, b-427, b-429--b-438 - \item \texttt {\PrintChar{092}DeclareTextSymbolDefault}\pfill - \usage{3}, \main{a-135}, a-190--a-225, a-227, a-228, - a-862--a-970 - \item \texttt {\PrintChar{092}DH}\efill - \subitem \texttt {T1} encoding\pfill \main{a-432} - \item \texttt {\PrintChar{092}dh}\efill - \subitem \texttt {T1} encoding\pfill \main{a-442} - \item \texttt {\PrintChar{092}dimen@}\pfill a-381, a-382, - a-384, a-385, a-670, a-671 - \item \texttt {\PrintChar{092}DJ}\efill - \subitem \texttt {T1} encoding\pfill \main{a-433} - \item \texttt {\PrintChar{092}dj}\efill - \subitem \texttt {T1} encoding\pfill \main{a-443} - \item \texttt {\PrintChar{092}dots}\pfill a-264, a-266 - - \indexspace -{\bfseries\hfil E\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}@eha}\pfill a-49 - \item \texttt {\PrintChar{092}@@enc@update}\pfill a-133 - \item \texttt {\PrintChar{092}encodingdefault}\pfill a-300, a-326 - - \indexspace -{\bfseries\hfil F\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}f}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-24} - \subitem \texttt {T2B} encoding\pfill \main{b-24} - \subitem \texttt {T2C} encoding\pfill \main{b-24} - \subitem \texttt {X2} encoding\pfill \main{b-24} - \item \texttt {\PrintChar{092}f@encoding}\pfill a-128 - \item \texttt {\PrintChar{092}f@size}\pfill a-130 - \item \texttt {\PrintChar{092}@firstofone}\pfill a-68, a-113 - \item \texttt {\PrintChar{092}@firstoftwo}\pfill a-97 - \item \texttt {\PrintChar{092}font}\pfill a-243--a-245, a-387, a-394, - a-673, a-680 - \item \texttt {\PrintChar{092}font@name}\pfill a-129, a-132 - \item \texttt {\PrintChar{092}fontdimen}\pfill a-243--a-245, a-387, - a-394, a-673, a-680 - \item \texttt {\PrintChar{092}fontencoding}\pfill a-326 - \item \texttt {\PrintChar{092}fontshape}\pfill a-397, a-683 - - \indexspace -{\bfseries\hfil G\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}@gobble}\pfill a-24 - \item \texttt {\PrintChar{092}guillemotleft}\efill - \subitem \texttt {OT4} encoding\pfill \main{a-650} - \subitem \texttt {T1} encoding\pfill \main{a-444} - \subitem \texttt {T2A} encoding\pfill \main{b-71} - \subitem \texttt {T2B} encoding\pfill \main{b-71} - \subitem \texttt {T2C} encoding\pfill \main{b-71} - \subitem \texttt {X2} encoding\pfill \main{b-71} - \item \texttt {\PrintChar{092}guillemotright}\efill - \subitem \texttt {OT4} encoding\pfill \main{a-651} - \subitem \texttt {T1} encoding\pfill \main{a-445} - \subitem \texttt {T2A} encoding\pfill \main{b-72} - \subitem \texttt {T2B} encoding\pfill \main{b-72} - \subitem \texttt {T2C} encoding\pfill \main{b-72} - \subitem \texttt {X2} encoding\pfill \main{b-72} - \item \texttt {\PrintChar{092}guilsinglleft}\efill - \subitem \texttt {T1} encoding\pfill \main{a-446} - \item \texttt {\PrintChar{092}guilsinglright}\efill - \subitem \texttt {T1} encoding\pfill \main{a-447} - - \indexspace -{\bfseries\hfil H\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}H}\efill - \subitem default\pfill \main{a-180} - \subitem \texttt {OT1} encoding\pfill \main{a-342} - \subitem \texttt {OT4} encoding\pfill \main{a-630} - \subitem \texttt {T1} encoding\pfill \main{a-408} - \subsubitem \texttt {O} composite\pfill \main{a-496} - \subsubitem \texttt {o} composite\pfill \main{a-523} - \subsubitem \texttt {U} composite\pfill \main{a-504} - \subsubitem \texttt {u} composite\pfill \main{a-531} - \subitem \texttt {T2A} encoding\pfill \main{b-18} - \subitem \texttt {T2B} encoding\pfill \main{b-18} - \subitem \texttt {T2C} encoding\pfill \main{b-18} - \subitem \texttt {X2} encoding\pfill \main{b-18} - \item \texttt {\PrintChar{092}hb@xt@}\pfill a-377 - \item \texttt {\PrintChar{092}@height}\pfill a-239, a-241 - \item \texttt {\PrintChar{092}hidewidth}\pfill a-347, a-348, a-351, - a-354, a-415, a-416, a-419, a-423, a-425, a-637, a-638, - a-641, a-644, a-708, a-711, b-28, b-29, b-32, b-35, - b-37 - \item \texttt {\PrintChar{092}hmode@bgroup}\pfill a-67, \main{a-73}, - a-347, a-353, a-379, a-386, a-393, a-415, a-422, a-607, - a-637, a-643, a-672, a-679, a-707, a-710, a-756 - \item \texttt {\PrintChar{092}hmode@start@before@group}\pfill a-68, - a-111, a-113, a-119, \main{a-134} - \item \texttt {\PrintChar{092}hrule}\pfill a-237, a-240 - \item \texttt {\PrintChar{092}hyphenation}\pfill \main{a-155} - \item \texttt {\PrintChar{092}@@hyphenation}\pfill \main{a-155} - - \indexspace -{\bfseries\hfil I\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}i}\pfill a-483, a-575, a-577, a-579, - a-581, b-75 - \subitem default\pfill \main{a-197} - \subitem \texttt {OT1} encoding\pfill \main{a-359} - \subitem \texttt {OT4} encoding\pfill \main{a-652} - \subitem \texttt {T1} encoding\pfill \main{a-448} - \subitem \texttt {T2A} encoding\pfill \main{b-73} - \subitem \texttt {T2B} encoding\pfill \main{b-73} - \subitem \texttt {T2C} encoding\pfill \main{b-73} - \item \texttt {\PrintChar{092}@ifdefinable}\pfill a-16 - \item \texttt {\PrintChar{092}ifin@}\pfill a-316, a-319 - \item \texttt {\PrintChar{092}@ifl@ter}\pfill a-330, a-331 - \item \texttt {\PrintChar{092}@ifl@ter@@}\pfill a-330, a-331 - \item \texttt {\PrintChar{092}in@}\pfill a-314, a-317 - \item \texttt {\PrintChar{092}@inmathwarn}\pfill \main{a-3} - \item \texttt {\PrintChar{092}input}\pfill a-971 - \item \texttt {\PrintChar{092}InputIfFileExists}\pfill a-304 - \item \texttt {\PrintChar{092}itshape}\pfill a-395, a-681 - - \indexspace -{\bfseries\hfil J\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}j}\efill - \subitem default\pfill \main{a-198} - \subitem \texttt {OT1} encoding\pfill \main{a-360} - \subitem \texttt {OT4} encoding\pfill \main{a-653} - \subitem \texttt {T1} encoding\pfill \main{a-449} - \subitem \texttt {T2A} encoding\pfill \main{b-74} - \subitem \texttt {T2B} encoding\pfill \main{b-74} - \subitem \texttt {T2C} encoding\pfill \main{b-74} - - \indexspace -{\bfseries\hfil K\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}k}\efill - \subitem \texttt {OT4} encoding\pfill \main{a-634} - \subsubitem \texttt {A} composite\pfill \main{a-686} - \subsubitem \texttt {a} composite\pfill \main{a-693} - \subsubitem \texttt {E} composite\pfill \main{a-688} - \subsubitem \texttt {e} composite\pfill \main{a-695} - \subitem \texttt {T1} encoding\pfill \main{a-424} - \subsubitem \texttt {A} composite\pfill \main{a-485} - \subsubitem \texttt {a} composite\pfill \main{a-512} - \subsubitem \texttt {E} composite\pfill \main{a-490} - \subsubitem \texttt {e} composite\pfill \main{a-517} - \subitem \texttt {T2A} encoding\pfill \main{b-36} - \subsubitem \texttt {\PrintChar{092}CYRS} composite\pfill - \main{b-450} - \subsubitem \texttt {\PrintChar{092}cyrs} composite\pfill - \main{b-451} - \subitem \texttt {T2B} encoding\pfill \main{b-36} - \subitem \texttt {T2C} encoding\pfill \main{b-36} - \subsubitem \texttt {\PrintChar{092}CYRABHCH} composite\pfill - \main{b-461} - \subsubitem \texttt {\PrintChar{092}cyrabhch} composite\pfill - \main{b-463} - \subitem \texttt {X2} encoding\pfill \main{b-36} - \subsubitem \texttt {\PrintChar{092}CYRABHCH} composite\pfill - \main{b-457} - \subsubitem \texttt {\PrintChar{092}cyrabhch} composite\pfill - \main{b-459} - \subsubitem \texttt {\PrintChar{092}CYRS} composite\pfill - \main{b-450} - \subsubitem \texttt {\PrintChar{092}cyrs} composite\pfill - \main{b-451} - - \indexspace -{\bfseries\hfil L\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}L}\efill - \subitem default\pfill \main{a-192} - \subitem \texttt {OT1} encoding\pfill \main{a-376} - \subitem \texttt {OT4} encoding\pfill \main{a-648} - \subitem \texttt {T1} encoding\pfill \main{a-434} - \item \texttt {\PrintChar{092}l}\efill - \subitem default\pfill \main{a-199} - \subitem \texttt {OT1} encoding\pfill \main{a-378} - \subitem \texttt {OT4} encoding\pfill \main{a-654} - \subitem \texttt {T1} encoding\pfill \main{a-450} - \item \texttt {\PrintChar{092}LastDeclaredEncoding}\pfill b-12--b-27, - b-30, b-34, b-36, b-38, b-40, b-42--b-139, - b-372, b-373, b-392--b-395, b-410, b-411, b-416, b-417, - b-426, b-427, b-441--b-444, b-446--b-451, b-454, b-455 - \item \texttt {\PrintChar{092}@latex@error}\pfill a-47 - \item \texttt {\PrintChar{092}@latex@warning}\pfill a-55 - \item \texttt {\PrintChar{092}lbrace}\pfill a-252 - \item \texttt {\PrintChar{092}lccode}\pfill a-104 - \item \texttt {\PrintChar{092}ldots}\pfill a-266 - \item \texttt {\PrintChar{092}leavevmode}\pfill a-73, a-134, a-235, - a-237, a-350, a-377, a-381, a-384, a-418, a-640, a-670, - b-31 - \item \texttt {\PrintChar{092}lowercase}\pfill a-105, a-302 - - \indexspace -{\bfseries\hfil M\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}mathchardef}\pfill a-70 - \item \texttt {\PrintChar{092}mathdollar}\pfill a-251 - \item \texttt {\PrintChar{092}mathellipsis}\pfill a-265 - \item \texttt {\PrintChar{092}mathparagraph}\pfill a-254 - \item \texttt {\PrintChar{092}mathsection}\pfill a-255 - \item \texttt {\PrintChar{092}mathsterling}\pfill a-263 - \item \texttt {\PrintChar{092}mbox}\pfill a-239 - \item \texttt {\PrintChar{092}MessageBreak}\pfill a-121, a-307, - a-310 - - \indexspace -{\bfseries\hfil N\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}NeedsTeXFormat}\pfill b-2 - \item \texttt {\PrintChar{092}newcommand}\pfill a-4 - \item \texttt {\PrintChar{092}newtie}\efill - \subitem default\pfill \main{a-860} - \subitem \texttt {TS1} encoding\pfill \main{a-725} - \item \texttt {\PrintChar{092}nfss@text}\pfill a-259, a-261 - \item \texttt {\PrintChar{092}NG}\efill - \subitem \texttt {T1} encoding\pfill \main{a-435} - \item \texttt {\PrintChar{092}ng}\efill - \subitem \texttt {T1} encoding\pfill \main{a-451} - \item \texttt {\PrintChar{092}@nil}\pfill a-77 - \item \texttt {\PrintChar{092}null}\pfill a-425, a-708, a-711, b-37 - - \indexspace -{\bfseries\hfil O\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}O}\efill - \subitem default\pfill \main{a-194} - \subitem \texttt {OT1} encoding\pfill \main{a-357} - \subitem \texttt {OT4} encoding\pfill \main{a-647} - \subitem \texttt {T1} encoding\pfill \main{a-437} - \item \texttt {\PrintChar{092}o}\efill - \subitem default\pfill \main{a-201} - \subitem \texttt {OT1} encoding\pfill \main{a-362} - \subitem \texttt {OT4} encoding\pfill \main{a-655} - \subitem \texttt {T1} encoding\pfill \main{a-453} - \item \texttt {\PrintChar{092}o@lign}\pfill a-347, a-354, a-415, - a-423, a-637, a-644, b-28, b-35 - \item \texttt {\PrintChar{092}oalign}\pfill a-425, b-37 - \item \texttt {\PrintChar{092}OE}\efill - \subitem default\pfill \main{a-193} - \subitem \texttt {OT1} encoding\pfill \main{a-356} - \subitem \texttt {OT4} encoding\pfill \main{a-646} - \subitem \texttt {T1} encoding\pfill \main{a-436} - \item \texttt {\PrintChar{092}oe}\efill - \subitem default\pfill \main{a-200} - \subitem \texttt {OT1} encoding\pfill \main{a-361} - \subitem \texttt {OT4} encoding\pfill \main{a-656} - \subitem \texttt {T1} encoding\pfill \main{a-452} - \item \texttt {\PrintChar{092}@onlypreamble}\pfill a-18, a-19, - a-61, a-62, a-66, a-89, a-109, a-139, a-140, a-154 - \item \texttt {\PrintChar{092}ooalign}\pfill a-351, a-419, a-608, - a-641, a-708, a-711, a-757, b-32 - - \indexspace -{\bfseries\hfil P\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}P}\pfill a-254 - \item \texttt {\PrintChar{092}PackageError}\pfill a-305 - \item \texttt {\PrintChar{092}patterns}\pfill \main{a-155} - \item \texttt {\PrintChar{092}@@patterns}\pfill \main{a-155} - \item \texttt {\PrintChar{092}pickup@font}\pfill a-131 - \item \texttt {\PrintChar{092}pounds}\pfill a-262 - \item \texttt {\PrintChar{092}ProcessOptions}\pfill a-325 - \item \texttt {\PrintChar{092}protect}\pfill a-21, a-27, a-48, a-55, - a-159, a-167 - \item \texttt {\PrintChar{092}providecommand}\pfill a-6 - \item \texttt {\PrintChar{092}ProvidesFile}\pfill b-3--b-6 - \item \texttt {\PrintChar{092}ProvideTextCommand}\pfill \usage{1}, - \main{a-3}, a-60 - \item \texttt {\PrintChar{092}ProvideTextCommandDefault}\pfill - \usage{3}, \main{a-57} - - \indexspace -{\bfseries\hfil Q\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}quotedblbase}\efill - \subitem \texttt {OT4} encoding\pfill \main{a-657} - \subitem \texttt {T1} encoding\pfill \main{a-454} - \subitem \texttt {T2A} encoding\pfill \main{b-67} - \subitem \texttt {T2B} encoding\pfill \main{b-67} - \subitem \texttt {T2C} encoding\pfill \main{b-67} - \subitem \texttt {X2} encoding\pfill \main{b-67} - \item \texttt {\PrintChar{092}quotesinglbase}\efill - \subitem \texttt {T1} encoding\pfill \main{a-455} - - \indexspace -{\bfseries\hfil R\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}r}\efill - \subitem default\pfill \main{a-186} - \subitem \texttt {OT1} encoding\pfill \main{a-345} - \subsubitem \texttt {A} composite\pfill \main{a-383} - \subitem \texttt {OT4} encoding\pfill \main{a-633} - \subsubitem \texttt {A} composite\pfill \main{a-669} - \subitem \texttt {T1} encoding\pfill \main{a-409} - \subsubitem \texttt {A} composite\pfill \main{a-542} - \subsubitem \texttt {a} composite\pfill \main{a-568} - \subsubitem \texttt {U} composite\pfill \main{a-505} - \subsubitem \texttt {u} composite\pfill \main{a-532} - \subitem \texttt {T2A} encoding\pfill \main{b-19} - \subitem \texttt {T2B} encoding\pfill \main{b-19} - \subitem \texttt {T2C} encoding\pfill \main{b-19} - \subitem \texttt {X2} encoding\pfill \main{b-19} - \item \texttt {\PrintChar{092}raise}\pfill a-382, a-385, a-609, - a-671, a-758 - \item \texttt {\PrintChar{092}rbrace}\pfill a-253 - \item \texttt {\PrintChar{092}@rc@ifdefinable}\pfill a-16 - \item \texttt {\PrintChar{092}reserved@a}\pfill a-75, a-77, a-85, - a-102, a-107 - \item \texttt {\PrintChar{092}reserved@b}\pfill a-78, a-85 - \item \texttt {\PrintChar{092}reserved@f}\pfill a-301--a-304, a-306, - a-313 - \item \texttt {\PrintChar{092}rlap}\pfill a-382, a-385, a-671 - - \indexspace -{\bfseries\hfil S\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}S}\pfill a-255 - \item \texttt {\PrintChar{092}scshape}\pfill a-246 - \item \texttt {\PrintChar{092}@secondoftwo}\pfill a-95 - \item \texttt {\PrintChar{092}selectfont}\pfill a-326, a-397, a-683 - \item \texttt {\PrintChar{092}sh@ft}\pfill a-347, a-354, a-415, - a-423, a-637, a-644, b-28, b-35 - \item \texttt {\PrintChar{092}slshape}\pfill a-388, a-674 - \item \texttt {\PrintChar{092}spacefactor}\pfill a-70, a-71 - \item \texttt {\PrintChar{092}SS}\efill - \subitem default\pfill \main{a-248} - \subitem \texttt {T1} encoding\pfill \main{a-438} - \item \texttt {\PrintChar{092}ss}\efill - \subitem default\pfill \main{a-202} - \subitem \texttt {OT1} encoding\pfill \main{a-363} - \subitem \texttt {OT4} encoding\pfill \main{a-658} - \subitem \texttt {T1} encoding\pfill \main{a-456} - \item \texttt {\PrintChar{092}@strip@args}\pfill \main{a-74} - \item \texttt {\PrintChar{092}symbol}\pfill a-122 - - \indexspace -{\bfseries\hfil T\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}t}\efill - \subitem default\pfill \main{a-229}, \main{a-858} - \subitem \texttt {OML} encoding\pfill \main{a-618} - \subitem \texttt {TS1} encoding\pfill \main{a-723} - \item \texttt {\PrintChar{092}@tabacckludge}\pfill a-173, a-175 - \item \texttt {\PrintChar{092}@tempboxa}\pfill a-69 - \item \texttt {\PrintChar{092}@text@composite}\pfill \main{a-74} - \item \texttt {\PrintChar{092}@text@composite@x}\pfill \main{a-74} - \item \texttt {\PrintChar{092}textacutedbl}\efill - \subitem default\pfill \main{a-908} - \subitem \texttt {TS1} encoding\pfill \main{a-778} - \item \texttt {\PrintChar{092}textascendercompwordmark}\efill - \subitem default\pfill \main{a-863} - \subitem \texttt {TS1} encoding\pfill \main{a-728} - \item \texttt {\PrintChar{092}textasciiacute}\efill - \subitem default\pfill \main{a-957} - \subitem \texttt {TS1} encoding\pfill \main{a-828} - \item \texttt {\PrintChar{092}textasciibreve}\efill - \subitem default\pfill \main{a-905} - \subitem \texttt {TS1} encoding\pfill \main{a-776} - \item \texttt {\PrintChar{092}textasciicaron}\efill - \subitem default\pfill \main{a-906} - \subitem \texttt {TS1} encoding\pfill \main{a-777} - \item \texttt {\PrintChar{092}textasciicircum}\efill - \subitem default\pfill \main{a-233} - \subitem \texttt {T1} encoding\pfill \main{a-457} - \subitem \texttt {T2A} encoding\pfill \main{b-53} - \subitem \texttt {T2B} encoding\pfill \main{b-53} - \subitem \texttt {T2C} encoding\pfill \main{b-53} - \subitem \texttt {X2} encoding\pfill \main{b-53} - \item \texttt {\PrintChar{092}textasciidieresis}\efill - \subitem default\pfill \main{a-945} - \subitem \texttt {TS1} encoding\pfill \main{a-816} - \item \texttt {\PrintChar{092}textasciigrave}\efill - \subitem default\pfill \main{a-896} - \subitem \texttt {TS1} encoding\pfill \main{a-767} - \item \texttt {\PrintChar{092}textasciimacron}\efill - \subitem default\pfill \main{a-952} - \subitem \texttt {TS1} encoding\pfill \main{a-823} - \item \texttt {\PrintChar{092}textasciitilde}\efill - \subitem default\pfill \main{a-234} - \subitem \texttt {T1} encoding\pfill \main{a-458} - \subitem \texttt {T2A} encoding\pfill \main{b-58} - \subitem \texttt {T2B} encoding\pfill \main{b-58} - \subitem \texttt {T2C} encoding\pfill \main{b-58} - \subitem \texttt {X2} encoding\pfill \main{b-58} - \item \texttt {\PrintChar{092}textasteriskcentered}\efill - \subitem default\pfill \main{a-215}, \main{a-873} - \subitem \texttt {OMS} encoding\pfill \main{a-596} - \subitem \texttt {TS1} encoding\pfill \main{a-738} - \item \texttt {\PrintChar{092}textbackslash}\efill - \subitem default\pfill \main{a-216} - \subitem \texttt {OMS} encoding\pfill \main{a-597} - \subitem \texttt {T1} encoding\pfill \main{a-459} - \subitem \texttt {T2A} encoding\pfill \main{b-52} - \subitem \texttt {T2B} encoding\pfill \main{b-52} - \subitem \texttt {T2C} encoding\pfill \main{b-52} - \subitem \texttt {X2} encoding\pfill \main{b-52} - \item \texttt {\PrintChar{092}textbaht}\efill - \subitem default\pfill \main{a-931} - \subitem \texttt {TS1} encoding\pfill \main{a-802} - \item \texttt {\PrintChar{092}textbar}\efill - \subitem default\pfill \main{a-217} - \subitem \texttt {OMS} encoding\pfill \main{a-598} - \subitem \texttt {T1} encoding\pfill \main{a-460} - \subitem \texttt {T2A} encoding\pfill \main{b-56} - \subitem \texttt {T2B} encoding\pfill \main{b-56} - \subitem \texttt {T2C} encoding\pfill \main{b-56} - \subitem \texttt {X2} encoding\pfill \main{b-56} - \item \texttt {\PrintChar{092}textbardbl}\efill - \subitem default\pfill \main{a-911} - \subitem \texttt {TS1} encoding\pfill \main{a-782} - \item \texttt {\PrintChar{092}textbigcircle}\efill - \subitem default\pfill \main{a-890} - \subitem \texttt {TS1} encoding\pfill \main{a-755} - \item \texttt {\PrintChar{092}textblank}\efill - \subitem default\pfill \main{a-870} - \subitem \texttt {TS1} encoding\pfill \main{a-735} - \item \texttt {\PrintChar{092}textborn}\efill - \subitem default\pfill \main{a-897} - \subitem \texttt {TS1} encoding\pfill \main{a-768} - \item \texttt {\PrintChar{092}textbraceleft}\pfill a-252 - \subitem default\pfill \main{a-218} - \subitem \texttt {OMS} encoding\pfill \main{a-599} - \subitem \texttt {T1} encoding\pfill \main{a-461} - \subitem \texttt {T2A} encoding\pfill \main{b-55} - \subitem \texttt {T2B} encoding\pfill \main{b-55} - \subitem \texttt {T2C} encoding\pfill \main{b-55} - \subitem \texttt {X2} encoding\pfill \main{b-55} - \item \texttt {\PrintChar{092}textbraceright}\pfill a-253 - \subitem default\pfill \main{a-219} - \subitem \texttt {OMS} encoding\pfill \main{a-600} - \subitem \texttt {T1} encoding\pfill \main{a-462} - \subitem \texttt {T2A} encoding\pfill \main{b-57} - \subitem \texttt {T2B} encoding\pfill \main{b-57} - \subitem \texttt {T2C} encoding\pfill \main{b-57} - \subitem \texttt {X2} encoding\pfill \main{b-57} - \item \texttt {\PrintChar{092}textbrokenbar}\efill - \subitem default\pfill \main{a-943} - \subitem \texttt {TS1} encoding\pfill \main{a-814} - \item \texttt {\PrintChar{092}textbullet}\efill - \subitem default\pfill \main{a-220}, \main{a-913} - \subitem \texttt {OMS} encoding\pfill \main{a-601} - \subitem \texttt {TS1} encoding\pfill \main{a-784} - \item \texttt {\PrintChar{092}textcapitalcompwordmark}\efill - \subitem default\pfill \main{a-862} - \subitem \texttt {TS1} encoding\pfill \main{a-727} - \item \texttt {\PrintChar{092}textcelsius}\efill - \subitem default\pfill \main{a-914} - \subitem \texttt {TS1} encoding\pfill \main{a-785} - \item \texttt {\PrintChar{092}textcent}\efill - \subitem default\pfill \main{a-939} - \subitem \texttt {TS1} encoding\pfill \main{a-810} - \item \texttt {\PrintChar{092}textcentoldstyle}\efill - \subitem default\pfill \main{a-916} - \subitem \texttt {TS1} encoding\pfill \main{a-787} - \item \texttt {\PrintChar{092}textcircled}\pfill a-230, a-246 - \subitem default\pfill \main{a-226}, \main{a-843} - \subitem \texttt {OMS} encoding\pfill \main{a-607} - \subitem \texttt {TS1} encoding\pfill \main{a-756} - \item \texttt {\PrintChar{092}textcircledP}\efill - \subitem default\pfill \main{a-950} - \subitem \texttt {TS1} encoding\pfill \main{a-821} - \item \texttt {\PrintChar{092}textcolonmonetary}\efill - \subitem default\pfill \main{a-918} - \subitem \texttt {TS1} encoding\pfill \main{a-789} - \item \texttt {\PrintChar{092}textcompwordmark}\efill - \subitem default\pfill \main{a-235} - \subitem \texttt {T1} encoding\pfill \main{a-463} - \subitem \texttt {T2A} encoding\pfill \main{b-45} - \subitem \texttt {T2B} encoding\pfill \main{b-45} - \subitem \texttt {T2C} encoding\pfill \main{b-45} - \subitem \texttt {X2} encoding\pfill \main{b-45} - \item \texttt {\PrintChar{092}textcopyleft}\efill - \subitem default\pfill \main{a-948} - \subitem \texttt {TS1} encoding\pfill \main{a-819} - \item \texttt {\PrintChar{092}textcopyright}\pfill a-261 - \subitem default\pfill \main{a-230}, \main{a-946} - \subitem \texttt {TS1} encoding\pfill \main{a-817} - \item \texttt {\PrintChar{092}textcurrency}\efill - \subitem default\pfill \main{a-941} - \subitem \texttt {T2A} encoding\pfill \main{b-60} - \subitem \texttt {T2B} encoding\pfill \main{b-60} - \subitem \texttt {T2C} encoding\pfill \main{b-60} - \subitem \texttt {TS1} encoding\pfill \main{a-812} - \subitem \texttt {X2} encoding\pfill \main{b-60} - \item \texttt {\PrintChar{092}textdagger}\pfill a-256 - \subitem default\pfill \main{a-222}, \main{a-909} - \subitem \texttt {OMS} encoding\pfill \main{a-603} - \subitem \texttt {TS1} encoding\pfill \main{a-780} - \item \texttt {\PrintChar{092}textdaggerdbl}\pfill a-257 - \subitem default\pfill \main{a-221}, \main{a-910} - \subitem \texttt {OMS} encoding\pfill \main{a-602} - \subitem \texttt {TS1} encoding\pfill \main{a-781} - \item \texttt {\PrintChar{092}textdblhyphen}\efill - \subitem default\pfill \main{a-874} - \subitem \texttt {TS1} encoding\pfill \main{a-739} - \item \texttt {\PrintChar{092}textdblhyphenchar}\efill - \subitem default\pfill \main{a-904} - \subitem \texttt {TS1} encoding\pfill \main{a-775} - \item \texttt {\PrintChar{092}textdegree}\efill - \subitem default\pfill \main{a-953} - \subitem \texttt {TS1} encoding\pfill \main{a-824} - \item \texttt {\PrintChar{092}textdied}\efill - \subitem default\pfill \main{a-899} - \subitem \texttt {TS1} encoding\pfill \main{a-770} - \item \texttt {\PrintChar{092}textdiscount}\efill - \subitem default\pfill \main{a-933} - \subitem \texttt {TS1} encoding\pfill \main{a-804} - \item \texttt {\PrintChar{092}textdiv}\efill - \subitem default\pfill \main{a-970} - \subitem \texttt {TS1} encoding\pfill \main{a-841} - \item \texttt {\PrintChar{092}textdivorced}\efill - \subitem default\pfill \main{a-898} - \subitem \texttt {TS1} encoding\pfill \main{a-769} - \item \texttt {\PrintChar{092}textdollar}\pfill a-251, a-973, a-975 - \subitem default\pfill \main{a-203}, \main{a-871} - \subitem \texttt {OT1} encoding\pfill \main{a-386} - \subitem \texttt {OT4} encoding\pfill \main{a-672} - \subitem \texttt {T1} encoding\pfill \main{a-464} - \subitem \texttt {T2A} encoding\pfill \main{b-47} - \subitem \texttt {T2B} encoding\pfill \main{b-47} - \subitem \texttt {T2C} encoding\pfill \main{b-47} - \subitem \texttt {TS1} encoding\pfill \main{a-736} - \subitem \texttt {X2} encoding\pfill \main{b-47} - \item \texttt {\PrintChar{092}textdollaroldstyle}\efill - \subitem default\pfill \main{a-915} - \subitem \texttt {TS1} encoding\pfill \main{a-786} - \item \texttt {\PrintChar{092}textdong}\efill - \subitem default\pfill \main{a-927} - \subitem \texttt {TS1} encoding\pfill \main{a-798} - \item \texttt {\PrintChar{092}textdownarrow}\efill - \subitem default\pfill \main{a-895} - \subitem \texttt {TS1} encoding\pfill \main{a-766} - \item \texttt {\PrintChar{092}texteightoldstyle}\efill - \subitem default\pfill \main{a-884} - \subitem \texttt {TS1} encoding\pfill \main{a-749} - \item \texttt {\PrintChar{092}textellipsis}\pfill a-265 - \subitem default\pfill \main{a-242} - \item \texttt {\PrintChar{092}textemdash}\efill - \subitem default\pfill \main{a-204} - \subitem \texttt {OT1} encoding\pfill \main{a-364} - \subitem \texttt {OT4} encoding\pfill \main{a-659} - \subitem \texttt {T1} encoding\pfill \main{a-465} - \subitem \texttt {T2A} encoding\pfill \main{b-44} - \subitem \texttt {T2B} encoding\pfill \main{b-44} - \subitem \texttt {T2C} encoding\pfill \main{b-44} - \subitem \texttt {X2} encoding\pfill \main{b-44} - \item \texttt {\PrintChar{092}textendash}\efill - \subitem default\pfill \main{a-205} - \subitem \texttt {OT1} encoding\pfill \main{a-365} - \subitem \texttt {OT4} encoding\pfill \main{a-660} - \subitem \texttt {T1} encoding\pfill \main{a-466} - \subitem \texttt {T2A} encoding\pfill \main{b-42} - \subitem \texttt {T2B} encoding\pfill \main{b-42} - \subitem \texttt {T2C} encoding\pfill \main{b-42} - \subitem \texttt {X2} encoding\pfill \main{b-42} - \item \texttt {\PrintChar{092}textestimated}\efill - \subitem default\pfill \main{a-934} - \subitem \texttt {TS1} encoding\pfill \main{a-805} - \item \texttt {\PrintChar{092}texteuro}\efill - \subitem default\pfill \main{a-968} - \subitem \texttt {TS1} encoding\pfill \main{a-839} - \item \texttt {\PrintChar{092}textexclamdown}\efill - \subitem default\pfill \main{a-206} - \subitem \texttt {OT1} encoding\pfill \main{a-366} - \subitem \texttt {OT4} encoding\pfill \main{a-661} - \subitem \texttt {T1} encoding\pfill \main{a-467} - \item \texttt {\PrintChar{092}textfiveoldstyle}\efill - \subitem default\pfill \main{a-881} - \subitem \texttt {TS1} encoding\pfill \main{a-746} - \item \texttt {\PrintChar{092}textflorin}\efill - \subitem default\pfill \main{a-917} - \subitem \texttt {TS1} encoding\pfill \main{a-788} - \item \texttt {\PrintChar{092}textfouroldstyle}\efill - \subitem default\pfill \main{a-880} - \subitem \texttt {TS1} encoding\pfill \main{a-745} - \item \texttt {\PrintChar{092}textfractionsolidus}\efill - \subitem default\pfill \main{a-875} - \subitem \texttt {TS1} encoding\pfill \main{a-740} - \item \texttt {\PrintChar{092}textgravedbl}\efill - \subitem default\pfill \main{a-907} - \subitem \texttt {TS1} encoding\pfill \main{a-779} - \item \texttt {\PrintChar{092}textgreater}\efill - \subitem default\pfill \main{a-228} - \subitem \texttt {OML} encoding\pfill \main{a-617} - \subitem \texttt {T1} encoding\pfill \main{a-468} - \subitem \texttt {T2A} encoding\pfill \main{b-49} - \subitem \texttt {T2B} encoding\pfill \main{b-49} - \subitem \texttt {T2C} encoding\pfill \main{b-49} - \subitem \texttt {X2} encoding\pfill \main{b-49} - \item \texttt {\PrintChar{092}textguarani}\efill - \subitem default\pfill \main{a-921} - \subitem \texttt {TS1} encoding\pfill \main{a-792} - \item \texttt {\PrintChar{092}texthyphen}\pfill a-208, a-368, a-470, - a-663, b-51 - \item \texttt {\PrintChar{092}texthyphenchar}\pfill a-207, a-367, - a-469, a-662, b-50 - \item \texttt {\PrintChar{092}textinterrobang}\efill - \subitem default\pfill \main{a-925} - \subitem \texttt {TS1} encoding\pfill \main{a-796} - \item \texttt {\PrintChar{092}textinterrobangdown}\efill - \subitem default\pfill \main{a-926} - \subitem \texttt {TS1} encoding\pfill \main{a-797} - \item \texttt {\PrintChar{092}textlangle}\efill - \subitem default\pfill \main{a-886} - \subitem \texttt {TS1} encoding\pfill \main{a-751} - \item \texttt {\PrintChar{092}textlbrackdbl}\efill - \subitem default\pfill \main{a-892} - \subitem \texttt {TS1} encoding\pfill \main{a-763} - \item \texttt {\PrintChar{092}textleaf}\efill - \subitem default\pfill \main{a-900} - \subitem \texttt {TS1} encoding\pfill \main{a-771} - \item \texttt {\PrintChar{092}textleftarrow}\efill - \subitem default\pfill \main{a-868} - \subitem \texttt {TS1} encoding\pfill \main{a-733} - \item \texttt {\PrintChar{092}textless}\efill - \subitem default\pfill \main{a-227} - \subitem \texttt {OML} encoding\pfill \main{a-616} - \subitem \texttt {T1} encoding\pfill \main{a-471} - \subitem \texttt {T2A} encoding\pfill \main{b-48} - \subitem \texttt {T2B} encoding\pfill \main{b-48} - \subitem \texttt {T2C} encoding\pfill \main{b-48} - \subitem \texttt {X2} encoding\pfill \main{b-48} - \item \texttt {\PrintChar{092}textlira}\efill - \subitem default\pfill \main{a-923} - \subitem \texttt {TS1} encoding\pfill \main{a-794} - \item \texttt {\PrintChar{092}textlnot}\efill - \subitem default\pfill \main{a-949} - \subitem \texttt {TS1} encoding\pfill \main{a-820} - \item \texttt {\PrintChar{092}textlquill}\efill - \subitem default\pfill \main{a-937} - \subitem \texttt {TS1} encoding\pfill \main{a-808} - \item \texttt {\PrintChar{092}textmarried}\efill - \subitem default\pfill \main{a-901} - \subitem \texttt {TS1} encoding\pfill \main{a-772} - \item \texttt {\PrintChar{092}textmho}\efill - \subitem default\pfill \main{a-889} - \subitem \texttt {TS1} encoding\pfill \main{a-754} - \item \texttt {\PrintChar{092}textminus}\efill - \subitem default\pfill \main{a-887} - \subitem \texttt {TS1} encoding\pfill \main{a-752} - \item \texttt {\PrintChar{092}textmu}\efill - \subitem default\pfill \main{a-958} - \subitem \texttt {TS1} encoding\pfill \main{a-829} - \item \texttt {\PrintChar{092}textmusicalnote}\efill - \subitem default\pfill \main{a-902} - \subitem \texttt {TS1} encoding\pfill \main{a-773} - \item \texttt {\PrintChar{092}textnaira}\efill - \subitem default\pfill \main{a-920} - \subitem \texttt {TS1} encoding\pfill \main{a-791} - \item \texttt {\PrintChar{092}textnineoldstyle}\efill - \subitem default\pfill \main{a-885} - \subitem \texttt {TS1} encoding\pfill \main{a-750} - \item \texttt {\PrintChar{092}textnumero}\efill - \subitem default\pfill \main{a-932} - \subitem \texttt {T2A} encoding\pfill \main{b-59} - \subitem \texttt {T2B} encoding\pfill \main{b-59} - \subitem \texttt {T2C} encoding\pfill \main{b-59} - \subitem \texttt {TS1} encoding\pfill \main{a-803} - \subitem \texttt {X2} encoding\pfill \main{b-59} - \item \texttt {\PrintChar{092}textohm}\efill - \subitem default\pfill \main{a-891} - \subitem \texttt {TS1} encoding\pfill \main{a-762} - \item \texttt {\PrintChar{092}textonehalf}\efill - \subitem default\pfill \main{a-966} - \subitem \texttt {TS1} encoding\pfill \main{a-837} - \item \texttt {\PrintChar{092}textoneoldstyle}\efill - \subitem default\pfill \main{a-877} - \subitem \texttt {TS1} encoding\pfill \main{a-742} - \item \texttt {\PrintChar{092}textonequarter}\efill - \subitem default\pfill \main{a-965} - \subitem \texttt {TS1} encoding\pfill \main{a-836} - \item \texttt {\PrintChar{092}textonesuperior}\efill - \subitem default\pfill \main{a-962} - \subitem \texttt {TS1} encoding\pfill \main{a-833} - \item \texttt {\PrintChar{092}textopenbullet}\efill - \subitem default\pfill \main{a-935} - \subitem \texttt {TS1} encoding\pfill \main{a-806} - \item \texttt {\PrintChar{092}textordfeminine}\efill - \subitem default\pfill \main{a-249}, \main{a-947} - \subitem \texttt {TS1} encoding\pfill \main{a-818} - \item \texttt {\PrintChar{092}textordmasculine}\efill - \subitem default\pfill \main{a-250}, \main{a-963} - \subitem \texttt {TS1} encoding\pfill \main{a-834} - \item \texttt {\PrintChar{092}textparagraph}\pfill a-254 - \subitem default\pfill \main{a-223}, \main{a-959} - \subitem \texttt {OMS} encoding\pfill \main{a-604} - \subitem \texttt {TS1} encoding\pfill \main{a-830} - \item \texttt {\PrintChar{092}textperiodcentered}\efill - \subitem default\pfill \main{a-224}, \main{a-960} - \subitem \texttt {OMS} encoding\pfill \main{a-605} - \subitem \texttt {TS1} encoding\pfill \main{a-831} - \item \texttt {\PrintChar{092}textpertenthousand}\pfill a-977 - \subitem default\pfill \main{a-929} - \subitem \texttt {T1} encoding\pfill \main{a-428} - \subitem \texttt {T2A} encoding\pfill \main{b-40} - \subitem \texttt {T2B} encoding\pfill \main{b-40} - \subitem \texttt {T2C} encoding\pfill \main{b-40} - \subitem \texttt {TS1} encoding\pfill \main{a-800} - \subitem \texttt {X2} encoding\pfill \main{b-40} - \item \texttt {\PrintChar{092}textperthousand}\pfill a-976 - \subitem default\pfill \main{a-912} - \subitem \texttt {T1} encoding\pfill \main{a-426} - \subitem \texttt {T2A} encoding\pfill \main{b-38} - \subitem \texttt {T2B} encoding\pfill \main{b-38} - \subitem \texttt {T2C} encoding\pfill \main{b-38} - \subitem \texttt {TS1} encoding\pfill \main{a-783} - \subitem \texttt {X2} encoding\pfill \main{b-38} - \item \texttt {\PrintChar{092}textpeso}\efill - \subitem default\pfill \main{a-922} - \subitem \texttt {TS1} encoding\pfill \main{a-793} - \item \texttt {\PrintChar{092}textpilcrow}\efill - \subitem default\pfill \main{a-930} - \subitem \texttt {TS1} encoding\pfill \main{a-801} - \item \texttt {\PrintChar{092}textpm}\efill - \subitem default\pfill \main{a-954} - \subitem \texttt {TS1} encoding\pfill \main{a-825} - \item \texttt {\PrintChar{092}textquestiondown}\efill - \subitem default\pfill \main{a-209} - \subitem \texttt {OT1} encoding\pfill \main{a-369} - \subitem \texttt {OT4} encoding\pfill \main{a-664} - \subitem \texttt {T1} encoding\pfill \main{a-472} - \item \texttt {\PrintChar{092}textquotedbl}\efill - \subitem \texttt {T1} encoding\pfill \main{a-475} - \subitem \texttt {T2A} encoding\pfill \main{b-62} - \subitem \texttt {T2B} encoding\pfill \main{b-62} - \subitem \texttt {T2C} encoding\pfill \main{b-62} - \subitem \texttt {X2} encoding\pfill \main{b-62} - \item \texttt {\PrintChar{092}textquotedblleft}\efill - \subitem default\pfill \main{a-210} - \subitem \texttt {OT1} encoding\pfill \main{a-370} - \subitem \texttt {OT4} encoding\pfill \main{a-665} - \subitem \texttt {T1} encoding\pfill \main{a-473} - \subitem \texttt {T2A} encoding\pfill \main{b-65} - \subitem \texttt {T2B} encoding\pfill \main{b-65} - \subitem \texttt {T2C} encoding\pfill \main{b-65} - \subitem \texttt {X2} encoding\pfill \main{b-65} - \item \texttt {\PrintChar{092}textquotedblright}\efill - \subitem default\pfill \main{a-211} - \subitem \texttt {OT1} encoding\pfill \main{a-371} - \subitem \texttt {OT4} encoding\pfill \main{a-666} - \subitem \texttt {T1} encoding\pfill \main{a-474} - \subitem \texttt {T2A} encoding\pfill \main{b-66} - \subitem \texttt {T2B} encoding\pfill \main{b-66} - \subitem \texttt {T2C} encoding\pfill \main{b-66} - \subitem \texttt {X2} encoding\pfill \main{b-66} - \item \texttt {\PrintChar{092}textquoteleft}\efill - \subitem default\pfill \main{a-212} - \subitem \texttt {OT1} encoding\pfill \main{a-372} - \subitem \texttt {OT4} encoding\pfill \main{a-667} - \subitem \texttt {T1} encoding\pfill \main{a-476} - \subitem \texttt {T2A} encoding\pfill \main{b-63} - \subitem \texttt {T2B} encoding\pfill \main{b-63} - \subitem \texttt {T2C} encoding\pfill \main{b-63} - \subitem \texttt {X2} encoding\pfill \main{b-63} - \item \texttt {\PrintChar{092}textquoteright}\efill - \subitem default\pfill \main{a-213} - \subitem \texttt {OT1} encoding\pfill \main{a-373} - \subitem \texttt {OT4} encoding\pfill \main{a-668} - \subitem \texttt {T1} encoding\pfill \main{a-477} - \subitem \texttt {T2A} encoding\pfill \main{b-64} - \subitem \texttt {T2B} encoding\pfill \main{b-64} - \subitem \texttt {T2C} encoding\pfill \main{b-64} - \subitem \texttt {X2} encoding\pfill \main{b-64} - \item \texttt {\PrintChar{092}textquotesingle}\efill - \subitem default\pfill \main{a-872} - \subitem \texttt {TS1} encoding\pfill \main{a-737} - \item \texttt {\PrintChar{092}textquotestraightbase}\efill - \subitem default\pfill \main{a-864} - \subitem \texttt {TS1} encoding\pfill \main{a-729} - \item \texttt {\PrintChar{092}textquotestraightdblbase}\efill - \subitem default\pfill \main{a-865} - \subitem \texttt {TS1} encoding\pfill \main{a-730} - \item \texttt {\PrintChar{092}textrangle}\efill - \subitem default\pfill \main{a-888} - \subitem \texttt {TS1} encoding\pfill \main{a-753} - \item \texttt {\PrintChar{092}textrbrackdbl}\efill - \subitem default\pfill \main{a-893} - \subitem \texttt {TS1} encoding\pfill \main{a-764} - \item \texttt {\PrintChar{092}textrecipe}\efill - \subitem default\pfill \main{a-924} - \subitem \texttt {TS1} encoding\pfill \main{a-795} - \item \texttt {\PrintChar{092}textreferencemark}\efill - \subitem default\pfill \main{a-961} - \subitem \texttt {TS1} encoding\pfill \main{a-832} - \item \texttt {\PrintChar{092}textregistered}\efill - \subitem default\pfill \main{a-246}, \main{a-951} - \subitem \texttt {TS1} encoding\pfill \main{a-822} - \item \texttt {\PrintChar{092}textrightarrow}\efill - \subitem default\pfill \main{a-869} - \subitem \texttt {TS1} encoding\pfill \main{a-734} - \item \texttt {\PrintChar{092}textrquill}\efill - \subitem default\pfill \main{a-938} - \subitem \texttt {TS1} encoding\pfill \main{a-809} - \item \texttt {\PrintChar{092}textsection}\pfill a-255 - \subitem default\pfill \main{a-225}, \main{a-944} - \subitem \texttt {OMS} encoding\pfill \main{a-606} - \subitem \texttt {T1} encoding\pfill \main{a-478} - \subitem \texttt {T2A} encoding\pfill \main{b-61} - \subitem \texttt {T2B} encoding\pfill \main{b-61} - \subitem \texttt {T2C} encoding\pfill \main{b-61} - \subitem \texttt {TS1} encoding\pfill \main{a-815} - \subitem \texttt {X2} encoding\pfill \main{b-61} - \item \texttt {\PrintChar{092}textservicemark}\efill - \subitem default\pfill \main{a-936} - \subitem \texttt {TS1} encoding\pfill \main{a-807} - \item \texttt {\PrintChar{092}textsevenoldstyle}\efill - \subitem default\pfill \main{a-883} - \subitem \texttt {TS1} encoding\pfill \main{a-748} - \item \texttt {\PrintChar{092}textsixoldstyle}\efill - \subitem default\pfill \main{a-882} - \subitem \texttt {TS1} encoding\pfill \main{a-747} - \item \texttt {\PrintChar{092}textsterling}\pfill a-263, a-972, - a-974 - \subitem default\pfill \main{a-214}, \main{a-940} - \subitem \texttt {OT1} encoding\pfill \main{a-393} - \subitem \texttt {OT4} encoding\pfill \main{a-679} - \subitem \texttt {T1} encoding\pfill \main{a-479} - \subitem \texttt {TS1} encoding\pfill \main{a-811} - \item \texttt {\PrintChar{092}textsuperscript}\pfill a-247, - a-249, a-250 - \item \texttt {\PrintChar{092}textsurd}\efill - \subitem default\pfill \main{a-964} - \subitem \texttt {TS1} encoding\pfill \main{a-835} - \item \texttt {\PrintChar{092}TextSymbolUnavailable}\pfill - \main{a-3}, a-635 - \item \texttt {\PrintChar{092}textthreeoldstyle}\efill - \subitem default\pfill \main{a-879} - \subitem \texttt {TS1} encoding\pfill \main{a-744} - \item \texttt {\PrintChar{092}textthreequarters}\efill - \subitem default\pfill \main{a-967} - \subitem \texttt {TS1} encoding\pfill \main{a-838} - \item \texttt {\PrintChar{092}textthreequartersemdash}\efill - \subitem default\pfill \main{a-867} - \subitem \texttt {TS1} encoding\pfill \main{a-732} - \item \texttt {\PrintChar{092}textthreesuperior}\efill - \subitem default\pfill \main{a-956} - \subitem \texttt {TS1} encoding\pfill \main{a-827} - \begin{figure*}[tp] - A verbatim extract from the index (without \textsf{docidx2e}): - - \let\item=\listenvironmentitem - \expandafter\def \expandafter\MacroFont \expandafter{% - \MacroFont\footnotesize} -\begin{verbatim} - \item \texttt {\PrintChar{092}U}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill \main{b-455} - \subitem \texttt {T2B} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill \main{b-455} - \subitem \texttt {T2C} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill \main{b-444} - \subitem \texttt {X2} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill \main{b-455} - \item \texttt {\PrintChar{092}u}\efill - \subitem default\pfill \main{a-187} - \subitem \texttt {OT1} encoding\pfill \main{a-343} - \subitem \texttt {OT4} encoding\pfill \main{a-631} - \subitem \texttt {T1} encoding\pfill \main{a-411} - \subsubitem \texttt {A} composite\pfill \main{a-484} - \subsubitem \texttt {a} composite\pfill \main{a-511} - \subsubitem \texttt {G} composite\pfill \main{a-491} - \subsubitem \texttt {g} composite\pfill \main{a-518} - \subitem \texttt {T2A} encoding\pfill \main{b-21} - \subitem \texttt {T2B} encoding\pfill \main{b-21} - \subitem \texttt {T2C} encoding\pfill \main{b-21} - \subitem \texttt {X2} encoding\pfill \main{b-21} - \item \texttt {\PrintChar{092}@uclclist}\pfill a-270, a-271, a-318 - \item \texttt {\PrintChar{092}UndeclareTextCommand}\pfill \usage{4}, - \main{a-141}, a-972--a-977 - \item \texttt {\PrintChar{092}@undefined}\pfill a-145, a-147 - \item \texttt {\PrintChar{092}update@uclc@with@cyrillic}\pfill a-269, - a-297, a-321, a-327 - \item \texttt {\PrintChar{092}upshape}\pfill a-390, a-609, a-676, a-758 - \item \texttt {\PrintChar{092}@use@text@encoding}\pfill \main{a-110} - \item \texttt {\PrintChar{092}UseTextAccent}\pfill \usage{3}, - \main{a-110}, a-138 - \item \texttt {\PrintChar{092}UseTextSymbol}\pfill \usage{2}, - \main{a-110}, a-136 -\end{verbatim} - \end{figure*} - \item \texttt {\PrintChar{092}texttildelow}\efill - \subitem default\pfill \main{a-903} - \subitem \texttt {TS1} encoding\pfill \main{a-774} - \item \texttt {\PrintChar{092}texttimes}\efill - \subitem default\pfill \main{a-969} - \subitem \texttt {TS1} encoding\pfill \main{a-840} - \item \texttt {\PrintChar{092}texttrademark}\efill - \subitem default\pfill \main{a-247}, \main{a-928} - \subitem \texttt {TS1} encoding\pfill \main{a-799} - \item \texttt {\PrintChar{092}texttwelveudash}\efill - \subitem default\pfill \main{a-866} - \subitem \texttt {TS1} encoding\pfill \main{a-731} - \item \texttt {\PrintChar{092}texttwooldstyle}\efill - \subitem default\pfill \main{a-878} - \subitem \texttt {TS1} encoding\pfill \main{a-743} - \item \texttt {\PrintChar{092}texttwosuperior}\efill - \subitem default\pfill \main{a-955} - \subitem \texttt {TS1} encoding\pfill \main{a-826} - \item \texttt {\PrintChar{092}textunderscore}\pfill a-259 - \subitem default\pfill \main{a-236} - \subitem \texttt {T1} encoding\pfill \main{a-480} - \subitem \texttt {T2A} encoding\pfill \main{b-54} - \subitem \texttt {T2B} encoding\pfill \main{b-54} - \subitem \texttt {T2C} encoding\pfill \main{b-54} - \subitem \texttt {X2} encoding\pfill \main{b-54} - \item \texttt {\PrintChar{092}textuparrow}\efill - \subitem default\pfill \main{a-894} - \subitem \texttt {TS1} encoding\pfill \main{a-765} - \item \texttt {\PrintChar{092}textvisiblespace}\efill - \subitem default\pfill \main{a-238} - \subitem \texttt {T1} encoding\pfill \main{a-481} - \subitem \texttt {T2A} encoding\pfill \main{b-46} - \subitem \texttt {T2B} encoding\pfill \main{b-46} - \subitem \texttt {T2C} encoding\pfill \main{b-46} - \subitem \texttt {X2} encoding\pfill \main{b-46} - \item \texttt {\PrintChar{092}textwon}\efill - \subitem default\pfill \main{a-919} - \subitem \texttt {TS1} encoding\pfill \main{a-790} - \item \texttt {\PrintChar{092}textyen}\efill - \subitem default\pfill \main{a-942} - \subitem \texttt {TS1} encoding\pfill \main{a-813} - \item \texttt {\PrintChar{092}textzerooldstyle}\efill - \subitem default\pfill \main{a-876} - \subitem \texttt {TS1} encoding\pfill \main{a-741} - \item \texttt {\PrintChar{092}TH}\efill - \subitem \texttt {T1} encoding\pfill \main{a-439} - \item \texttt {\PrintChar{092}th}\efill - \subitem \texttt {T1} encoding\pfill \main{a-482} - \item \texttt {\PrintChar{092}@thirdofthree}\pfill a-147 - \item \texttt {\PrintChar{092}@typeset@protect}\pfill a-21, a-27, - a-160, a-168 - - \indexspace -{\bfseries\hfil U\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}U}\efill - \subitem \texttt {T2A} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill - \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill - \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill - \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill - \main{b-455} - \subitem \texttt {T2B} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill - \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill - \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill - \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill - \main{b-455} - \subitem \texttt {T2C} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill - \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill - \main{b-444} - \subitem \texttt {X2} encoding\pfill \main{b-26} - \subsubitem \texttt {\PrintChar{092}CYRI} composite\pfill - \main{b-443} - \subsubitem \texttt {\PrintChar{092}cyri} composite\pfill - \main{b-444} - \subsubitem \texttt {\PrintChar{092}CYRU} composite\pfill - \main{b-453} - \subsubitem \texttt {\PrintChar{092}cyru} composite\pfill - \main{b-455} - \item \texttt {\PrintChar{092}u}\efill - \subitem default\pfill \main{a-187} - \subitem \texttt {OT1} encoding\pfill \main{a-343} - \subitem \texttt {OT4} encoding\pfill \main{a-631} - \subitem \texttt {T1} encoding\pfill \main{a-411} - \subsubitem \texttt {A} composite\pfill \main{a-484} - \subsubitem \texttt {a} composite\pfill \main{a-511} - \subsubitem \texttt {G} composite\pfill \main{a-491} - \subsubitem \texttt {g} composite\pfill \main{a-518} - \subitem \texttt {T2A} encoding\pfill \main{b-21} - \subitem \texttt {T2B} encoding\pfill \main{b-21} - \subitem \texttt {T2C} encoding\pfill \main{b-21} - \subitem \texttt {X2} encoding\pfill \main{b-21} - \item \texttt {\PrintChar{092}@uclclist}\pfill a-270, a-271, a-318 - \item \texttt {\PrintChar{092}UndeclareTextCommand}\pfill \usage{4}, - \main{a-141}, a-972--a-977 - \item \texttt {\PrintChar{092}@undefined}\pfill a-145, a-147 - \item \texttt {\PrintChar{092}update@uclc@with@cyrillic}\pfill a-269, - a-297, a-321, a-327 - \item \texttt {\PrintChar{092}upshape}\pfill a-390, a-609, a-676, - a-758 - \item \texttt {\PrintChar{092}@use@text@encoding}\pfill \main{a-110} - \item \texttt {\PrintChar{092}UseTextAccent}\pfill \usage{3}, - \main{a-110}, a-138 - \item \texttt {\PrintChar{092}UseTextSymbol}\pfill \usage{2}, - \main{a-110}, a-136 - - \indexspace -{\bfseries\hfil V\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}v}\efill - \subitem default\pfill \main{a-188} - \subitem \texttt {OT1} encoding\pfill \main{a-344} - \subitem \texttt {OT4} encoding\pfill \main{a-632} - \subitem \texttt {T1} encoding\pfill \main{a-410} - \subsubitem \texttt {C} composite\pfill \main{a-487} - \subsubitem \texttt {c} composite\pfill \main{a-514} - \subsubitem \texttt {D} composite\pfill \main{a-488} - \subsubitem \texttt {d} composite\pfill \main{a-515} - \subsubitem \texttt {E} composite\pfill \main{a-489} - \subsubitem \texttt {e} composite\pfill \main{a-516} - \subsubitem \texttt {L} composite\pfill \main{a-493} - \subsubitem \texttt {l} composite\pfill \main{a-520} - \subsubitem \texttt {N} composite\pfill \main{a-495} - \subsubitem \texttt {n} composite\pfill \main{a-522} - \subsubitem \texttt {R} composite\pfill \main{a-498} - \subsubitem \texttt {r} composite\pfill \main{a-525} - \subsubitem \texttt {S} composite\pfill \main{a-500} - \subsubitem \texttt {s} composite\pfill \main{a-527} - \subsubitem \texttt {T} composite\pfill \main{a-502} - \subsubitem \texttt {t} composite\pfill \main{a-529} - \subsubitem \texttt {Z} composite\pfill \main{a-508} - \subsubitem \texttt {z} composite\pfill \main{a-535} - \subitem \texttt {T2A} encoding\pfill \main{b-20} - \subitem \texttt {T2B} encoding\pfill \main{b-20} - \subitem \texttt {T2C} encoding\pfill \main{b-20} - \subitem \texttt {X2} encoding\pfill \main{b-20} - \item \texttt {\PrintChar{092}vrule}\pfill a-239, a-241 - - \indexspace -{\bfseries\hfil W\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}@width}\pfill a-237, a-240 - \item \texttt {\PrintChar{092}@wrong@font@char}\pfill a-121 - - \indexspace -{\bfseries\hfil X\hfil}\nopagebreak - - \item \texttt {\PrintChar{092}@xxxii}\pfill a-377, a-379 - - \end{theindex} - -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/base/cfntinst.sty b/Master/texmf-dist/tex/fontinst/base/cfntinst.sty index 00271bbe75c..ec2ee057ba1 100644 --- a/Master/texmf-dist/tex/fontinst/base/cfntinst.sty +++ b/Master/texmf-dist/tex/fontinst/base/cfntinst.sty @@ -32,13 +32,13 @@ \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 -\def\fontinstversion{1.927} +\def\fontinstversion{1.929} \ifx\ProvidesPackage\undefined \def\NeedsTeXFormat#1{} \def\ProvidesPackage#1[#2]{} \fi \ProvidesPackage{fontinst} -[2004/08/07 v\fontinstversion\space +[2005/02/05 v\fontinstversion\space fontinst installation package] \def\a_macro#1{\catcode\number`#1=\the\catcode`#1 } \edef\normalcc{% @@ -363,6 +363,27 @@ \catcode`\t=12 \gdef\lose_measure#1pt{#1} } +\def\format_hex_i#1#2{ + \if #2i \else + \b_count=\a_count + \divide \a_count \sixt@@n + \c_count=\a_count + \multiply \c_count \sixt@@n + \advance \b_count -\c_count + \edef#1{ + \ifcase\b_count 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or a\or b\or c\or d\or e\or f\fi + #1 + } + \expandafter\format_hex_i \expandafter#1 + \fi +} +\def\format_hex#1#2#3{ + \a_count=#2 + \let#1\empty_command + \expandafter\format_hex_i \expandafter#1 \romannumeral + \expandafter\identity_one\expandafter{\number#3}001~ +} \let\messagebreak\x_relax \def\generic_info#1#2{ \begingroup @@ -547,7 +568,6 @@ \expandafter\if_false \fi } - \let\setsomething_global=\x_relax \def\x_setint#1#2{ \x_cs\ifx{i-#1}\x_relax @@ -736,6 +756,7 @@ \let\usedas=\gobble_two \let\makerightboundary=\gobble_one \let\Unicode=\gobble_two +\let\charseq=\gobble_one \let\varchar=\empty_command \let\vartop=\gobble_one \let\varmid=\gobble_one @@ -1805,7 +1826,7 @@ \inputmtx{\str{afm-name}} \else \fontinsterror{\string\install...}{ - Font/MTX~file~\file_name\space not found + Font/MTX~file~\file_name\space not~found }{ You~can~insert~an~\string\inputmtx\space command~here \messagebreak to~input~some~other~MTX~file~instead. @@ -1817,7 +1838,7 @@ \fi } \def\metrics_given_encoding#1#2{ - \x_setstr{afm-name}{#1-#2} + \x_cs\edef{s-afm-name}{#1-#2} \if_file_exists{#1.pl}\then \generalpltomtx{#1}{#1-#2}{pl}{#2} \else @@ -2511,7 +2532,7 @@ \out_line{} \out_line{(COMMENT~This~file~can~be~turned~into~ a~ligless~TeX~font~with)} - \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)} + \out_line{(COMMENT~pltotf~#2.pl~#2.tfm)} \out_line{} \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)} \out_line{} diff --git a/Master/texmf-dist/tex/fontinst/base/finstmsc.sty b/Master/texmf-dist/tex/fontinst/base/finstmsc.sty index cb64adfb232..170464cd0e9 100644 --- a/Master/texmf-dist/tex/fontinst/base/finstmsc.sty +++ b/Master/texmf-dist/tex/fontinst/base/finstmsc.sty @@ -31,13 +31,13 @@ \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 -\def\fontinstversion{1.927} +\def\fontinstversion{1.929} \ifx\ProvidesPackage\undefined \def\NeedsTeXFormat#1{} \def\ProvidesPackage#1[#2]{} \fi \ProvidesPackage{fontinst} -[2004/08/07 v\fontinstversion\space +[2005/02/05 v\fontinstversion\space fontinst installation package] \def\a_macro#1{\catcode\number`#1=\the\catcode`#1 } \edef\normalcc{% @@ -362,6 +362,27 @@ \catcode`\t=12 \gdef\lose_measure#1pt{#1} } +\def\format_hex_i#1#2{ + \if #2i \else + \b_count=\a_count + \divide \a_count \sixt@@n + \c_count=\a_count + \multiply \c_count \sixt@@n + \advance \b_count -\c_count + \edef#1{ + \ifcase\b_count 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or a\or b\or c\or d\or e\or f\fi + #1 + } + \expandafter\format_hex_i \expandafter#1 + \fi +} +\def\format_hex#1#2#3{ + \a_count=#2 + \let#1\empty_command + \expandafter\format_hex_i \expandafter#1 \romannumeral + \expandafter\identity_one\expandafter{\number#3}001~ +} \let\messagebreak\x_relax \def\generic_info#1#2{ \begingroup @@ -546,7 +567,6 @@ \expandafter\if_false \fi } - \let\setsomething_global=\x_relax \def\x_setint#1#2{ \x_cs\ifx{i-#1}\x_relax @@ -734,6 +754,7 @@ \let\usedas=\gobble_two \let\makerightboundary=\gobble_one \let\Unicode=\gobble_two +\let\charseq=\gobble_one \let\varchar=\empty_command \let\vartop=\gobble_one \let\varmid=\gobble_one @@ -937,6 +958,69 @@ \out_line{\percent_char\four_spaces #1~=~"See~file~#2",} \fi } +\def\write_cmap_body#1{ + \out_line{1~begincodespacerange~<00>~<FF>~endcodespacerange} + \let\do_slot=\_a_true + \def\Unicode##1##2{\cmap_charseq{\cmap_codepoint{##1}{##2}}} + \let\charseq=\cmap_charseq + \inputetx{#1} +} +\def\cmap_codepoint#1#2{ + \uppercase{\a_count="#1\x_relax} + \ifnum "10000>\a_count + \format_hex\b_macro{\a_count}{4} + \edef\a_macro{\a_macro \b_macro \space} + \else + \advance \a_count -"10000 + \d_count=\a_count + \divide \a_count "400 + \b_count=\a_count + \multiply \b_count "400 + \advance \d_count -\b_count + \advance \a_count "D800 + \advance \d_count "DC00~ + \format_hex\b_macro{\a_count}{4} + \format_hex\c_macro{\d_count}{4} + \edef\a_macro{\a_macro \b_macro \c_macro \space} + \fi +} +\def\cmap_charseq#1{% + \if_a_ + \bgroup + \let\Unicode=\cmap_codepoint + \let\a_macro=\empty_command + #1 + \format_hex\b_macro{\slot_number}{2} + \out_line{1~beginbfchar~<\b_macro>~<~\a_macro>~endbfchar} + \egroup + \_a_false + \fi +} +\def\etxtocmap#1#2{\begingroup + \inputetx{#1} + \open_out{#2.cmap} + \out_line{\percent_char !PS-Adobe-3.0~Resource-CMap} + \out_line{\percent_char\percent_char + DocumentNeededResources:~procset~CIDInit} + \out_line{\percent_char\percent_char + IncludeResource:~procset~CIDInit} + \setstr{cmapname}{fontinst-#2} + \out_line{\percent_char\percent_char + BeginResource:~CMap~\str{cmapname}} + \out_line{/CIDInit~/ProcSet~findresource~begin} + \out_line{7~dict~begin} + \out_line{begincmap} + \out_line{/CMapName~/\str{cmapname}~def} + \out_line{/CMapType~2~def} + \write_cmap_body{#1} + \out_line{endcmap} + \out_line{CMapName~currentdict~/CMap~defineresource~pop} + \out_line{end} + \out_line{end} + \out_line{\percent_char\percent_char EndResource} + \out_line{\percent_char\percent_char EOF} + \close_out{ToUnicode~CMap} +\endgroup} \let\aliased=\second_of_two %%% From file: fimapgen.dtx \def\mapfrags_subsystem{Map~fragments~writer} @@ -1148,6 +1232,7 @@ } \def\declarepsencoding#1#2#3{\x_cs\gdef{pse-#1}{{#2}{#3}}} \let\download=\gobble_one +\def\fulldownload#1{\download{#1}} \declarepsencoding{8r}{TeXBase1Encoding}{\download{8r.enc}} \declarepsencoding{8a}{StandardEncoding}{} \def\specifypsfont#1#2{\x_cs\def{psf-#1}{#2}} diff --git a/Master/texmf-dist/tex/fontinst/base/fontinst.sty b/Master/texmf-dist/tex/fontinst/base/fontinst.sty index ba8a899a962..a15f50fb7c6 100644 --- a/Master/texmf-dist/tex/fontinst/base/fontinst.sty +++ b/Master/texmf-dist/tex/fontinst/base/fontinst.sty @@ -32,13 +32,13 @@ \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 -\def\fontinstversion{1.927} +\def\fontinstversion{1.929} \ifx\ProvidesPackage\undefined \def\NeedsTeXFormat#1{} \def\ProvidesPackage#1[#2]{} \fi \ProvidesPackage{fontinst} -[2004/08/07 v\fontinstversion\space +[2005/02/05 v\fontinstversion\space fontinst installation package] \def\a_macro#1{\catcode\number`#1=\the\catcode`#1 } \edef\normalcc{% @@ -363,6 +363,27 @@ \catcode`\t=12 \gdef\lose_measure#1pt{#1} } +\def\format_hex_i#1#2{ + \if #2i \else + \b_count=\a_count + \divide \a_count \sixt@@n + \c_count=\a_count + \multiply \c_count \sixt@@n + \advance \b_count -\c_count + \edef#1{ + \ifcase\b_count 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or a\or b\or c\or d\or e\or f\fi + #1 + } + \expandafter\format_hex_i \expandafter#1 + \fi +} +\def\format_hex#1#2#3{ + \a_count=#2 + \let#1\empty_command + \expandafter\format_hex_i \expandafter#1 \romannumeral + \expandafter\identity_one\expandafter{\number#3}001~ +} \let\messagebreak\x_relax \def\generic_info#1#2{ \begingroup @@ -547,7 +568,6 @@ \expandafter\if_false \fi } - \let\setsomething_global=\x_relax \def\x_setint#1#2{ \x_cs\ifx{i-#1}\x_relax @@ -736,6 +756,7 @@ \let\usedas=\gobble_two \let\makerightboundary=\gobble_one \let\Unicode=\gobble_two +\let\charseq=\gobble_one \let\varchar=\empty_command \let\vartop=\gobble_one \let\varmid=\gobble_one @@ -1793,7 +1814,7 @@ \inputmtx{\str{afm-name}} \else \fontinsterror{\string\install...}{ - Font/MTX~file~\file_name\space not found + Font/MTX~file~\file_name\space not~found }{ You~can~insert~an~\string\inputmtx\space command~here \messagebreak to~input~some~other~MTX~file~instead. @@ -1805,7 +1826,7 @@ \fi } \def\metrics_given_encoding#1#2{ - \x_setstr{afm-name}{#1-#2} + \x_cs\edef{s-afm-name}{#1-#2} \if_file_exists{#1.pl}\then \generalpltomtx{#1}{#1-#2}{pl}{#2} \else @@ -2499,7 +2520,7 @@ \out_line{} \out_line{(COMMENT~This~file~can~be~turned~into~ a~ligless~TeX~font~with)} - \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)} + \out_line{(COMMENT~pltotf~#2.pl~#2.tfm)} \out_line{} \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)} \out_line{} diff --git a/Master/texmf-dist/tex/fontinst/base/xfntinst.sty b/Master/texmf-dist/tex/fontinst/base/xfntinst.sty index c499ee37b4e..c969deab6b3 100644 --- a/Master/texmf-dist/tex/fontinst/base/xfntinst.sty +++ b/Master/texmf-dist/tex/fontinst/base/xfntinst.sty @@ -32,13 +32,13 @@ \catcode`\}=2 \catcode`\#=6 \catcode`\^=7 -\def\fontinstversion{1.927} +\def\fontinstversion{1.929} \ifx\ProvidesPackage\undefined \def\NeedsTeXFormat#1{} \def\ProvidesPackage#1[#2]{} \fi \ProvidesPackage{fontinst} -[2004/08/07 v\fontinstversion\space +[2005/02/05 v\fontinstversion\space fontinst installation package] \def\a_macro#1{\catcode\number`#1=\the\catcode`#1 } \edef\normalcc{% @@ -363,6 +363,27 @@ \catcode`\t=12 \gdef\lose_measure#1pt{#1} } +\def\format_hex_i#1#2{ + \if #2i \else + \b_count=\a_count + \divide \a_count \sixt@@n + \c_count=\a_count + \multiply \c_count \sixt@@n + \advance \b_count -\c_count + \edef#1{ + \ifcase\b_count 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or + 9\or a\or b\or c\or d\or e\or f\fi + #1 + } + \expandafter\format_hex_i \expandafter#1 + \fi +} +\def\format_hex#1#2#3{ + \a_count=#2 + \let#1\empty_command + \expandafter\format_hex_i \expandafter#1 \romannumeral + \expandafter\identity_one\expandafter{\number#3}001~ +} \let\messagebreak\x_relax \def\generic_info#1#2{ \begingroup @@ -547,7 +568,6 @@ \expandafter\if_false \fi } - \let\setsomething_global=\x_relax \def\x_setint#1#2{ \x_cs\ifx{i-#1}\x_relax @@ -736,6 +756,7 @@ \let\usedas=\gobble_two \let\makerightboundary=\gobble_one \let\Unicode=\gobble_two +\let\charseq=\gobble_one \let\varchar=\empty_command \let\vartop=\gobble_one \let\varmid=\gobble_one @@ -1793,7 +1814,7 @@ \inputmtx{\str{afm-name}} \else \fontinsterror{\string\install...}{ - Font/MTX~file~\file_name\space not found + Font/MTX~file~\file_name\space not~found }{ You~can~insert~an~\string\inputmtx\space command~here \messagebreak to~input~some~other~MTX~file~instead. @@ -1805,7 +1826,7 @@ \fi } \def\metrics_given_encoding#1#2{ - \x_setstr{afm-name}{#1-#2} + \x_cs\edef{s-afm-name}{#1-#2} \if_file_exists{#1.pl}\then \generalpltomtx{#1}{#1-#2}{pl}{#2} \else @@ -2499,7 +2520,7 @@ \out_line{} \out_line{(COMMENT~This~file~can~be~turned~into~ a~ligless~TeX~font~with)} - \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)} + \out_line{(COMMENT~pltotf~#2.pl~#2.tfm)} \out_line{} \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)} \out_line{} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx deleted file mode 100644 index 875e0b825b9..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx +++ /dev/null @@ -1,945 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[koi8-r]{inputenc} -\usepackage[X2,T2A]{fontenc} -\usepackage{fontdoc} -\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{X2}{#1}}\textquoteright} - -\title{The \TeX Base2 (6r) encoding vector} -\author{Vladimir Volovich, Anatoliy Malyarenko} -\date{22 August 1999\\ -Version 0.1} - -\begin{document} - -\maketitle - -\section{Introduction} - -ãÅÌØ ÓÏÚÄÁÎÉÑ ËÏÄÉÒÏ×ËÉ \TeX Base2 (6r) ÄÏÌÖÎÁ ÂÙÔØ ÁÎÁÌÏÇÉÞÎÏÊ -ÃÅÌÉ ÓÏÚÄÁÎÉÑ ËÏÄÉÒÏ×ËÉ \TeX Base1 (8r). ÷ ÄÁÌØÎÅÊÛÅÍ Ñ ÂÕÄÕ -ÃÉÔÉÒÏ×ÁÔØ ÒÁÂÏÔÕ \cite[Ó.~387]{g} (×Ï ÉÚÂÅÖÁÎÉÅ ÎÅËÏÒÒÅËÔÎÏÇÏ ÐÅÒÅ×ÏÄÁ~--- × -ÏÒÉÇÉÎÁÌÅ). ãÉÔÉÒÏ×ÁÎÎÙÊ ÍÁÔÅÒÉÁÌ ÎÁÈÏÄÉÔÓÑ ÔÁËÖÅ × ÆÁÊÌÅ 8r.enc × -ËÁÞÅÓÔ×Å ËÏÍÍÅÎÔÁÒÉÑ. -\begin{quote} -The aim was to have available for typesetting all the characters -normally included in Type~1 fonts. This is effectively the -characters in Adobe Standard Encoding, plus ISO Latin~1, plus -extra characters available in Lucida Bright. -\end{quote} - -ñ ÐÒÅÄÌÁÇÁÀ ×ÚÑÔØ × ËÁÞÅÓÔ×Å ÂÁÚÏ×ÙÈ ÛÒÉÆÔÏ× ÛÒÉÆÔÙ ËÏÍÐÁÎÉÊ Adobe É -ðÁÒÁÇÒÁÆ. ðÕÓÔØ $A$~--- ÍÎÏÖÅÓÔ×Ï ÇÌÉÆÏ× Adobe Standard Cyrillic -Font Specification \cite{a}. ðÕÓÔØ $\{8r\}$~--- ÍÎÏÖÅÓÔ×Ï ÇÌÉÆÏ× ËÏÄÉÒÏ×ËÉ -\TeX Base1, Á $\{6r\}$~--- ÍÎÏÖÅÓÔ×Ï ÇÌÉÆÏ× ËÏÄÉÒÏ×ËÉ \TeX Base2. -We do not want to duplicate slots present in 8r encoding, in the 6r -encoding. -ôÏÇÄÁ ÄÏÌÖÎÏ ×ÙÐÏÌÎÑÔØÓÑ ÕÓÌÏ×ÉÅ -$$ -A\setminus\{8r\}\subset\{6r\}. -$$ -é ×Ó£ ÖÅ Ñ ÐÒÅÄÌÁÇÁÀ ÎÅ ×ËÌÀÞÁÔØ × $\{6r\}$ ÇÌÉÆÙ ÉÚ $A$, -ÐÒÉÓÕÔÓÔ×ÕÀÝÉÅ × ÍÁÔÅÍÁÔÉÞÅÓËÉÈ ÛÒÉÆÔÁÈ, Á ÉÍÅÎÎÏ: \emph{infinity, -partialdiff, notequal, approxequal, lessequal, radical}. üÔÉ ÇÌÉÆÙ -ÉÍÅÀÔ ÒÁÚÎÙÅ ÎÁÚ×ÁÎÉÑ × ÒÁÚÎÙÈ ÛÒÉÆÔÁÈ ÔÉÐÁ~1, ÐÏÜÔÏÍÕ Ñ -ÕÐÏÔÒÅÂÌÑÀ ÄÌÑ ÎÉÈ ÉÍÅÎÁ ÉÚ ËÏÄÉÒÏ×ËÉ X2, Á × ÓÌÕÞÁÅ -ÏÔÓÕÔÓÔ×ÉÑ~--- ÉÚ \cite{a} ÉÌÉ ÆÁÊÌÁ cyralias.mtx. - -ëÒÏÍÅ ÕËÁÚÁÎÎÙÈ ÇÌÉÆÏ×, Ñ ÄÏÂÁ×ÉÌ ÇÌÉÆÙ, ÐÒÉÓÕÔÓÔ×ÕÀÝÉÅ × ÛÒÉÆÔÁÈ, -ËÏÔÏÒÙÅ ËÏÍÐÁÎÉÑ "ðÁÒÁÇÒÁÆ" ÎÁÚÙ×ÁÅÔ Cyrillic Asian, Á ÔÁËÖÅ ÅÝ£ -ÎÅËÏÔÏÒÙÅ ÇÌÉÆÙ ÉÚ X2. ëÓÔÁÔÉ, Ñ ÓÞÉÔÁÀ, ÞÔÏ cyrfita É -cyrotld~--- ÒÁÚÎÙÅ ÂÕË×Ù, ÐÏÔÏÍÕ ÞÔÏ ÏÎÉ ÉÍÅÀÔ ÒÁÚÌÉÞÎÙÅ ÉÍÅÎÁ × -Unicode É × ÛÒÉÆÔÁÈ ËÏÍÐÁÎÉÉ "ðÁÒÁÇÒÁÆ". - -ðÒÏÄÏÌÖÕ ÃÉÔÉÒÏ×ÁÎÉÅ \cite{g}: -\begin{quote} -The Windows ANSI characters are almost all in their Windows -positions, since some Windows users cannot easily re-encode the -fonts and it makes no difference on other systems. -\end{quote} -ðÏ ÜÔÏÊ ÐÒÉÞÉÎÅ Ñ ÒÁÓÐÏÌÏÖÉÌ ÇÌÉÆÙ, ÐÒÉÎÁÄÌÅÖÁÛÉÅ ËÏÄÏ×ÏÊ ÓÔÒÁÎÉÃÅ -cp1251, ÎÁ Ó×ÏÉÈ ÍÅÓÔÁÈ. -\begin{quote} -The remaining characters are arbitrarily assigned to the lower -part of the range, avoiding 0, 10, and 13 to allow for software -that assumes that these are used for special operations. -\end{quote} -ðÏÜÔÏÍÕ É Ñ ÐÒÏÐÕÓÔÉÌ ÕËÁÚÁÎÎÙÅ ÐÏÚÉÃÉÉ. - -\begin{thebibliography}{9} - -\bibitem{a} Adobe Standard Cyrillic Font Specification, -http://www.adobe.com - -\bibitem{g} Goossens, M., Rahtz, S. and Mittelbach, F. 1997. -\emph{The \LaTeX Graphics Companion}, Reading, MA: -Addison--Wesley. - -\end{thebibliography} - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -\setstr{codingscheme}{TEX BASE2 encoding - 6R} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\comment{\section{The encoding}} - -\nextslot{3} - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{The cyrillic breve accent.} -\endsetslot - -\setslot{\lc{cyrFlex}{cyrflex}} - \comment{Cyrillic circumflex.} -\endsetslot - -\setslot{\lc{dblGrave}{dblgrave}} - \comment{The cyrillic dblgrave accent.} -\endsetslot - -\nextslot{7} - -\setslot{\lc{DieresisAcute}{dieresisacute}} - \comment{The cyrillic dieresisacute accent.} -\endsetslot - -\setslot{\lc{DieresisGrave}{dieresisgrave}} - \comment{The cyrillic dieresisgrave accent.} -\endsetslot - -\nextslot{17} - -\setslot{\uc{Acute}{acute}} - \comment{The cyrillic Acute accent.} -\endsetslot - -\setslot{\uc{Caron}{caron}} - \comment{The Caron or h\'a\v cek accent.} -\endsetslot - -\setslot{\uc{cyrBreve}{cyrbreve}} - \comment{The cyrillic Breve accent.} -\endsetslot - -\setslot{\uc{cyrFlex}{cyrflex}} - \comment{Cyrillic Circumflex.} -\endsetslot - -\setslot{\uc{dblGrave}{dblgrave}} - \comment{The cyrillic dblGrave accent.} -\endsetslot - -\setslot{\uc{Dieresis}{dieresis}} - \comment{The cyrillic Dieresis accent.} -\endsetslot - -\setslot{\uc{DieresisAcute}{dieresisacute}} - \comment{The cyrillic DieresisAcute accent.} -\endsetslot - -\setslot{\uc{DieresisGrave}{dieresisgrave}} - \comment{The cyrillic DieresisGrave accent.} -\endsetslot - -\setslot{\uc{Grave}{grave}} - \comment{The cyrillic Grave accent.} -\endsetslot - -\setslot{\uc{Hungarumlaut}{hungarumlaut}} - \comment{The long Hungarian umlaut.} -\endsetslot - -\setslot{\uc{Macron}{macron}} - \comment{The Macron accent.} -\endsetslot - -\nextslot{32} - -\setslot{\uc{CYRAE}{cyrae}} - \comment{Cyrillic capital ligature a ie `\CYRAE'.} -\endsetslot - -\setslot{\uc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.} -\endsetslot - -\setslot{\uc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.} -\endsetslot - -\setslot{\uc{CYRGHK}{cyrghk}} - \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.} -\endsetslot - -\setslot{\uc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.} -\endsetslot - -\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.} -\endsetslot - -\setslot{\uc{CYRSHHA}{cyrshha}} - \comment{Cyrillic capital letter shha `\CYRSHHA'.} -\endsetslot - -\setslot{\uc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.} -\endsetslot - -\setslot{\uc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.} -\endsetslot - -\setslot{\uc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.} -\endsetslot - -\setslot{\uc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.} -\endsetslot - -\setslot{\uc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.} -\endsetslot - -\setslot{\uc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.} -\endsetslot - -\setslot{\uc{CYRKHK}{cyrkhk}} - \comment{Cyrillic capital letter ka with hook `\CYRKHK'.} -\endsetslot - -\setslot{\uc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.} -\endsetslot - -\setslot{\uc{CYRLDSC}{cyrldsc}} - \comment{Cyrillic capital letter el with descender `\CYRLDSC'.} -\endsetslot - -\setslot{\uc{CYRLHK}{cyrlhk}} - \comment{Cyrillic capital letter el with hook `\CYRLHK'.} -\endsetslot - -\setslot{\uc{CYRMDSC}{cyrmdsc}} - \comment{Cyrillic capital letter em with descender `\CYRMDSC'.} -\endsetslot - -\setslot{\uc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic capital letter en with descender `\CYRNDSC'.} -\endsetslot - -\setslot{\uc{CYRNG}{cyrng}} - \comment{Cyrillic capital ligature en ghe `\CYRNG'.} -\endsetslot - -\setslot{\uc{CYRNHK}{cyrnhk}} - \comment{Cyrillic capital letter en with hook `\CYRNHK'.} -\endsetslot - -\setslot{\uc{CYRNLHK}{cyrnlhk}} - \comment{Cyrillic capital letter en with left hook `\CYRNLHK'.} -\endsetslot - -\setslot{\uc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.} -\endsetslot - -\setslot{\uc{CYROTLD}{cyrotld}} - \comment{Cyrillic capital letter barred o `\CYROTLD'.} -\endsetslot - -\setslot{\uc{CYRPHK}{cyrphk}} - \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.} -\endsetslot - -\setslot{\uc{CYRRDSC}{cyrrdsc}} - \comment{Cyrillic capital letter er with descender `\CYRRDSC'.} -\endsetslot - -\setslot{\uc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic capital letter es with descender `\CYRSDSC'.} -\endsetslot - -\setslot{\uc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic capital letter te with descender `\CYRTDSC'.} -\endsetslot - -\setslot{\uc{CYRY}{cyry}} - \comment{Cyrillic capital letter straight u `\CYRY'.} -\endsetslot - -\setslot{\uc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.} -\endsetslot - -\setslot{\uc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.} -\endsetslot - -\setslot{\uc{CYRHHK}{cyrhhk}} - \comment{Cyrillic capital letter ha with hook `\CYRHHK'.} -\endsetslot - -\setslot{\uc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.} -\endsetslot - -\setslot{\uc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.} -\endsetslot - -\setslot{\uc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.} -\endsetslot - -\setslot{\uc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic capital letter schwa `\CYRSCHWA'.} -\endsetslot - -\setslot{\uc{CYRBYUS}{cyrbyus}} - \comment{Cyrillic capital letter big yus `\CYRBYUS'.} -\endsetslot - -\setslot{\uc{CYRFITA}{cyrfita}} - \comment{Cyrillic capital letter fita.} -\endsetslot - -\setslot{\uc{CYRIZH}{cyrizh}} - \comment{Cyrillic capital letter izhitsa `\CYRIZH'.} -\endsetslot - -\setslot{\uc{CYRYAT}{cyryat}} - \comment{Cyrillic capital letter yat `\CYRYAT'.} -\endsetslot - -\setslot{\uc{CYRQ}{cyrq}} - \comment{Cyrillic capital letter q `\CYRQ'.} -\endsetslot - -\setslot{\uc{CYRW}{cyrw}} - \comment{Cyrillic capital letter w `\CYRW'.} -\endsetslot - -\setslot{\uc{CYREPS}{cyreps}} - \comment{Cyrillic capital letter epsilon `\CYREPS'.} -\endsetslot - -\nextslot{80} - -\setslot{\lc{CYRAE}{cyrae}} - \comment{Cyrillic small ligature a ie `\cyrae'.} -\endsetslot - -\setslot{\lc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.} -\endsetslot - -\setslot{\lc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.} -\endsetslot - -\setslot{\lc{CYRGHK}{cyrghk}} - \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.} -\endsetslot - -\setslot{\lc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic small letter abkhasian che `\cyrabhch'.} -\endsetslot - -\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.} -\endsetslot - -\setslot{\lc{CYRSHHA}{cyrshha}} - \comment{Cyrillic small letter shha `\cyrshha'.} -\endsetslot - -\setslot{\lc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.} -\endsetslot - -\setslot{\lc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.} -\endsetslot - -\setslot{\lc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic small letter ze with descender `\cyrzdsc'.} -\endsetslot - -\setslot{\lc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.} -\endsetslot - -\setslot{\lc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic small letter ka with descender `\cyrkdsc'.} -\endsetslot - -\setslot{\lc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.} -\endsetslot - -\setslot{\lc{CYRKHK}{cyrkhk}} - \comment{Cyrillic small letter ka with hook `\cyrkhk'.} -\endsetslot - -\setslot{\lc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.} -\endsetslot - -\setslot{\lc{CYRLDSC}{cyrldsc}} - \comment{Cyrillic small letter el with descender `\cyrldsc'.} -\endsetslot - -\setslot{\lc{CYRLHK}{cyrlhk}} - \comment{Cyrillic small letter el with hook `\cyrlhk'.} -\endsetslot - -\setslot{\lc{CYRMDSC}{cyrmdsc}} - \comment{Cyrillic small letter em with descender `\cyrmdsc'.} -\endsetslot - -\setslot{\lc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic small letter en with descender `\cyrndsc'.} -\endsetslot - -\setslot{\lc{CYRNG}{cyrng}} - \comment{Cyrillic small ligature en ghe `\cyrng'.} -\endsetslot - -\setslot{\lc{CYRNHK}{cyrnhk}} - \comment{Cyrillic small letter en with hook `\cyrnhk'.} -\endsetslot - -\setslot{\lc{CYRNLHK}{cyrnlhk}} - \comment{Cyrillic small letter en with left hook `\cyrnlhk'.} -\endsetslot - -\setslot{\lc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.} -\endsetslot - -\setslot{\lc{CYROTLD}{cyrotld}} - \comment{Cyrillic small letter barred o `\cyrotld'.} -\endsetslot - -\setslot{\lc{CYRPHK}{cyrphk}} - \comment{Cyrillic small letter pe with middle hook `\cyrphk'.} -\endsetslot - -\setslot{\lc{CYRRDSC}{cyrrdsc}} - \comment{Cyrillic small letter er with descender `\cyrrdsc'.} -\endsetslot - -\setslot{\lc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic small letter es with descender `\cyrsdsc'.} -\endsetslot - -\setslot{\lc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic small letter te with descender `\cyrtdsc'.} -\endsetslot - -\setslot{\lc{CYRY}{cyry}} - \comment{Cyrillic small letter straight u `\cyry'.} -\endsetslot - -\setslot{\lc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.} -\endsetslot - -\setslot{\lc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic small letter ha with descender `\cyrhdsc'.} -\endsetslot - -\setslot{\lc{CYRHHK}{cyrhhk}} - \comment{Cyrillic small letter ha with hook `\cyrhhk'.} -\endsetslot - -\setslot{\lc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic small letter khakassian che `\cyrchldsc'.} -\endsetslot - -\setslot{\lc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic small letter che with descender `\cyrchrdsc'.} -\endsetslot - -\setslot{\lc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.} -\endsetslot - -\setslot{\lc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic small letter schwa `\cyrschwa'.} -\endsetslot - -\setslot{\lc{CYRBYUS}{cyrbyus}} - \comment{Cyrillic small letter big yus `\cyrbyus'.} -\endsetslot - -\setslot{\lc{CYRFITA}{cyrfita}} - \comment{Cyrillic small letter fita.} -\endsetslot - -\setslot{\lc{CYRIZH}{cyrizh}} - \comment{Cyrillic small letter izhitsa `\cyrizh'.} -\endsetslot - -\setslot{\lc{CYRYAT}{cyryat}} - \comment{Cyrillic small letter yat `\cyryat'.} -\endsetslot - -\setslot{\lc{CYRQ}{cyrq}} - \comment{Cyrillic small letter q `\cyrq'.} -\endsetslot - -\setslot{\lc{CYRW}{cyrw}} - \comment{Cyrillic small letter w `\cyrw'.} -\endsetslot - -\setslot{\lc{CYREPS}{cyreps}} - \comment{Cyrillic small letter epsilon `\cyreps'.} -\endsetslot - -\setslot{cyrvarb} - \comment{Serbian variant of the letter b.} -\endsetslot - -\setslot{cyrvard} - \comment{Serbian variant of the letter d.} -\endsetslot - -\setslot{cyrvarg} - \comment{Serbian variant of the letter g.} -\endsetslot - -\setslot{cyrvarp} - \comment{Serbian variant of the letter p.} -\endsetslot - -\setslot{cyrvart} - \comment{Serbian variant of the letter t.} -\endsetslot - -\setslot{\uc{CYRDJE}{cyrdje}} - \comment{Cyrillic capital letter dje `\CYRDJE'.} -\endsetslot - -\setslot{\uc{CYRGJE}{cyrgje}} - \comment{Cyrillic capital letter gje `\'\CYRG'.} -\endsetslot - -\nextslot{131} - -\setslot{\lc{CYRGJE}{cyrgje}} - \comment{Cyrillic small letter gje `\'\cyrg'.} -\endsetslot - -\nextslot{138} - -\setslot{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter lje `\CYRLJE'.} -\endsetslot - -\nextslot{140} - -\setslot{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter nje `\CYRNJE'.} -\endsetslot - -\setslot{\uc{CYRKJE}{cyrkje}} - \comment{Cyrillic capital letter kje.} -\endsetslot - -\setslot{\uc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic capital letter tshe `\CYRTSHE'.} -\endsetslot - -\setslot{\uc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic capital letter dzhe `\CYRDZHE'.} -\endsetslot - -\setslot{\lc{CYRDJE}{cyrdje}} - \comment{Cyrillic small letter dje `\cyrdje'.} -\endsetslot - -\nextslot{154} - -\setslot{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter lje `\cyrlje'.} -\endsetslot - -\nextslot{156} - -\setslot{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter nje.} -\endsetslot - -\setslot{\lc{CYRKJE}{cyrkje}} - \comment{Cyrillic small letter kje.} -\endsetslot - -\setslot{\lc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic small letter tshe `\cyrtshe'.} -\endsetslot - -\setslot{\lc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic small letter dzhe `\cyrdzhe'.} -\endsetslot - -\nextslot{161} - -\setslot{\uc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic capital letter short u `\CYRUSHRT'.} -\endsetslot - -\setslot{\lc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic small letter short u `\cyrushrt'.} -\endsetslot - -\setslot{\uc{CYRJE}{cyrje}} - \comment{Cyrillic capital letter je `\CYRJE'.} -\endsetslot - -\nextslot{165} - -\setslot{\uc{CYRGUP}{cyrgup}} - \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.} -\endsetslot - -\nextslot{168} - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\nextslot{170} - -\setslot{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.} -\endsetslot - -\nextslot{175} - -\setslot{\uc{CYRYI}{cyryi}} - \comment{Cyrillic capital letter yi `\CYRYI'.} -\endsetslot - -\nextslot{178} - -\setslot{\uc{CYRII}{cyrii}} - \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.} -\endsetslot - -\setslot{\lc{CYRII}{cyrii}} - \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.} -\endsetslot - -\setslot{\lc{CYRGUP}{cyrgup}} - \comment{Cyrillic small letter ghe with upturn `\cyrgup'.} -\endsetslot - -\nextslot{184} - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ukrainian ie `\cyrie'.} -\endsetslot - -\nextslot{188} - -\setslot{\lc{CYRJE}{cyrje}} - \comment{Cyrillic small letter je `\cyrje'.} -\endsetslot - -\setslot{\uc{CYRDZE}{cyrdze}} - \comment{Cyrillic capital letter dze `\CYRDZE'.} -\endsetslot - -\setslot{\lc{CYRDZE}{cyrdze}} - \comment{Cyrillic small letter dze `\cyrdze'.} -\endsetslot - -\setslot{\lc{CYRYI}{cyryi}} - \comment{Cyrillic small letter yi `\cyryi'.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/README b/Master/texmf-dist/tex/fontinst/cyrfinst/README deleted file mode 100644 index e5214358b39..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/README +++ /dev/null @@ -1,51 +0,0 @@ -This directory contains files which provide support of Cyrillic fonts -and encodings for FONTINST. - -Several font encodings (with variants) are supported (all *.etx -files). Install all *.etx, *.mtx, *.tex files contained in this -directory and subdirectories to your texmf tree. In this package, we -support various glyph naming schemes (not only Adobe one). If you have -Cyrillic fonts which use different glyph names which are not supported -here, please send AFM files or information about glyph naming schemes, -so that those fonts will also be supported for using with -fontinst/cyrfinst. Please send additional glyph naming schemes used -in various Cyrillic fonts (type1, type3, truetype) to add into this -file. - -To use fontinst with Cyrillic, put the following lines in the -beginning of the fontinst job: - -\input fontinst.sty -\input fnstcorr -\input cyralias - -Then for all non-adobe fonts (with non-standard glyph names, or -speaking more strictly, for all fonts that require non-empty glyph -name prefix shown below) write: - -\aliasfonts{prefix1-}{prefix2}{font1,font2,% -font3,...,fontN} - -where "prefix1-" is a glyph name prefix defined in cyralias.tex; and -"prefix2" is a font name prefix (it may well be empty; it was only -made for space economy), so that font names are constructed by -concatenation of "prefix2" and "font*". This will generate mtx and pl -files for all specified fonts with T2 glyph names. - -Warning: the command \fromafm regenerates mtx file, so do not use this -command for fonts which require non-empty "prefix1-", --- use \frommtx -instead (or ensure to set \charnameprefix accordingly), or \fromany -in recent versions of fontinst. - -The idea behind glyph aliasing is that standard T2 cyrillic glyph -names could be used everywhere (cyrillic.mtx, *.etx, your local mtx -files, etc), and one file serves all possible non-standard glyph -names! We also consider this glyph aliasing mechanism as an important -way to correct glyph naming bugs in certain fonts. - -Note also, that one should process fontinst cyrillic files with LaTeX -(not Plain TeX). - -You can get nicely formatted sources of *.etx and *.mtx files by -processing them with LaTeX. E.g., "latex t2a.etx" will generate -"t2a.dvi" which documents the T2A encoding vector. diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx b/Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx deleted file mode 100644 index 3a7dd11a433..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx +++ /dev/null @@ -1,829 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage{fontdoc} - -\title{The {\tt fontinst} cyrillic glyphs} -\author{Werner Lemberg, Vladimir Volovich} -\date{31 October 1998\\ -Version 0.2} - -\begin{document} -\maketitle - -\metrics - -\needsfontinstversion{1.800} - -% \unfakable is a glyph which can't be faked. - -\setcommand\unfakable#1{ - \setglyph{#1} - \ifisglyph{#1-not}\then - \moveup{\neg{\depth{#1-not}}} - \glyphrule{ - \width{#1-not} - }{ - \add{\depth{#1-not}}{\height{#1-not}} - } - \resetitalic{\italic{#1-not}} - \moveup{\depth{#1-not}} - \else - \glyphrule{500}{500} - \fi - \glyphwarning{missing glyph `#1'} - \endsetglyph -} - -% A top accent is set by placing the center of the accent at the given -% position along the width of the letter, raised up by the difference -% between the height of the letter and the xheight. - -\setcommand\topaccent#1#2#3{ - \push - \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}} - \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} - {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}} - \glyph{#2}{1000} - \pop - \glyph{#1}{1000} -} - -% A bottom accent is set by placing the center of the accent at the given -% position along the width of the letter. - -\setcommand\botaccent#1#2#3{ - \push - \movert{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}} - \glyph{#2}{1000} - \pop - \glyph{#1}{1000} -} - -% A c&sc glyph is created by shrinking the cap glyph, and adding extra -% space. - -\setcommand\cscglyph#1{ - \movert{\int{smallcapsextraspace}} - \glyph{#1}{\int{smallcapsscale}} - \movert{\int{smallcapsextraspace}} -} - -% A c&sc accent is created by moving a shrunk accent up by the -% difference between a scaled x and a scaled X. - -\setcommand\cscaccent#1{ - \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}} - \cscglyph{#1} - \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}} -} - -\comment{\section{Default values}} - -\setint{italicslant}{0} -\setint{xheight}{\height{x}} -\setint{capheight}{\height{A}} -\setint{ascender}{\height{d}} -\setint{descender}{\depth{g}} -\setint{underlinethickness}{40} -\setint{visiblespacedepth}{200} -\setint{visiblespacewidth}{400} -\setint{visiblespacesurround}{50} -\setint{smallcapsscale}{800} -\setint{smallcapskerning}{900} - -\ifisint{monowidth}\then - \setint{capspacing}{0} - \setint{smallcapsextraspace} - {\div{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}{2}} -\else - \setint{capspacing}{50} - \setint{smallcapsextraspace}{0} -\fi - -\makeatletter -\setcommand\cyrglyph#1#2#3 { - \@for\temp@a:=#2\do{ - \ifisglyph{\temp@a}\then - \setglyph{#1}\glyph{\temp@a}{1000}\endsetglyph - \fi - } - \unfakable{#1} - \csname cyr@extra@#3\endcsname{#1} -} -\let\cyr@extra@\@gobble -\expandafter\def\csname cyr@extra@*\endcsname#1{ - \setglyph{#1small} - \cscglyph{#1} - \endsetglyph - \setleftrightkerning{#1small}{#1}{\int{smallcapskerning}} -} -\def\cyr@extra@A#1{ - \setglyph{#1small} - \cscaccent{#1} - \endsetglyph -} -\makeatother - -\unfakable{cedilla} -\unfakable{acute} -\unfakable{dieresis} -\unfakable{breve} -\unfakable{dotlessi} -\unfakable{endash} -\unfakable{emdash} -\cyrglyph{currency}{} -\cyrglyph{angleleft}{} -\cyrglyph{angleright}{} - -% MODIFIER LETTER LOW GRAVE ACCENT -\cyrglyph{gravecross}{} - -% MODIFIER LETTER LOW ACUTE ACCENT -\cyrglyph{acutecross}{} - -% COMBINING SHORT STROKE OVERLAY -\cyrglyph{hcross}{} - -% CAPITAL CYRILLIC BREVE -\cyrglyph{cyrBreve}{}A - -% CAPITAL CYRILLIC CIRCUMFLEX -\cyrglyph{cyrFlex}{}A - -% CAPITAL DOUBLE GRAVE ACCENT -\cyrglyph{dblGrave}{}A - -% CYRILLIC BREVE -\cyrglyph{cyrbreve}{breve}A - -% CYRILLIC CIRCUMFLEX -\cyrglyph{cyrflex}{}A - -% DOUBLE GRAVE ACCENT -\cyrglyph{dblgrave}{}A - -% CYRILLIC CAPITAL LETTER IO -\setglyph{CYRYO}\topaccent{CYRE}{dieresis}{500}\endsetglyph -\cyrglyph{CYRYO}{}* - -% CYRILLIC CAPITAL LETTER DJE -\cyrglyph{CYRDJE}{}* - -% CYRILLIC CAPITAL LETTER GJE -\setglyph{CYRGJE}\topaccent{CYRG}{acute}{500}\endsetglyph -\cyrglyph{CYRGJE}{}* - -% CYRILLIC CAPITAL LETTER UKRAINIAN IE -\cyrglyph{CYRIE}{}* - -% CYRILLIC CAPITAL LETTER DZE -\cyrglyph{CYRDZE}{S}* - -% CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -\cyrglyph{CYRII}{I}* - -% CYRILLIC CAPITAL LETTER YI -\setglyph{CYRYI}\topaccent{I}{dieresis}{500}\endsetglyph -\cyrglyph{CYRYI}{}* - -% CYRILLIC CAPITAL LETTER JE -\cyrglyph{CYRJE}{J}* - -% CYRILLIC CAPITAL LETTER LJE -\cyrglyph{CYRLJE}{}* - -% CYRILLIC CAPITAL LETTER NJE -\cyrglyph{CYRNJE}{}* - -% CYRILLIC CAPITAL LETTER TSHE -\cyrglyph{CYRTSHE}{}* - -% CYRILLIC CAPITAL LETTER KJE -\setglyph{CYRKJE}\topaccent{CYRK}{acute}{500}\endsetglyph -\cyrglyph{CYRKJE}{}* - -% CYRILLIC CAPITAL LETTER SHORT U -\setglyph{CYRUSHRT}\topaccent{CYRU}{cyrbreve}{500}\endsetglyph -\cyrglyph{CYRUSHRT}{}* - -% CYRILLIC CAPITAL LETTER DZHE -\cyrglyph{CYRDZHE}{}* - -% CYRILLIC CAPITAL LETTER A -\cyrglyph{CYRA}{}* - -% CYRILLIC CAPITAL LETTER BE -\cyrglyph{CYRB}{}* - -% CYRILLIC CAPITAL LETTER VE -\cyrglyph{CYRV}{}* - -% CYRILLIC CAPITAL LETTER GHE -\cyrglyph{CYRG}{}* - -% CYRILLIC CAPITAL LETTER DE -\cyrglyph{CYRD}{}* - -% CYRILLIC CAPITAL LETTER IE -\cyrglyph{CYRE}{}* - -% CYRILLIC CAPITAL LETTER ZHE -\cyrglyph{CYRZH}{}* - -% CYRILLIC CAPITAL LETTER ZE -\cyrglyph{CYRZ}{}* - -% CYRILLIC CAPITAL LETTER I -\cyrglyph{CYRI}{}* - -% CYRILLIC CAPITAL LETTER SHORT I -\cyrglyph{CYRISHRT}{}* - -% CYRILLIC CAPITAL LETTER KA -\cyrglyph{CYRK}{}* - -% CYRILLIC CAPITAL LETTER EL -\cyrglyph{CYRL}{}* - -% CYRILLIC CAPITAL LETTER EM -\cyrglyph{CYRM}{}* - -% CYRILLIC CAPITAL LETTER EN -\cyrglyph{CYRN}{}* - -% CYRILLIC CAPITAL LETTER O -\cyrglyph{CYRO}{}* - -% CYRILLIC CAPITAL LETTER PE -\cyrglyph{CYRP}{}* - -% CYRILLIC CAPITAL LETTER ER -\cyrglyph{CYRR}{}* - -% CYRILLIC CAPITAL LETTER ES -\cyrglyph{CYRS}{}* - -% CYRILLIC CAPITAL LETTER TE -\cyrglyph{CYRT}{}* - -% CYRILLIC CAPITAL LETTER U -\cyrglyph{CYRU}{}* - -% CYRILLIC CAPITAL LETTER EF -\cyrglyph{CYRF}{}* - -% CYRILLIC CAPITAL LETTER HA -\cyrglyph{CYRH}{}* - -% CYRILLIC CAPITAL LETTER TSE -\cyrglyph{CYRC}{}* - -% CYRILLIC CAPITAL LETTER CHE -\cyrglyph{CYRCH}{}* - -% CYRILLIC CAPITAL LETTER SHA -\cyrglyph{CYRSH}{}* - -% CYRILLIC CAPITAL LETTER SHCHA -\cyrglyph{CYRSHCH}{}* - -% CYRILLIC CAPITAL LETTER HARD SIGN -\cyrglyph{CYRHRDSN}{}* - -% CYRILLIC CAPITAL LETTER YERU -\cyrglyph{CYRERY}{}* - -% CYRILLIC CAPITAL LETTER SOFT SIGN -\cyrglyph{CYRSFTSN}{}* - -% CYRILLIC CAPITAL LETTER E -\cyrglyph{CYREREV}{}* - -% CYRILLIC CAPITAL LETTER YU -\cyrglyph{CYRYU}{}* - -% CYRILLIC CAPITAL LETTER YA -\cyrglyph{CYRYA}{}* - -% CYRILLIC SMALL LETTER A -\cyrglyph{cyra}{} - -% CYRILLIC SMALL LETTER BE -\cyrglyph{cyrb}{} - -% CYRILLIC SMALL LETTER VE -\cyrglyph{cyrv}{} - -% CYRILLIC SMALL LETTER GHE -\cyrglyph{cyrg}{} - -% CYRILLIC SMALL LETTER DE -\cyrglyph{cyrd}{} - -% CYRILLIC SMALL LETTER IE -\cyrglyph{cyre}{} - -% CYRILLIC SMALL LETTER ZHE -\cyrglyph{cyrzh}{} - -% CYRILLIC SMALL LETTER ZE -\cyrglyph{cyrz}{} - -% CYRILLIC SMALL LETTER I -\cyrglyph{cyri}{} - -% CYRILLIC SMALL LETTER SHORT I -\cyrglyph{cyrishrt}{} - -% CYRILLIC SMALL LETTER KA -\cyrglyph{cyrk}{} - -% CYRILLIC SMALL LETTER EL -\cyrglyph{cyrl}{} - -% CYRILLIC SMALL LETTER EM -\cyrglyph{cyrm}{} - -% CYRILLIC SMALL LETTER EN -\cyrglyph{cyrn}{} - -% CYRILLIC SMALL LETTER O -\cyrglyph{cyro}{} - -% CYRILLIC SMALL LETTER PE -\cyrglyph{cyrp}{} - -% CYRILLIC SMALL LETTER ER -\cyrglyph{cyrr}{} - -% CYRILLIC SMALL LETTER ES -\cyrglyph{cyrs}{} - -% CYRILLIC SMALL LETTER TE -\cyrglyph{cyrt}{} - -% CYRILLIC SMALL LETTER U -\cyrglyph{cyru}{} - -% CYRILLIC SMALL LETTER EF -\cyrglyph{cyrf}{} - -% CYRILLIC SMALL LETTER HA -\cyrglyph{cyrh}{} - -% CYRILLIC SMALL LETTER TSE -\cyrglyph{cyrc}{} - -% CYRILLIC SMALL LETTER CHE -\cyrglyph{cyrch}{} - -% CYRILLIC SMALL LETTER SHA -\cyrglyph{cyrsh}{} - -% CYRILLIC SMALL LETTER SHCHA -\cyrglyph{cyrshch}{} - -% CYRILLIC SMALL LETTER HARD SIGN -\cyrglyph{cyrhrdsn}{} - -% CYRILLIC SMALL LETTER YERU -\cyrglyph{cyrery}{} - -% CYRILLIC SMALL LETTER SOFT SIGN -\cyrglyph{cyrsftsn}{} - -% CYRILLIC SMALL LETTER E -\cyrglyph{cyrerev}{} - -% CYRILLIC SMALL LETTER YU -\cyrglyph{cyryu}{} - -% CYRILLIC SMALL LETTER YA -\cyrglyph{cyrya}{} - -% CYRILLIC SMALL LETTER IO -\setglyph{cyryo}\topaccent{cyre}{dieresis}{500}\endsetglyph -\cyrglyph{cyryo}{} - -% CYRILLIC SMALL LETTER DJE -\cyrglyph{cyrdje}{} - -% CYRILLIC SMALL LETTER GJE -\setglyph{cyrgje}\topaccent{cyrg}{acute}{500}\endsetglyph -\cyrglyph{cyrgje}{} - -% CYRILLIC SMALL LETTER UKRAINIAN IE -\cyrglyph{cyrie}{} - -% CYRILLIC SMALL LETTER DZE -\cyrglyph{cyrdze}{s} - -% CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -\cyrglyph{cyrii}{i} - -% CYRILLIC SMALL LETTER YI -\setglyph{cyryi}\topaccent{dotlessi}{dieresis}{500}\endsetglyph -\cyrglyph{cyryi}{} - -% CYRILLIC SMALL LETTER JE -\cyrglyph{cyrje}{j} - -% CYRILLIC SMALL LETTER LJE -\cyrglyph{cyrlje}{} - -% CYRILLIC SMALL LETTER NJE -\cyrglyph{cyrnje}{} - -% CYRILLIC SMALL LETTER TSHE -\cyrglyph{cyrtshe}{} - -% CYRILLIC SMALL LETTER KJE -\setglyph{cyrkje}\topaccent{cyrk}{acute}{500}\endsetglyph -\cyrglyph{cyrkje}{} - -% CYRILLIC SMALL LETTER SHORT U -\setglyph{cyrushrt}\topaccent{cyru}{cyrbreve}{500}\endsetglyph -\cyrglyph{cyrushrt}{} - -% CYRILLIC SMALL LETTER DZHE -\cyrglyph{cyrdzhe}{} - -% CYRILLIC CAPITAL LETTER YAT -\cyrglyph{CYRYAT}{}* - -% CYRILLIC SMALL LETTER YAT -\cyrglyph{cyryat}{} - -% CYRILLIC CAPITAL LETTER BIG YUS -\cyrglyph{CYRBYUS}{}* - -% CYRILLIC SMALL LETTER BIG YUS -\cyrglyph{cyrbyus}{} - -% CYRILLIC CAPITAL LETTER FITA -\cyrglyph{CYRFITA}{CYROTLD}* - -% CYRILLIC SMALL LETTER FITA -\cyrglyph{cyrfita}{cyrotld} - -% CYRILLIC CAPITAL LETTER BARRED O -\cyrglyph{CYROTLD}{CYRFITA}* - -% CYRILLIC SMALL LETTER BARRED O -\cyrglyph{cyrotld}{cyrfita} - -% CYRILLIC CAPITAL LETTER IZHITSA -\cyrglyph{CYRIZH}{}* - -% CYRILLIC SMALL LETTER IZHITSA -\cyrglyph{cyrizh}{} - -% CYRILLIC CAPITAL LETTER GHE WITH UPTURN -\cyrglyph{CYRGUP}{CYRG}* - -% CYRILLIC SMALL LETTER GHE WITH UPTURN -\cyrglyph{cyrgup}{cyrg} - -% CYRILLIC CAPITAL LETTER GHE WITH STROKE -\cyrglyph{CYRGHCRS}{}* - -% CYRILLIC SMALL LETTER GHE WITH STROKE -\cyrglyph{cyrghcrs}{} - -% CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK -\cyrglyph{CYRGHK}{}* - -% CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK -\cyrglyph{cyrghk}{} - -% CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER -\cyrglyph{CYRZHDSC}{}* - -% CYRILLIC SMALL LETTER ZHE WITH DESCENDER -\cyrglyph{cyrzhdsc}{} - -% CYRILLIC CAPITAL LETTER ZE WITH DESCENDER -\setglyph{CYRZDSC}\botaccent{CYRZ}{cedilla}{500}\endsetglyph -\cyrglyph{CYRZDSC}{}* - -% CYRILLIC SMALL LETTER ZE WITH DESCENDER -\setglyph{cyrzdsc}\botaccent{cyrz}{cedilla}{500}\endsetglyph -\cyrglyph{cyrzdsc}{} - -% CYRILLIC CAPITAL LETTER KA WITH DESCENDER -\cyrglyph{CYRKDSC}{}* - -% CYRILLIC SMALL LETTER KA WITH DESCENDER -\cyrglyph{cyrkdsc}{} - -% CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE -\cyrglyph{CYRKVCRS}{}* - -% CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE -\cyrglyph{cyrkvcrs}{} - -% CYRILLIC CAPITAL LETTER KA WITH STROKE -\cyrglyph{CYRKHCRS}{}* - -% CYRILLIC SMALL LETTER KA WITH STROKE -\cyrglyph{cyrkhcrs}{} - -% CYRILLIC CAPITAL LETTER BASHKIR KA -\cyrglyph{CYRKBEAK}{}* - -% CYRILLIC SMALL LETTER BASHKIR KA -\cyrglyph{cyrkbeak}{} - -% CYRILLIC CAPITAL LETTER EN WITH DESCENDER -\cyrglyph{CYRNDSC}{}* - -% CYRILLIC SMALL LETTER EN WITH DESCENDER -\cyrglyph{cyrndsc}{} - -% CYRILLIC CAPITAL LIGATURE EN GHE -\cyrglyph{CYRNG}{}* - -% CYRILLIC SMALL LIGATURE EN GHE -\cyrglyph{cyrng}{} - -% CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK -\cyrglyph{CYRPHK}{}* - -% CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK -\cyrglyph{cyrphk}{} - -% CYRILLIC CAPITAL LETTER ABKHASIAN HA -\cyrglyph{CYRABHHA}{}* - -% CYRILLIC SMALL LETTER ABKHASIAN HA -\cyrglyph{cyrabhha}{} - -% CYRILLIC CAPITAL LETTER ES WITH DESCENDER -\setglyph{CYRSDSC}\botaccent{CYRS}{cedilla}{500}\endsetglyph -\cyrglyph{CYRSDSC}{}* - -% CYRILLIC SMALL LETTER ES WITH DESCENDER -\setglyph{cyrsdsc}\botaccent{cyrs}{cedilla}{500}\endsetglyph -\cyrglyph{cyrsdsc}{} - -% CYRILLIC CAPITAL LETTER TE WITH DESCENDER -\cyrglyph{CYRTDSC}{}* - -% CYRILLIC SMALL LETTER TE WITH DESCENDER -\cyrglyph{cyrtdsc}{} - -% CYRILLIC CAPITAL LETTER STRAIGHT U -\cyrglyph{CYRY}{}* - -% CYRILLIC SMALL LETTER STRAIGHT U -\cyrglyph{cyry}{} - -% CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE -\cyrglyph{CYRYHCRS}{}* - -% CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE -\cyrglyph{cyryhcrs}{} - -% CYRILLIC CAPITAL LETTER HA WITH DESCENDER -\cyrglyph{CYRHDSC}{}* - -% CYRILLIC SMALL LETTER HA WITH DESCENDER -\cyrglyph{cyrhdsc}{} - -% CYRILLIC CAPITAL LIGATURE TE TSE -\cyrglyph{CYRTETSE}{}* - -% CYRILLIC SMALL LIGATURE TE TSE -\cyrglyph{cyrtetse}{} - -% CYRILLIC CAPITAL LETTER CHE WITH DESCENDER -\cyrglyph{CYRCHRDSC}{}* - -% CYRILLIC SMALL LETTER CHE WITH DESCENDER -\cyrglyph{cyrchrdsc}{} - -% CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE -\cyrglyph{CYRCHVCRS}{}* - -% CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE -\cyrglyph{cyrchvcrs}{} - -% CYRILLIC CAPITAL LETTER SHHA -\cyrglyph{CYRSHHA}{}* - -% CYRILLIC SMALL LETTER SHHA -\cyrglyph{cyrshha}{} - -% CYRILLIC CAPITAL LETTER ABKHASIAN CHE -\cyrglyph{CYRABHCH}{}* - -% CYRILLIC SMALL LETTER ABKHASIAN CHE -\cyrglyph{cyrabhch}{} - -% CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER -\cyrglyph{CYRABHCHDSC}{}* - -% CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER -\cyrglyph{cyrabhchdsc}{} - -% CYRILLIC LETTER PALOCHKA -\cyrglyph{CYRpalochka}{I} - -% CYRILLIC CAPITAL LETTER KA WITH HOOK -\cyrglyph{CYRKHK}{}* - -% CYRILLIC SMALL LETTER KA WITH HOOK -\cyrglyph{cyrkhk}{} - -% CYRILLIC CAPITAL LETTER EN WITH HOOK -\cyrglyph{CYRNHK}{}* - -% CYRILLIC SMALL LETTER EN WITH HOOK -\cyrglyph{cyrnhk}{} - -% CYRILLIC CAPITAL LETTER KHAKASSIAN CHE -\cyrglyph{CYRCHLDSC}{}* - -% CYRILLIC SMALL LETTER KHAKASSIAN CHE -\cyrglyph{cyrchldsc}{} - -% CYRILLIC CAPITAL LIGATURE A IE -\cyrglyph{CYRAE}{AE}* - -% CYRILLIC SMALL LIGATURE A IE -\cyrglyph{cyrae}{ae} - -% CYRILLIC CAPITAL LETTER SCHWA -\cyrglyph{CYRSCHWA}{}* - -% CYRILLIC SMALL LETTER SCHWA -\cyrglyph{cyrschwa}{} - -% CYRILLIC CAPITAL LETTER ABKHASIAN DZE -\cyrglyph{CYRABHDZE}{}* - -% CYRILLIC SMALL LETTER ABKHASIAN DZE -\cyrglyph{cyrabhdze}{} - -% CYRILLIC CAPITAL LETTER ER WITH HOOK -\cyrglyph{CYRRHK}{}* - -% CYRILLIC SMALL LETTER ER WITH HOOK -\cyrglyph{cyrrhk}{} - -% NUMERO SIGN -\cyrglyph{numero}{} - -% LEFT-POINTING ANGLE BRACKET -\cyrglyph{cyrlangle}{angleleft} - -% RIGHT-POINTING ANGLE BRACKET -\cyrglyph{cyrrangle}{angleright} - -% CYRILLIC CAPITAL LETTER DELTA -\cyrglyph{CYRDELTA}{}* - -% CYRILLIC CAPITAL LETTER EPSILON -\cyrglyph{CYREPS}{}* - -% CYRILLIC CAPITAL LETTER GHE WITH DESCENDER -\cyrglyph{CYRGDSC}{}* - -% CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER -\cyrglyph{CYRGDSCHCRS}{}* - -% CYRILLIC CAPITAL LETTER HA WITH STROKE -\cyrglyph{CYRHHCRS}{}* - -% CYRILLIC CAPITAL LETTER HA WITH HOOK -\cyrglyph{CYRHHK}{}* - -% CYRILLIC CAPITAL LETTER EL WITH DESCENDER -\cyrglyph{CYRLDSC}{}* - -% CYRILLIC CAPITAL LETTER EL WITH HOOK -\cyrglyph{CYRLHK}{}* - -% CYRILLIC CAPITAL LETTER EM WITH DESCENDER -\cyrglyph{CYRMDSC}{}* - -% CYRILLIC CAPITAL LETTER EM WITH HOOK -\cyrglyph{CYRMHK}{}* - -% CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK -\cyrglyph{CYRNLHK}{}* - -% CYRILLIC CAPITAL LETTER Q -\cyrglyph{CYRQ}{Q}* - -% CYRILLIC CAPITAL LETTER ER WITH DESCENDER -\cyrglyph{CYRRDSC}{}* - -% CYRILLIC CAPITAL LETTER ER WITH STROKE -\cyrglyph{CYRRTICK}{}* - -% CYRILLIC CAPITAL LETTER ES WITH STROKE -\cyrglyph{CYRSACRS}{}* - -% CYRILLIC CAPITAL LETTER W -\cyrglyph{CYRW}{W}* - -% CYRILLIC SMALL LETTER DELTA -\cyrglyph{cyrdelta}{} - -% CYRILLIC SMALL LETTER EPSILON -\cyrglyph{cyreps}{} - -% CYRILLIC SMALL LETTER GHE WITH DESCENDER -\cyrglyph{cyrgdsc}{} - -% CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER -\cyrglyph{cyrgdschcrs}{} - -% CYRILLIC SMALL LETTER HA WITH STROKE -\cyrglyph{cyrhhcrs}{} - -% CYRILLIC SMALL LETTER HA WITH HOOK -\cyrglyph{cyrhhk}{} - -% CYRILLIC SMALL LETTER EL WITH DESCENDER -\cyrglyph{cyrldsc}{} - -% CYRILLIC SMALL LETTER EL WITH HOOK -\cyrglyph{cyrlhk}{} - -% CYRILLIC SMALL LETTER EM WITH DESCENDER -\cyrglyph{cyrmdsc}{} - -% CYRILLIC SMALL LETTER EM WITH HOOK -\cyrglyph{cyrmhk}{} - -% CYRILLIC SMALL LETTER EN WITH LEFT HOOK -\cyrglyph{cyrnlhk}{} - -% CYRILLIC SMALL LETTER Q -\cyrglyph{cyrq}{q} - -% CYRILLIC SMALL LETTER ER WITH DESCENDER -\cyrglyph{cyrrdsc}{} - -% CYRILLIC SMALL LETTER ER WITH STROKE -\cyrglyph{cyrrtick}{} - -% CYRILLIC SMALL LETTER ES WITH STROKE -\cyrglyph{cyrsacrs}{} - -% CYRILLIC SMALL LETTER W -\cyrglyph{cyrw}{w} - -% CYRILLIC EM DASH -\setglyph{cyrdash} - \ifisint{monowidth}\then - \glyph{hyphen}{1000} - \glyph{hyphen}{1000} - \else - \glyph{emdash}{1000} - \fi -\endsetglyph - -% CYRILLIC SMALL LETTER GHE VARIANT -\cyrglyph{cyrvarg}{} - -% CYRILLIC SMALL LETTER BE VARIANT -\cyrglyph{cyrvarb}{} - -% CYRILLIC SMALL LETTER DE VARIANT -\cyrglyph{cyrvard}{} - -% CYRILLIC SMALL LETTER PE VARIANT -\cyrglyph{cyrvarp}{} - -% CYRILLIC SMALL LETTER TE VARIANT -\cyrglyph{cyrvart}{} - -% monotype-only variant glyphs - -% CYRILLIC CAPITAL LETTER ZHE BULGARIAN -\cyrglyph{CYRZHBULG}{}* - -% CYRILLIC SMALL LETTER ZHE BULGARIAN -\cyrglyph{cyrzhbulg}{} - -% CYRILLIC SMALL LETTER EF VARIANT -\cyrglyph{cyrvarf}{} - -% CYRILLIC SMALL LETTER EM VARIANT -\cyrglyph{cyrvarm}{} - -% CYRILLIC SMALL LETTER ZHE VARIANT -\cyrglyph{cyrvarzh}{} - -% CYRILLIC SMALL LETTER VE VARIANT -\cyrglyph{cyrvarv}{} - -% CYRILLIC SMALL LETTER TSE VARIANT -\cyrglyph{cyrvarc}{} - -\endmetrics -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx deleted file mode 100644 index 62a85186c92..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx +++ /dev/null @@ -1,47 +0,0 @@ -\relax - -% LCYc.etx -- install an LCY-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default LCY.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\currency{dollar} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx deleted file mode 100644 index 9679f33bb7f..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx +++ /dev/null @@ -1,47 +0,0 @@ -\relax - -% LCYci.etx -- install an LCY-encoded faked italic small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default LCY.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\currency{sterling} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx deleted file mode 100644 index 2d4e2e2a6a7..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx +++ /dev/null @@ -1,48 +0,0 @@ -\relax - -% LCYcij.etx -- install an LCY-encoded faked italic small-caps -% & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default LCY.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} -\setcommand\currency{sterling} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx deleted file mode 100644 index 853fe71833c..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx +++ /dev/null @@ -1,47 +0,0 @@ -\relax - -% LCYcj.etx -- install an LCY-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default LCY.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} -\setcommand\currency{dollar} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx deleted file mode 100644 index d20f92a6361..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx +++ /dev/null @@ -1,48 +0,0 @@ -\relax - -% LCYctt.etx -- install an LCY-encoded faked typewriter small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default LCY.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\tty{y} -\setcommand\currency{dollar} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsspacing} - {\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}} -\else - \setint{smallcapsspacing}{100} -\fi - -\setglyph{everyglyph} - \movert{\div{\int{smallcapsspacing}}{2}} -\endsetglyph - -\setglyph{everyendglyph} - \movert{\div{\int{smallcapsspacing}}{2}} -\endsetglyph - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx deleted file mode 100644 index d591b32b01e..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx +++ /dev/null @@ -1,19 +0,0 @@ -\relax - -% LCYi.etx -- install an LCY-encoded italic font -% -% We _do_ need to distinguish between upright and italic in LCY, -% because of `sterling' and `dollar' sharing the same slot. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\currency{sterling} - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx deleted file mode 100644 index b501311133d..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx +++ /dev/null @@ -1,19 +0,0 @@ -\relax - -% LCYij.etx -- install an LCY-encoded italic font with oldstyle digits -% -% We _do_ need to distinguish between upright and italic in LCY, -% because of `sterling' and `dollar' sharing the same slot. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} -\setcommand\currency{sterling} - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx deleted file mode 100644 index bd16d5125ba..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% LCYitt.etx -- install an LCY-encoded italic typewriter font -% -% We _do_ need to distinguish between upright and italic in LCY, -% because of `sterling' and `dollar' sharing the same slot. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\tty{y} -\setcommand\currency{sterling} - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx deleted file mode 100644 index f20187b3b24..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx +++ /dev/null @@ -1,19 +0,0 @@ -\relax - -% LCYj.etx -- install an LCY-encoded upright font with oldstyle digits -% -% We _do_ need to distinguish between upright and italic in LCY, -% because of `sterling' and `dollar' sharing the same slot. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} -\setcommand\currency{dollar} - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx deleted file mode 100644 index 4b476fb3d47..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% LCYtt.etx -- install an LCY-encoded typewriter font -% -% We _do_ need to distinguish between upright and italic in LCY, -% because of `sterling' and `dollar' sharing the same slot. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\setcommand\tty{y} -\setcommand\currency{dollar} - -\inputetx{LCY} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx deleted file mode 100644 index 7b18d90746d..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% OT2c.etx -- install a OT2-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default OT2.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{OT2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx deleted file mode 100644 index 9f0d9a38b6c..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% OT2cj.etx -- install a OT2-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default OT2.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{0} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\else - \setint{letterspacing}{\int{smallcapsspacing}} -\fi - -\inputetx{OT2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx deleted file mode 100644 index 8473e9a767f..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx +++ /dev/null @@ -1,18 +0,0 @@ -\relax - -% OT2i.etx -- install a OT2-encoded italic font -% -% We do not need to distinguish between upright and italic in OT2, -% hence we simply call OT2.etx with default parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\inputetx{OT2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx deleted file mode 100644 index a635ea1cfe4..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% OT2ij.etx -- install a OT2-encoded italic font with oldstyle digits -% -% We do not need to distinguish between upright and italic in OT2, -% hence we simply call OT2.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{OT2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx deleted file mode 100644 index bf5793c26aa..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% OT2j.etx -- install a OT2-encoded upright font with oldstyle digits -% -% We do not need to distinguish between upright and italic in OT2, -% hence we simply call OT2.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{OT2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx deleted file mode 100644 index 89940040f01..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Ac.etx -- install a T2A-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2A.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2A} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx deleted file mode 100644 index f5964e92e2b..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Acj.etx -- install a T2A-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2A.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1oldstyle} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2A} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx deleted file mode 100644 index f615e2ebf23..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Ai.etx -- install a T2A-encoded italic font -% -% We do not need to distinguish between upright and italic in T2A, -% hence we simply call T2A.etx with default parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\inputetx{T2A} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx deleted file mode 100644 index aff193d9424..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Aij.etx -- install a T2A-encoded italic font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2A, -% hence we simply call T2A.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2A} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx deleted file mode 100644 index 67d5813bc44..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Aj.etx -- install a T2A-encoded upright font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2A, -% hence we simply call T2A.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2A} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx deleted file mode 100644 index 6e48e3eadbe..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Bc.etx -- install a T2B-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2B.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2B} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx deleted file mode 100644 index c9a0cbba825..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Bcj.etx -- install a T2B-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2B.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1oldstyle} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2B} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx deleted file mode 100644 index 27f2f3fc9a4..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Bi.etx -- install a T2B-encoded italic font -% -% We do not need to distinguish between upright and italic in T2B, -% hence we simply call T2B.etx with default parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\inputetx{T2B} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx deleted file mode 100644 index d6bf83fd55a..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Bij.etx -- install a T2B-encoded italic font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2B, -% hence we simply call T2B.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2B} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx deleted file mode 100644 index 0a242585eb5..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Bj.etx -- install a T2B-encoded upright font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2B, -% hence we simply call T2B.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2B} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx deleted file mode 100644 index 92ec06376de..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Cc.etx -- install a T2C-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2C.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2C} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx deleted file mode 100644 index 95192940307..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% T2Ccj.etx -- install a T2C-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default T2C.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1oldstyle} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{T2C} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx deleted file mode 100644 index 323d6db8337..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Ci.etx -- install a T2C-encoded italic font -% -% We do not need to distinguish between upright and italic in T2C, -% hence we simply call T2C.etx with default parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\inputetx{T2C} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx deleted file mode 100644 index 050ff110f0e..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Cij.etx -- install a T2C-encoded italic font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2C, -% hence we simply call T2C.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2C} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx deleted file mode 100644 index 5c8955a6588..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% T2Cj.etx -- install a T2C-encoded upright font with oldstyle digits -% -% We do not need to distinguish between upright and italic in T2C, -% hence we simply call T2C.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{T2C} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx deleted file mode 100644 index 1ee91450176..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% X2c.etx -- install a X2-encoded faked small-caps font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default X2.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{X2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx deleted file mode 100644 index fa88c0b71e4..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx +++ /dev/null @@ -1,46 +0,0 @@ -\relax - -% X2cj.etx -- install a X2-encoded faked small-caps & oldstyle font -% -% This is used exclusively to install faked small-caps fonts; -% real small caps fonts are installed using the default X2.etx. - -\encoding - -\setcommand\lc#1#2{#1small} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#1small} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#1small} -\setcommand\uclig#1#2{#1spaced} -\setcommand\digit#1{#1oldstyle} - -% The default letter spacing is 1/10 of the design size, with small -% caps 80% the size of large caps. - -\setint{smallcapsscale}{800} - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -\ifisint{monowidth}\then - \setint{smallcapsextraspace} - {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}} - \setint{smallcapsspacing}{0} -\else - \setint{smallcapsextraspace}{50} - \setint{smallcapsspacing}{50} -\fi - -\ifisint{capspacing}\then - \setint{letterspacing}{\int{capspacing}} -\fi - -\inputetx{X2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx deleted file mode 100644 index e85eab97694..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% X2i.etx -- install a X2-encoded italic font -% -% We do not need to distinguish between upright and italic in X2, -% hence we simply call X2.etx with default parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\inputetx{X2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx deleted file mode 100644 index 06e8caa0fce..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% X2ij.etx -- install a X2-encoded italic font with oldstyle digits -% -% We do not need to distinguish between upright and italic in X2, -% hence we simply call X2.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{X2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx deleted file mode 100644 index 00ece78d31b..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx +++ /dev/null @@ -1,20 +0,0 @@ -\relax - -% X2j.etx -- install a X2-encoded upright font with oldstyle digits -% -% We do not need to distinguish between upright and italic in X2, -% hence we simply call X2.etx with oldstyle parameters. - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1oldstyle} - -\inputetx{X2} - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex deleted file mode 100644 index 656cff9ea7d..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex +++ /dev/null @@ -1,70 +0,0 @@ -% aliases for type1 paradissa cyrillic fonts (obsolete) -\galias{guillemotleft}{cmc-AE} -\galias{guillemotright}{cmc-OE} -\galias{CYRYO}{cmc-questiondown,cmc-greater} -\galias{CYRA}{cmc-a} -\galias{CYRB}{cmc-b} -\galias{CYRV}{cmc-w} -\galias{CYRG}{cmc-g} -\galias{CYRD}{cmc-d} -\galias{CYRE}{cmc-e} -\galias{CYRZH}{cmc-v} -\galias{CYRZ}{cmc-z} -\galias{CYRI}{cmc-i} -\galias{CYRISHRT}{cmc-j} -\galias{CYRK}{cmc-k} -\galias{CYRL}{cmc-l} -\galias{CYRM}{cmc-m} -\galias{CYRN}{cmc-n} -\galias{CYRO}{cmc-o} -\galias{CYRP}{cmc-p} -\galias{CYRR}{cmc-r} -\galias{CYRS}{cmc-s} -\galias{CYRT}{cmc-t} -\galias{CYRU}{cmc-u} -\galias{CYRF}{cmc-f} -\galias{CYRH}{cmc-h} -\galias{CYRC}{cmc-c} -\galias{CYRCH}{cmc-tilde,cmc-asciitilde} -\galias{CYRSH}{cmc-endash,cmc-braceleft} -\galias{CYRSHCH}{cmc-hungarumlaut,cmc-braceright} -\galias{CYRHRDSN}{cmc-dieresis} -\galias{CYRERY}{cmc-y} -\galias{CYRSFTSN}{cmc-x} -\galias{CYREREV}{cmc-emdash,cmc-bar} -\galias{CYRYU}{cmc-quoteleft} -\galias{CYRYA}{cmc-q} -\galias{cyra}{cmc-A} -\galias{cyrb}{cmc-B} -\galias{cyrv}{cmc-W} -\galias{cyrg}{cmc-G} -\galias{cyrd}{cmc-D} -\galias{cyre}{cmc-E} -\galias{cyrzh}{cmc-V} -\galias{cyrz}{cmc-Z} -\galias{cyri}{cmc-I} -\galias{cyrishrt}{cmc-J} -\galias{cyrk}{cmc-K} -\galias{cyrl}{cmc-L} -\galias{cyrm}{cmc-M} -\galias{cyrn}{cmc-N} -\galias{cyro}{cmc-O} -\galias{cyrp}{cmc-P} -\galias{cyrr}{cmc-R} -\galias{cyrs}{cmc-S} -\galias{cyrt}{cmc-T} -\galias{cyru}{cmc-U} -\galias{cyrf}{cmc-F} -\galias{cyrh}{cmc-H} -\galias{cyrc}{cmc-C} -\galias{cyrch}{cmc-circumflex,cmc-asciicircum} -\galias{cyrsh}{cmc-bracketleft} -\galias{cyrshch}{cmc-bracketright} -\galias{cyrhrdsn}{cmc-dotaccent,cmc-underscore} -\galias{cyrery}{cmc-Y} -\galias{cyrsftsn}{cmc-X} -\galias{cyrerev}{cmc-quotedblleft,cmc-backslash} -\galias{cyryu}{cmc-at} -\galias{cyrya}{cmc-Q} -\galias{cyryo}{cmc-exclamdown} -\galias{numero}{cmc-germandbls} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex deleted file mode 100644 index fca40602bb8..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex +++ /dev/null @@ -1,94 +0,0 @@ -% aliases for type1 AMS CM cyrillic fonts -% (not needed as metrics should be taken from TFM files) -\galias{CYRYO}{wncy-Yo} -\galias{CYRDJE}{wncy-Dj} -\galias{CYRIE}{wncy-Ye} -\galias{CYRDZE}{wncy-Zelo} -\galias{CYRII}{wncy-Iroman} -\galias{CYRJE}{wncy-J} -\galias{CYRLJE}{wncy-Lj} -\galias{CYRNJE}{wncy-Nj} -\galias{CYRTSHE}{wncy-Tsoft} -\galias{CYRDZHE}{wncy-Dzh} -\galias{CYRA}{wncy-A} -\galias{CYRB}{wncy-B} -\galias{CYRV}{wncy-V} -\galias{CYRG}{wncy-G} -\galias{CYRD}{wncy-D} -\galias{CYRE}{wncy-E} -\galias{CYRZH}{wncy-Zhe} -\galias{CYRZ}{wncy-Z} -\galias{CYRI}{wncy-I} -\galias{CYRISHRT}{wncy-Ishort} -\galias{CYRK}{wncy-K} -\galias{CYRL}{wncy-L} -\galias{CYRM}{wncy-M} -\galias{CYRN}{wncy-N} -\galias{CYRO}{wncy-O} -\galias{CYRP}{wncy-P} -\galias{CYRR}{wncy-R} -\galias{CYRS}{wncy-S} -\galias{CYRT}{wncy-T} -\galias{CYRU}{wncy-U} -\galias{CYRF}{wncy-F} -\galias{CYRH}{wncy-H} -\galias{CYRC}{wncy-C} -\galias{CYRCH}{wncy-Q} -\galias{CYRSH}{wncy-X} -\galias{CYRSHCH}{wncy-W} -\galias{CYRHRDSN}{wncy-Hard} -\galias{CYRERY}{wncy-Y} -\galias{CYRSFTSN}{wncy-Soft} -\galias{CYREREV}{wncy-Ze} -\galias{CYRYU}{wncy-Yu} -\galias{CYRYA}{wncy-Ya} -\galias{cyra}{wncy-a} -\galias{cyrb}{wncy-b} -\galias{cyrv}{wncy-v} -\galias{cyrg}{wncy-g} -\galias{cyrd}{wncy-d} -\galias{cyre}{wncy-e} -\galias{cyrzh}{wncy-zhe} -\galias{cyrz}{wncy-z} -\galias{cyri}{wncy-i} -\galias{cyrishrt}{wncy-ishort} -\galias{cyrk}{wncy-k} -\galias{cyrl}{wncy-l} -\galias{cyrm}{wncy-m} -\galias{cyrn}{wncy-n} -\galias{cyro}{wncy-o} -\galias{cyrp}{wncy-p} -\galias{cyrr}{wncy-r} -\galias{cyrs}{wncy-s} -\galias{cyrt}{wncy-t} -\galias{cyru}{wncy-u} -\galias{cyrf}{wncy-f} -\galias{cyrh}{wncy-h} -\galias{cyrc}{wncy-c} -\galias{cyrch}{wncy-q} -\galias{cyrsh}{wncy-x} -\galias{cyrshch}{wncy-w} -\galias{cyrhrdsn}{wncy-hard} -\galias{cyrery}{wncy-y} -\galias{cyrsftsn}{wncy-soft} -\galias{cyrerev}{wncy-ze} -\galias{cyryu}{wncy-yu} -\galias{cyrya}{wncy-ya} -\galias{cyryo}{wncy-yo} -\galias{cyrdje}{wncy-dj} -\galias{cyrie}{wncy-ye} -\galias{cyrdze}{wncy-zelo} -\galias{cyrii}{wncy-iroman} -\galias{cyrje}{wncy-j} -\galias{cyrlje}{wncy-lj} -\galias{cyrnje}{wncy-nj} -\galias{cyrtshe}{wncy-tsoft} -\galias{cyrdzhe}{wncy-dzh} -\galias{CYRYAT}{wncy-Yatz} -\galias{cyryat}{wncy-yatz} -\galias{CYRFITA}{wncy-Fita} -\galias{cyrfita}{wncy-fita} -\galias{CYRIZH}{wncy-Izhitsa} -\galias{cyrizh}{wncy-izhitsa} -\galias{numero}{wncy-number} -\galias{cyrbreve}{wncy-breve1} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex deleted file mode 100644 index 611b695f585..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex +++ /dev/null @@ -1,223 +0,0 @@ -% aliases for type1 cyrillic fonts: adobe, urw, monotype -\galias{bar}{mt-vertical} -\galias{guilsinglleft}{quilsinglleft} -\galias{guilsinglright}{quilsinglright} -\galias{CYRYO}{afii10023,urw-cyrYEdieresis,mt-Jehstdieresis} -\galias{CYRDJE}{afii10051,urw-cyrTY,mt-Djsche} -\galias{CYRGJE}{afii10052,urw-cyrGacute,mt-Glagolmac} -\galias{CYRIE}{afii10053,urw-cyrsovYE,mt-Ye} -\galias{CYRDZE}{afii10054,urw-cyrDZ,mt-Zelo} -\galias{CYRII}{afii10055,urw-cyrsovI,mt-I} -\galias{CYRYI}{afii10056,urw-cyrsovIdieresis,mt-Idieresis} -\galias{CYRJE}{afii10057,urw-cyrJ,mt-Je} -\galias{CYRLJE}{afii10058,urw-cyrLY,mt-Elj} -\galias{CYRNJE}{afii10059,urw-cyrNY,mt-Nj} -\galias{CYRTSHE}{afii10060,urw-cyrDY,mt-Tjsche} -\galias{CYRKJE}{afii10061,urw-cyrKacute,mt-Kakoacute} -\galias{CYRUSHRT}{afii10062,urw-cyrUbreve,mt-Ubreve} -\galias{CYRDZHE}{afii10145,urw-cyrDZH,mt-Dsche} -\galias{CYRA}{afii10017,urw-cyrA,mt-As} -\galias{CYRB}{afii10018,urw-cyrB,mt-Buki} -\galias{CYRV}{afii10019,urw-cyrV,mt-Wjedi} -\galias{CYRG}{afii10020,urw-cyrG,mt-Glagol} -\galias{CYRD}{afii10021,urw-cyrD,mt-Dobro} -\galias{CYRE}{afii10022,urw-cyrYE,mt-Jehst} -\galias{CYRZH}{afii10024,urw-cyrZH,mt-Schiwete} -\galias{CYRZ}{afii10025,urw-cyrZ,mt-Semlja} -\galias{CYRI}{afii10026,urw-cyrI,mt-Ische} -\galias{CYRISHRT}{afii10027,urw-cyrIbreve,mt-Ischedipthong} -\galias{CYRK}{afii10028,urw-cyrK,mt-Kako} -\galias{CYRL}{afii10029,urw-cyrL,mt-Ljudi} -\galias{CYRM}{afii10030,urw-cyrM,mt-Muislete} -\galias{CYRN}{afii10031,urw-cyrN,mt-Nasche} -\galias{CYRO}{afii10032,urw-cyrO,mt-On} -\galias{CYRP}{afii10033,urw-cyrP,mt-Pakoy} -\galias{CYRR}{afii10034,urw-cyrR,mt-Rzui} -\galias{CYRS}{afii10035,urw-cyrS,mt-Ssiowo} -\galias{CYRT}{afii10036,urw-cyrT,mt-Twerdo} -\galias{CYRU}{afii10037,urw-cyrU,mt-U} -\galias{CYRF}{afii10038,urw-cyrF,mt-Fert} -\galias{CYRH}{afii10039,urw-cyrKH,mt-Chherr} -\galias{CYRC}{afii10040,urw-cyrTS,mt-Zui} -\galias{CYRCH}{afii10041,urw-cyrCH,mt-Tscherw} -\galias{CYRSH}{afii10042,urw-cyrSH,mt-Scha} -\galias{CYRSHCH}{afii10043,urw-cyrSHCH,mt-Schtscha} -\galias{CYRHRDSN}{afii10044,urw-cyrHARDsign,mt-Jerr} -\galias{CYRERY}{afii10045,urw-cyrYERU,mt-Jerui} -\galias{CYRSFTSN}{afii10046,urw-cyrSOFTsign,mt-Jher} -\galias{CYREREV}{afii10047,urw-cyrE,mt-E} -\galias{CYRYU}{afii10048,urw-cyrYU,mt-Ju} -\galias{CYRYA}{afii10049,urw-cyrYA,mt-Ja} -\galias{cyra}{afii10065,urw-cyra,mt-as} -\galias{cyrb}{afii10066,urw-cyrb,mt-buki} -\galias{cyrv}{afii10067,urw-cyrv,mt-wjedi} -\galias{cyrg}{afii10068,urw-cyrg,mt-glagol} -\galias{cyrd}{afii10069,urw-cyrd,mt-dobro} -\galias{cyre}{afii10070,urw-cyrye,mt-jehst} -\galias{cyrzh}{afii10072,urw-cyrzh,mt-schiwete} -\galias{cyrz}{afii10073,urw-cyrz,mt-semlja} -\galias{cyri}{afii10074,urw-cyri,mt-ische} -\galias{cyrishrt}{afii10075,urw-cyribreve,mt-ischedipthong} -\galias{cyrk}{afii10076,urw-cyrk,mt-kako} -\galias{cyrl}{afii10077,urw-cyrl,mt-ljudi} -\galias{cyrm}{afii10078,urw-cyrm,mt-muislette} -\galias{cyrn}{afii10079,urw-cyrn,mt-nasch} -\galias{cyro}{afii10080,urw-cyro,mt-on} -\galias{cyrp}{afii10081,urw-cyrp,mt-pakoy} -\galias{cyrr}{afii10082,urw-cyrr,mt-rzui} -\galias{cyrs}{afii10083,urw-cyrs,mt-ssiowo} -\galias{cyrt}{afii10084,urw-cyrt,mt-twerdo} -\galias{cyru}{afii10085,urw-cyru,mt-u} -\galias{cyrf}{afii10086,urw-cyrf,mt-fert} -\galias{cyrh}{afii10087,urw-cyrkh,mt-chherr} -\galias{cyrc}{afii10088,urw-cyrts,mt-zui} -\galias{cyrch}{afii10089,urw-cyrch,mt-tscherw} -\galias{cyrsh}{afii10090,urw-cyrsh,mt-scha} -\galias{cyrshch}{afii10091,urw-cyrshch,mt-schtscha} -\galias{cyrhrdsn}{afii10092,urw-cyrhardsign,mt-jerr} -\galias{cyrery}{afii10093,urw-cyryeru,mt-jerui} -\galias{cyrsftsn}{afii10094,urw-cyrsoftsign,mt-jher} -\galias{cyrerev}{afii10095,urw-cyre,mt-e} -\galias{cyryu}{afii10096,urw-cyryu,mt-ju} -\galias{cyrya}{afii10097,urw-cyrya,mt-ja} -\galias{cyryo}{afii10071,urw-cyryedieresis,mt-jehstdieresis} -\galias{cyrdje}{afii10099,urw-cyrty,mt-djsche} -\galias{cyrgje}{afii10100,urw-cyrgacute,mt-glagolmac} -\galias{cyrie}{afii10101,urw-cyrsovye,mt-ye} -\galias{cyrdze}{afii10102,urw-cyrdz,mt-zelo} -\galias{cyrii}{afii10103,urw-cyrsovi,mt-i} -\galias{cyryi}{afii10104,urw-cyrsovidieresis,mt-idieresis} -\galias{cyrje}{afii10105,urw-cyrj,mt-je} -\galias{cyrlje}{afii10106,urw-cyrly,mt-elj} -\galias{cyrnje}{afii10107,urw-cyrny,mt-nj} -\galias{cyrtshe}{afii10108,urw-cyrdy,mt-tjsche} -\galias{cyrkje}{afii10109,urw-cyrkacute,mt-kakoacute} -\galias{cyrushrt}{afii10110,urw-cyrubreve,mt-ubreve} -\galias{cyrdzhe}{afii10193,urw-cyrdzh,mt-dsche} -\galias{CYRYAT}{afii10146,mt-Jat} -\galias{cyryat}{afii10194,mt-jat} -\galias{CYRFITA}{afii10147,mt-Fita} -\galias{cyrfita}{afii10195,mt-fita} -\galias{CYRIZH}{afii10148,mt-Jschiza} -\galias{cyrizh}{afii10196,mt-jschiza} -\galias{CYRGUP}{afii10050,urw-cyrsovG} -\galias{cyrgup}{afii10098,urw-cyrsovg} -\galias{cyrschwa}{afii10846} -\galias{numero}{afii61352,urw-numero,mt-nosign} -%\galias{cyrlangle}{angleleft} -%\galias{cyrrangle}{angleright} -\galias{cyrvarg}{afii10063,mt-glagolserb} -\galias{cyrvarb}{afii10064,mt-bukiserb} -\galias{cyrvard}{afii10192,mt-dobroserb} -\galias{cyrvarp}{afii10831,mt-pakoyserb} -\galias{cyrvart}{afii10832,mt-twerdoserb} -\galias{CYRZHBULG}{mt-Schiwetebulg} -\galias{cyrzhbulg}{mt-schiwetebulg} -\galias{cyrvarf}{mt-fertserb} -\galias{cyrvarm}{mt-muisletteserb} -\galias{cyrvarzh}{mt-schiweteserb} -\galias{cyrvarv}{mt-wjediserb} -\galias{cyrvarc}{mt-zuiserb} - -% cyrillic acute vowel glyphs present in monotype fonts: -\galias{CYRAacute}{mt-Asacute} -\galias{CYREREVacute}{mt-Eacute} -\galias{CYRIacute}{mt-Ischeacute} -\galias{CYRYAacute}{mt-Jaacute} -\galias{CYREacute}{mt-Jehstacute} -\galias{CYRERYacute}{mt-Jeruiacute} -\galias{CYRYUacute}{mt-Juacute} -\galias{CYROacute}{mt-Onacute} -\galias{CYRUacute}{mt-Uacute} -\galias{CYRIEacute}{mt-Yeacute} -\galias{cyraacute}{mt-asacute} -\galias{cyrerevacute}{mt-eacute} -\galias{cyriacute}{mt-ischeacute} -\galias{cyryaacute}{mt-jaacute} -\galias{cyreacute}{mt-jehstacute} -\galias{cyreryacute}{mt-jeruiacute} -\galias{cyryuacute}{mt-juacute} -\galias{cyroacute}{mt-onacute} -\galias{cyruacute}{mt-uacute} -\galias{cyrieacute}{mt-yeacute} - -% ParaType Cyrillic Asian fonts (thanks to Anatoliy A. Malyarenko): -\galias{CYRCHVCRS}{cyrCHverticalbar,par1-cyrCHvbar,par2-CyrTchBar} -\galias{cyrchvcrs}{cyrchverticalbar,par1-cyrchvbar,par2-cyrTchBar} -\galias{CYRGHCRS}{cyrGbar,par1-cyrGbar,par2-CyrGCross} -\galias{cyrghcrs}{cyrgbar,par1-cyrgbar,par2-cyrGCross} -\galias{CYRHDSC}{cyrKHrightdesc,par1-cyrKHtail,par2-CyrXMark} -\galias{cyrhdsc}{cyrkhrightdesc,par1-cyrkhtail,par2-cyrXMark} -\galias{CYRKBEAK}{cyrreversedGK,par1-cyrKarm,par2-CyrKBack} -\galias{cyrkbeak}{cyrreversedgk,par1-cyrkarm,par2-cyrKBack} -\galias{CYRKDSC}{cyrKrightdesc,par1-cyrKtail,par2-CyrKMark} -\galias{cyrkdsc}{cyrkrightdesc,par1-cyrktail,par2-cyrKMark} -\galias{CYRKVCRS}{cyrKverticalbar,par1-cyrKvbar,par2-CyrKBar} -\galias{cyrkvcrs}{cyrkverticalbar,par1-cyrkvbar,par2-cyrKBar} -\galias{CYRNDSC}{cyrNrightdesc,par1-cyrNtail,par2-CyrHMark} -\galias{cyrndsc}{cyrnrightdesc,par1-cyrntail,par2-cyrHMark} -\galias{CYROTLD}{cyrObar,par1-cyrOE,par2-cyrOE} -\galias{cyrotld}{cyrobar,par1-cyroe,par2-cyroe} -\galias{CYRSCHWA}{cyrinvE,par1-cyrINVE,par2-CyrUpDnECap} -\galias{cyrschwa}{cyrinve,par1-cyrinve,par2-cyrUpDnE} -\galias{CYRSDSC}{cyrCtail,par1-cyrCtail,par2-CTail} -\galias{cyrsdsc}{cyrctail,par1-cyrctail,par2-cTail} -\galias{CYRSHHA}{cyrH,par1-cyrH,par2-CyrHCap} -\galias{cyrshha}{cyrh,par1-cyrh,par2-cyrHCap} -\galias{CYRY}{cyrstraightU,par1-cyrUE,par2-CyrCloseY} -\galias{cyry}{cyrstraightu,par1-cyrue,par2-cyrCloseY} -\galias{CYRYHCRS}{cyrstraightUbar,par1-cyrUEbar,par2-CyrCloseYCross} -\galias{cyryhcrs}{cyrstraightubar,par1-cyruebar,par2-cyrCloseYCross} -\galias{CYRZDSC}{cyrZtail,par1-cyrZtail,par2-Cyr3Tail} -\galias{cyrzdsc}{cyrztail,par1-cyrztail,par2-cyr3Tail} -\galias{CYRZHDSC}{cyrZHrightdesc,par1-cyrZHtail,par2-CyrZhMark} -\galias{cyrzhdsc}{cyrzhrightdesc,par1-cyrzhtail,par2-cyrZhMark} - -% ParaType's ITC New Baskerville Roman Expert SmallCaps Cyrillic: -\galias{CYRGJEsmall}{afii10052s} -\galias{CYRDJEsmall}{afii10051s} -\galias{CYRLJEsmall}{afii10058s} -\galias{CYRNJEsmall}{afii10059s} -\galias{CYRKJEsmall}{afii10061s} -\galias{CYRTSHEsmall}{afii10060s} -\galias{CYRDZHEsmall}{afii10145s} -\galias{CYRUSHRTsmall}{afii10062s} -\galias{CYRIIsmall}{afii10055s} -\galias{CYRGUPsmall}{afii10050s} -\galias{CYRYOsmall}{afii10023s} -\galias{CYRIEsmall}{afii10053s} -\galias{CYRJEsmall}{afii10057s} -\galias{CYRDZEsmall}{afii10054s} -\galias{CYRYIsmall}{afii10056s} -\galias{CYRAsmall}{afii10017s} -\galias{CYRBsmall}{afii10018s} -\galias{CYRVsmall}{afii10019s} -\galias{CYRGsmall}{afii10020s} -\galias{CYRDsmall}{afii10021s} -\galias{CYREsmall}{afii10022s} -\galias{CYRZHsmall}{afii10024s} -\galias{CYRZsmall}{afii10025s} -\galias{CYRIsmall}{afii10026s} -\galias{CYRISHRTsmall}{afii10027s} -\galias{CYRKsmall}{afii10028s} -\galias{CYRLsmall}{afii10029s} -\galias{CYRMsmall}{afii10030s} -\galias{CYRNsmall}{afii10031s} -\galias{CYROsmall}{afii10032s} -\galias{CYRPsmall}{afii10033s} -\galias{CYRRsmall}{afii10034s} -\galias{CYRSsmall}{afii10035s} -\galias{CYRTsmall}{afii10036s} -\galias{CYRUsmall}{afii10037s} -\galias{CYRFsmall}{afii10038s} -\galias{CYRHsmall}{afii10039s} -\galias{CYRCsmall}{afii10040s} -\galias{CYRCHsmall}{afii10041s} -\galias{CYRSHsmall}{afii10042s} -\galias{CYRSHCHsmall}{afii10043s} -\galias{CYRHRDSNsmall}{afii10044s} -\galias{CYRERYsmall}{afii10045s} -\galias{CYRSFTSNsmall}{afii10046s} -\galias{CYREREVsmall}{afii10047s} -\galias{CYRYUsmall}{afii10048s} -\galias{CYRYAsmall}{afii10049s} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex deleted file mode 100644 index c49df3c04bd..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex +++ /dev/null @@ -1,38 +0,0 @@ -\needsfontinstversion{1.926} -\fontinstcc - -\let\charnameprefix\empty -\def\charnamealias#1{% - \@ifundefined{GN@\charnameprefix#1}% - {\@ifundefined{GN@#1}{#1}{\csname GN@#1\endcsname}}% was just {#1} - {\csname GN@\charnameprefix#1\endcsname}} -\def\init_cc#1{% - \out_line{\string\setglyph{\charnamealias{#1}}} - \edef\char_name{\charnamealias{#1}} -} -\list_def{N}(#1){\edef\char_name{\charnamealias{#1}}} -\afm_def{KP}(#1~#2~#3~#4){ - \if\first_char#1=.\else - \if\first_char#2=.\else - \afm_length\a_count{#3} - \ifnum \a_count>\minimum_kern - \out_line{\string\setkern{\charnamealias{#1}}{\charnamealias{#2}}{\the\a_count}} - \else\ifnum \a_count<-\minimum_kern - \out_line{\string\setkern{\charnamealias{#1}}{\charnamealias{#2}}{\the\a_count}} - \fi\fi - \fi\fi -} -\afm_let{KPX}{KP} - -\def\galias#1#2{\def\temp@a{#1}% - \@for\temp@b:=#2\do{\expandafter\let\csname GN@\temp@b\endcsname\temp@a}} -\def\aliasfonts#1#2#3{% - \def\charnameprefix{#1}% - \@for\temp@font:=#3\do - {\afmtomtx{#2\temp@font}{#2\temp@font}\mtxtopl{#2\temp@font}{#2\temp@font}}% - \let\charnameprefix\empty -} - -\normalcc - -\endinput diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc deleted file mode 100644 index ef0ca64104c..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# sample usage: -# showenc T2A -# showenc OT1 '\setint{monowidth}{1}' - -latex << EOF | perl -ne 'next if (!s/^SLOT: //); s,\n,\0,; $q.=$_; - END { $_=$q; s,\0\[LIG] ([^\0]*), L $1,g; s,\0,\n,g; print }' -\input fontinst.sty -\catcode\`\_=11 -$2 -\def\setint#1#2{} -\def\setslot#1{\edef\slot_name{#1}\do_slot - \typeout{SLOT: \the\slot_number\space\slot_name\space;}} -\def\ligature#1#2#3{\typeout{SLOT: [#1] #2 #3 ;}\vpl_ligature{#1}{#2}{#3}} -\inputetx{$1} -\bye -EOF -rm -f fontinst.log diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx deleted file mode 100644 index 3cc5a4772dc..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx +++ /dev/null @@ -1,347 +0,0 @@ -\relax - -\encoding - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} - -\nextslot{"80} - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\nextslot{"C4} - -\setslot{cyrdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{currency} - \comment{The international currency sign, `\textcurrency'.} -\endsetslot - -\nextslot{"E0} - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{\uc{CYRGUP}{cyrgup}} - \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.} -\endsetslot - -\setslot{\lc{CYRGUP}{cyrgup}} - \comment{Cyrillic small letter ghe with upturn `\cyrgup'.} -\endsetslot - -\setslot{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.} -\endsetslot - -\setslot{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ukrainian ie `\cyrie'.} -\endsetslot - -\setslot{\uc{CYRII}{cyrii}} - \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.} -\endsetslot - -\setslot{\lc{CYRII}{cyrii}} - \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.} -\endsetslot - -\setslot{\uc{CYRYI}{cyryi}} - \comment{Cyrillic capital letter yi `\CYRYI'.} -\endsetslot - -\setslot{\lc{CYRYI}{cyryi}} - \comment{Cyrillic small letter yi `\cyryi'.} -\endsetslot - -\setslot{\uc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic capital letter short u `\CYRUSHRT'.} -\endsetslot - -\setslot{\lc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic small letter short u `\cyrushrt'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{quotedblbase} - \comment{A German double quote mark `\quotedblbase' similar to two commas, - but with tighter letterspacing and different sidebearings.} -\endsetslot - -\endencoding diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx deleted file mode 100644 index 783b87d4bbb..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx +++ /dev/null @@ -1,815 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[LCY]{fontenc} -\usepackage{fontdoc} - -\title{The \TeX\ Cyrillic LCY text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{15 October 1998\\ -Version 0.1} - -\begin{document} -\maketitle - -\section{Introduction} - -This document describes the \TeX\ text Cyrillic (LCY) encoding. It is -an 8-bit extension of the OT1 encoding, so the first 128 slots fully -coincide with OT1, and this part of file was taken from `ot1.etx' by -Alan Jeffrey and Ulrik Vieth. This font encoding is not standard (as -follows from it's name), but is important e.g.\ for Plain TeX-based -macro packages for Cyrillic typesetting. This encoding is close to the -so-called `New Alternative Variant' of the Microsoft MS-DOS cp866 -Cyrillic encoding, and supports at least Russian, Ukrainian and -Byelorussian glyph repertory. - -To use this encoding, you should define the following macros: -\begin{itemize} -\item \verb|\lc{A}{a}| should return the name of a lower-case - glyph, for example `{\tt a}' or `{\tt Asmall}'. - -\item \verb|\uc{A}{a}| should return the name of an upper-case - glyph, for example `{\tt A}' or `{\tt Amedium}'. - -\item \verb|\lclig{FI}{fi}| should return the name of a lower-case - ligature, for example `{\tt fi}' or `{\tt FIsmall}'. - -\item \verb|\uclig{FI}{fi}| should return the name of an upper-case - ligature, for example `{\tt FI}' or `{\tt FImedium}'. - -\item \verb|\digit{zero}| should return the name of a digit, for - example `{\tt zero}' or `{\tt zerooldstyle}'. - -\item \verb|\tty| should be `y' if the encoding is \TeX\ typewriter - (cmtt) encoding, and `n' otherwise. - -\item \verb|\currency| should be the name of the currency glyph, either - `sterling' or `dollar'. -\end{itemize} -These should all expand in the mouth, otherwise you may get error -messages! - -For example, to get the standard upper and lower case font, you should -define: -\begin{verbatim} - \setcommand\lc#1#2{#2} - \setcommand\uc#1#2{#1} - \setcommand\lclig#1#2{#2} - \setcommand\uclig#1#2{#1} - \setcommand\digit#1{#1} - \setcommand\tty{n} - \setcommand\currency{dollar} -\end{verbatim} -To get a caps and small caps font with old style digits and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1small} - \setcommand\uc#1#2{#1} - \setcommand\lclig#1#2{#2small} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1oldstyle} - \setcommand\tty{n} - \setcommand\currency{dollar} -\end{verbatim} -To get an all-caps font with medium-cap composite letters and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1} - \setcommand\uc#1#2{#1} - \setcommand\lclig#1#2{#1spaced} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1} - \setcommand\tty{n} - \setcommand\currency{dollar} -\end{verbatim} -This document describes the upper and lower case encoding. - -\encoding - -\needsfontinstversion{1.800} - - -\comment{\section{Default values}} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} -\ifisint{monowidth}\then - \setcommand\tty{y} -\else - \setcommand\tty{n} -\fi -\setcommand\currency{dollar} - -\if \tty y - \setstr{codingscheme}{TEX CYRILLIC TYPEWRITER TEXT} -\else - \setstr{codingscheme}{TEX CYRILLIC TEXT} -\fi - -\setint{italicslant}{0} - -\ifisglyph{x}\then - \setint{xheight}{\height{x}} -\else - \setint{xheight}{500} -\fi - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - - -\comment{\section{Default font dimensions}} - -\setint{fontdimen(1)}{\int{italicslant}} % italic slant -\setint{fontdimen(2)}{\int{interword}} % interword space -\ifisint{monowidth}\then - \setint{fontdimen(3)}{0} % interword stretch - \setint{fontdimen(4)}{0} % interword shrink -\else - \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch - \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink -\fi -\setint{fontdimen(5)}{\int{xheight}} % x-height -\setint{fontdimen(6)}{1000} % quad -\ifisint{monowidth}\then - \setint{fontdimen(7)}{\int{interword}} % extra space after . -\else - \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after . -\fi - -\comment{\section{The encoding} - There are 130 glyphs in this encoding. 128 of these are in Knuth's CM - encoding, and the other two are `\l' and `\L', which are composite - letters in CM, but are single glyphs in almost every other font.} - -\setslot{Gamma} - \comment{The greek letter `$\Gamma$'.} -\endsetslot - -\setslot{Delta} - \comment{The greek letter `$\Delta$'.} -\endsetslot - -\setslot{Theta} - \comment{The greek letter `$\Theta$'.} -\endsetslot - -\setslot{Lambda} - \comment{The greek letter `$\Lambda$'.} -\endsetslot - -\setslot{Xi} - \comment{The greek letter `$\Xi$'.} -\endsetslot - -\setslot{Pi} - \comment{The greek letter `$\Pi$'.} -\endsetslot - -\setslot{Sigma} - \comment{The greek letter `$\Sigma$'.} -\endsetslot - -\setslot{Upsilon} - \comment{The greek letter `$\Upsilon$' named `Upsilon1' by Adobe.} -\endsetslot - -\setslot{Phi} - \comment{The greek letter `$\Phi$'.} -\endsetslot - -\setslot{Psi} - \comment{The greek letter `$\Psi$'.} -\endsetslot - -\setslot{Omega} - \comment{The greek letter `$\Omega$'.} -\endsetslot - -\if \tty y - -\setslot{arrowup} - \comment{An upwards-facing arrow `$\uparrow$'.} -\endsetslot - -\setslot{arrowdown} - \comment{A downwards-facing arrow `$\downarrow$'.} -\endsetslot - -\setslot{quotesingle} - \comment{The `neutral' single quotation mark `{\tt\char`\'}', for use - with monowidth fonts.} -\endsetslot - -\setslot{exclamdown} - \comment{The Spanish punctuation mark `!`'.} -\endsetslot - -\setslot{questiondown} - \comment{The Spanish punctuation mark `?`'.} -\endsetslot - -\else - -\setslot{\lclig{FF}{ff}} - \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}} - \comment{The `ff' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FI}{fi}} - \comment{The `fi' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FL}{fl}} - \comment{The `fl' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFI}{ffi}} - \comment{The `ffi' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFL}{ffl}} - \comment{The `ffl' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\fi - -\setslot{\lc{dotlessI}{dotlessi}} - \comment{A dotless i `\i', used to produce accented letters such as - `\=\i'.} -\endsetslot - -\setslot{\lc{dotlessJ}{dotlessj}} - \comment{A dotless j `\j', used to produce accented letters such as - `\=\j'. Most non-\TeX\ fonts do not have this glyph.} -\endsetslot - -\setslot{grave} - \comment{The grave accent `\`a'.} -\endsetslot - -\setslot{acute} - \comment{The acute accent `\'a'.} -\endsetslot - -\setslot{caron} - \comment{The caron or h\'a\v cek accent `\v a'.} -\endsetslot - -\setslot{breve} - \comment{The breve accent `\u a'.} -\endsetslot - -\setslot{macron} - \comment{The macron accent `\=a'.} -\endsetslot - -\setslot{ringfitted} - \comment{The ring accent `\aa', fitted to be the same width as an - upper case `A'.} -\endsetslot - -\setslot{cedilla} - \comment{The cedilla accent `\c a'.} -\endsetslot - -\setslot{\lc{SS}{germandbls}} - \comment{The letter `\ss'.} -\endsetslot - -\setslot{\lc{AE}{ae}} - \comment{The letter `\ae'. This is a single letter, and should not be - faked with `ae'.} -\endsetslot - -\setslot{\lc{OE}{oe}} - \comment{The letter `\oe'. This is a single letter, and should not be - faked with `oe'.} -\endsetslot - -\setslot{\lc{Oslash}{oslash}} - \comment{The letter `\o'.} -\endsetslot - -\setslot{\uc{AE}{ae}} - \comment{The letter `\AE'. This is a single letter, and should not be - faked with `AE'.} -\endsetslot - -\setslot{\uc{OE}{oe}} - \comment{The letter `\OE'. This is a single letter, and should not be - faked with `OE'.} -\endsetslot - -\setslot{\uc{Oslash}{oslash}} - \comment{The letter `\o'.} -\endsetslot - -\if \tty y - -\setslot{visiblespace} - \comment{A visible space glyph `{\tt\char`\ }'.} -\endsetslot - -\else - -\setslot{lslashslash} -% \ligature{LIG}{\lc{L}{l}}{\lc{Lslash}{lslash}} -% \ligature{LIG}{\uc{L}{l}}{\uc{Lslash}{lslash}} - \comment{The slash used to make `\l' and `\L'. Since most fonts do - not have a separate glyph for this, I've added ligatures to `\l' - and `\L'.} -\endsetslot - -\fi - -\setslot{exclam} - \ligature{LIG}{quoteleft}{exclamdown} - \comment{The exclamation mark `!'.} -\endsetslot - -\if \tty y - -\setslot{quotedbl} - \comment{The `neutral' quotation mark `{\tt\char`\"}', included for - use in monowidth fonts, or for setting computer programs.} -\endsetslot - -\else - -\setslot{quotedblright} - \comment{An English double closing quote mark `\,''\,'.} -\endsetslot - -\fi - -\setslot{numbersign} - \comment{The hash sign `\#'.} -\endsetslot - -\setslot{\currency} - \comment{Either the dollar sign `\$' or the pound sign `\pounds', - depending on the font.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{ampersand} - \comment{The ampersand sign `\&'.} -\endsetslot - -\setslot{quoteright} - \if \tty y \else \ligature{LIG}{quoteright}{quotedblright} \fi - \comment{The English closing quotation mark `\,'\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{plus} - \comment{The addition sign `+'.} -\endsetslot - -\setslot{comma} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \if \tty y \else \ligature{LIG}{hyphen}{rangedash} \fi - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The full point `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number zero `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number one `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number two `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number three `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number four `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number five `5'.} -\endsetslot - -\setslot{\digit{six}} - \comment{The number six `6'.} -\endsetslot - -\setslot{\digit{seven}} - \comment{The number seven `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number eight `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number nine `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\if \tty y - -\setslot{less} - \ligature{LIG}{less}{guillemotleft} - \comment{The less-than sign `$<$'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{greater} - \ligature{LIG}{greater}{guillemotright} - \comment{The greater-than sign `$>$'.} -\endsetslot - -\else - -\setslot{exclamdown} - \comment{The Spanish punctuation mark `!`'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{questiondown} - \comment{The Spanish punctuation mark `?`'.} -\endsetslot - -\fi - -\setslot{question} - \ligature{LIG}{quoteleft}{questiondown} - \comment{The question mark `?'.} -\endsetslot - -\setslot{at} - \comment{The at sign `@'.} -\endsetslot - -\setslot{\uc{A}{a}} - \comment{The letter `{A}'.} -\endsetslot - -\setslot{\uc{B}{b}} - \comment{The letter `{B}'.} -\endsetslot - -\setslot{\uc{C}{c}} - \comment{The letter `{C}'.} -\endsetslot - -\setslot{\uc{D}{d}} - \comment{The letter `{D}'.} -\endsetslot - -\setslot{\uc{E}{e}} - \comment{The letter `{E}'.} -\endsetslot - -\setslot{\uc{F}{f}} - \comment{The letter `{F}'.} -\endsetslot - -\setslot{\uc{G}{g}} - \comment{The letter `{G}'.} -\endsetslot - -\setslot{\uc{H}{h}} - \comment{The letter `{H}'.} -\endsetslot - -\setslot{\uc{I}{i}} - \comment{The letter `{I}'.} -\endsetslot - -\setslot{\uc{J}{j}} - \comment{The letter `{J}'.} -\endsetslot - -\setslot{\uc{K}{k}} - \comment{The letter `{K}'.} -\endsetslot - -\setslot{\uc{L}{l}} - \comment{The letter `{L}'.} -\endsetslot - -\setslot{\uc{M}{m}} - \comment{The letter `{M}'.} -\endsetslot - -\setslot{\uc{N}{n}} - \comment{The letter `{N}'.} -\endsetslot - -\setslot{\uc{O}{o}} - \comment{The letter `{O}'.} -\endsetslot - -\setslot{\uc{P}{p}} - \comment{The letter `{P}'.} -\endsetslot - -\setslot{\uc{Q}{q}} - \comment{The letter `{Q}'.} -\endsetslot - -\setslot{\uc{R}{r}} - \comment{The letter `{R}'.} -\endsetslot - -\setslot{\uc{S}{s}} - \comment{The letter `{S}'.} -\endsetslot - -\setslot{\uc{T}{t}} - \comment{The letter `{T}'.} -\endsetslot - -\setslot{\uc{U}{u}} - \comment{The letter `{U}'.} -\endsetslot - -\setslot{\uc{V}{v}} - \comment{The letter `{V}'.} -\endsetslot - -\setslot{\uc{W}{w}} - \comment{The letter `{W}'.} -\endsetslot - -\setslot{\uc{X}{x}} - \comment{The letter `{X}'.} -\endsetslot - -\setslot{\uc{Y}{y}} - \comment{The letter `{Y}'.} -\endsetslot - -\setslot{\uc{Z}{z}} - \comment{The letter `{Z}'.} -\endsetslot - -\setslot{bracketleft} - \comment{The opening square bracket `['.} -\endsetslot - -\if \tty y - -\setslot{backslash} - \comment{The backwards oblique `$\backslash$'.} -\endsetslot - -\else - -\setslot{quotedblleft} - \comment{An English double opening quote mark `\,``\,'.} -\endsetslot - -\fi - -\setslot{bracketright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{circumflex} - \comment{The circumflex accent `\^ a'.} -\endsetslot - -\if \tty y - -\setslot{underscore} - \comment{The ASCII underline character `{\tt\char`\_}', usually set on - the baseline.} -\endsetslot - -\else - -\setslot{dotaccent} - \comment{The dot accent `\.a'.} -\endsetslot - -\fi - -\setslot{quoteleft} - \if \tty y \else \ligature{LIG}{quoteleft}{quotedblleft} \fi - \comment{The English opening single quotation mark `\,`\,'.} -\endsetslot - -\setslot{\lc{A}{a}} - \comment{The letter `{a}'.} -\endsetslot - -\setslot{\lc{B}{b}} - \comment{The letter `{b}'.} -\endsetslot - -\setslot{\lc{C}{c}} - \comment{The letter `{c}'.} -\endsetslot - -\setslot{\lc{D}{d}} - \comment{The letter `{d}'.} -\endsetslot - -\setslot{\lc{E}{e}} - \comment{The letter `{e}'.} -\endsetslot - -\setslot{\lc{F}{f}} -\if \tty y \else - \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}} - \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}} -\fi - \comment{The letter `{f}'.} -\endsetslot - -\setslot{\lc{G}{g}} - \comment{The letter `{g}'.} -\endsetslot - -\setslot{\lc{H}{h}} - \comment{The letter `{h}'.} -\endsetslot - -\setslot{\lc{I}{i}} - \comment{The letter `{i}'.} -\endsetslot - -\setslot{\lc{J}{j}} - \comment{The letter `{j}'.} -\endsetslot - -\setslot{\lc{K}{k}} - \comment{The letter `{k}'.} -\endsetslot - -\setslot{\lc{L}{l}} - \comment{The letter `{l}'.} -\endsetslot - -\setslot{\lc{M}{m}} - \comment{The letter `{m}'.} -\endsetslot - -\setslot{\lc{N}{n}} - \comment{The letter `{n}'.} -\endsetslot - -\setslot{\lc{O}{o}} - \comment{The letter `{o}'.} -\endsetslot - -\setslot{\lc{P}{p}} - \comment{The letter `{p}'.} -\endsetslot - -\setslot{\lc{Q}{q}} - \comment{The letter `{q}'.} -\endsetslot - -\setslot{\lc{R}{r}} - \comment{The letter `{r}'.} -\endsetslot - -\setslot{\lc{S}{s}} - \comment{The letter `{s}'.} -\endsetslot - -\setslot{\lc{T}{t}} - \comment{The letter `{t}'.} -\endsetslot - -\setslot{\lc{U}{u}} - \comment{The letter `{u}'.} -\endsetslot - -\setslot{\lc{V}{v}} - \comment{The letter `{v}'.} -\endsetslot - -\setslot{\lc{W}{w}} - \comment{The letter `{w}'.} -\endsetslot - -\setslot{\lc{X}{x}} - \comment{The letter `{x}'.} -\endsetslot - -\setslot{\lc{Y}{y}} - \comment{The letter `{y}'.} -\endsetslot - -\setslot{\lc{Z}{z}} - \comment{The letter `{z}'.} -\endsetslot - -\if \tty y - -\setslot{braceleft} - \comment{The opening curly brace `\{'.} -\endsetslot - -\setslot{bar} - \comment{The ASCII vertical bar `$|$'. This is - included for compatibility with typewriter fonts used for computer - listings.} -\endsetslot - -\setslot{braceright} - \comment{The closing curly brace `\}'.} -\endsetslot - -\else - -\setslot{rangedash} - \ligature{LIG}{hyphen}{punctdash} - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{punctdash} - \comment{The punctuation dash `Oh---boy.' In a monowidth font, this - might be set as `{\tt Oh{-}{-}boy.}'} -\endsetslot - -\setslot{hungarumlaut} - \comment{The long Hungarian umlaut `\H a'.} -\endsetslot - -\fi - -\setslot{tilde} - \comment{The tilde accent `\~a'.} -\endsetslot - -\setslot{dieresis} - \comment{The umlaut or dieresis accent `\"a'.} -\endsetslot - -\comment{\subsection{Cyrillic part of the LCY encoding} - It can be used also as a separate encoding (LCY-hi) to build - virtual fonts.} - -\inputetx{LCY-hi} - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx deleted file mode 100644 index 3677b80a555..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx +++ /dev/null @@ -1,703 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[OT2,OT1]{fontenc} -\usepackage{fontdoc} -\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{OT2}{#1}}\textquoteright} - -\title{The \TeX\ Cyrillic OT2 text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{15 December 1999\\ -Version 0.3} - -\begin{document} -\maketitle -\section{Introduction} - -This document describes the \TeX\ Cyrillic OT2 encoding vector, -which is used e.~g.\ in AMS Washington Cyrillic fonts (wncy*), -and in LH Cyrillic fonts (wn*). - -Ligatures fully correspond to wncy* fonts. - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -% a hook to suppress WN ligatures (cf. WL fonts at CTAN:fonts/amsfonts/cyr-alt) -\ifx\wnlig\undefined\def\wnlig{\ligature}\fi - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\digit#1{#1} -\ifisint{monowidth}\then - \setcommand\tty{y} -\else - \setcommand\tty{n} -\fi - -\if \tty y - \setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - OT2tt} -\else - \setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - OT2} -\fi - -\setint{italicslant}{0} - -\ifisglyph{cyrh}\then - \setint{xheight}{\height{cyrh}} -\else - \setint{xheight}{500} -\fi - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{cyrii}\then - \setint{interword}{\width{cyrii}} -\else - \setint{interword}{333} -\fi\fi - -\comment{\section{Default font dimensions}} - -\setint{fontdimen(1)}{\int{italicslant}} % italic slant -\setint{fontdimen(2)}{\int{interword}} % interword space -\ifisint{monowidth}\then - \setint{fontdimen(3)}{0} % interword stretch - \setint{fontdimen(4)}{0} % interword shrink -\else - \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch - \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink -\fi -\setint{fontdimen(5)}{\int{xheight}} % x-height -\setint{fontdimen(6)}{1000} % quad -\ifisint{monowidth}\then - \setint{fontdimen(7)}{\int{interword}} % extra space after . -\else - \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after . -\fi - -\comment{\section{The encoding}} - -\setslot{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter nje `\CYRNJE'.} -\endsetslot - -\setslot{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter lje `\CYRLJE'.} -\endsetslot - -\setslot{\uc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic capital letter dzhe `\CYRDZHE'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRII}{cyrii}} - \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.} -\endsetslot - -\setslot{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.} -\endsetslot - -\setslot{\uc{CYRDJE}{cyrdje}} - \comment{Cyrillic capital letter dje `\CYRDJE'.} -\endsetslot - -\setslot{\uc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic capital letter tshe `\CYRTSHE'.} -\endsetslot - -\setslot{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter nje `\cyrnje'.} -\endsetslot - -\setslot{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter lje `\cyrlje'.} -\endsetslot - -\setslot{\lc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic small letter dzhe `\cyrdzhe'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRII}{cyrii}} - \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.} -\endsetslot - -\setslot{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ukrainian ie `\cyrie'.} -\endsetslot - -\setslot{\lc{CYRDJE}{cyrdje}} - \comment{Cyrillic small letter dje `\cyrdje'.} -\endsetslot - -\setslot{\lc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic small letter tshe `\cyrtshe'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{\uc{CYRIZH}{cyrizh}} - \comment{Cyrillic capital letter izhitsa `\CYRIZH'.} -\endsetslot - -\setslot{\uc{CYRFITA}{cyrfita}} - \comment{Cyrillic capital letter fita `\CYRFITA'.} -\endsetslot - -\setslot{\uc{CYRDZE}{cyrdze}} - \comment{Cyrillic capital letter dze `\CYRDZE'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{\lc{CYRIZH}{cyrizh}} - \comment{Cyrillic small letter izhitsa `\cyrizh'.} -\endsetslot - -\setslot{\lc{CYRFITA}{cyrfita}} - \comment{Cyrillic small letter fita `\cyrfita'.} -\endsetslot - -\setslot{\lc{CYRDZE}{cyrdze}} - \comment{Cyrillic small letter dze `\cyrdze'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\setslot{\lc{Dieresis}{dieresis}} - \comment{The umlaut or dieresis accent `\"{}'.} -\endsetslot - -\setslot{exclam} - \comment{The exclamation mark `!'.} -\endsetslot - -\if \tty y - -\setslot{quotedbl} - \comment{The `neutral' quotation mark `{\tt"}', included for - use in monowidth fonts, or for setting computer programs.} -\endsetslot - -\else - -\setslot{quotedblright} - \comment{The English closing quote mark `\,\textquotedblright\,'.} -\endsetslot - -\fi - -\setslot{\uc{CYRYAT}{cyryat}} - \comment{Cyrillic capital letter yat `\CYRYAT'.} -\endsetslot - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{Cyrillic breve `\U{}'.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{\lc{Acute}{acute}} - \comment{The acute accent `\'{}'.} -\endsetslot - -\setslot{quoteright} - \if \tty y \else \ligature{LIG}{quoteright}{quotedblright} \fi - \comment{The English closing single quote mark `\,\textquoteright\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{\lc{CYRYAT}{cyryat}} - \comment{Cyrillic small letter yat `\cyryat'.} -\endsetslot - -\setslot{comma} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \ligature{LIG}{hyphen}{endash} - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The period `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number `5'.} -\endsetslot - -\setslot{\digit{six}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRSHCH}{cyrshch}} - \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRSHCH}{cyrshch}} - \comment{The number `6'.} -\endsetslot - -\setslot{\digit{seven}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRSHCH}{cyrshch}} - \comment{The number `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{\lc{dotlessI}{dotlessi}} - \comment{A dotless i `\i', used to produce accented letters such as - `\=\i'.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{question} - \comment{The question mark `?'.} -\endsetslot - -\setslot{\lc{Breve}{breve}} - \comment{The breve accent `\u{}'.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \wnlig{LIG}{\digit{one}}{\uc{CYRTSHE}{cyrtshe}} - \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRCH}{cyrch}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \wnlig{LIG}{\digit{one}}{\uc{CYRDJE}{cyrdje}} - \wnlig{LIG}{\digit{two}}{\uc{CYRDZHE}{cyrdzhe}} - \wnlig{LIG}{\digit{three}}{\uc{CYRDZE}{cyrdze}} - \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRDJE}{cyrdje}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRDJE}{cyrdje}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \wnlig{LIG}{\digit{zero}}{\uc{CYRYO}{cyryo}} - \wnlig{LIG}{\digit{one}}{\uc{CYREREV}{cyrerev}} - \wnlig{LIG}{\digit{two}}{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \wnlig{LIG}{\digit{zero}}{\uc{CYRISHRT}{cyrishrt}} - \wnlig{LIG}{\digit{one}}{\uc{CYRII}{cyrii}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRJE}{cyrje}} - \wnlig{LIG}{\digit{one}}{\uc{CYRYA}{cyrya}} - \wnlig{LIG}{\digit{two}}{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter je `\CYRJE'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRH}{cyrh}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \wnlig{LIG}{\digit{one}}{\uc{CYRLJE}{cyrlje}} - \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRLJE}{cyrlje}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \wnlig{LIG}{\digit{zero}}{numero} - \wnlig{LIG}{\digit{one}}{\uc{CYRNJE}{cyrnje}} - \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRNJE}{cyrnje}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \wnlig{LIG}{\digit{one}}{\uc{CYRSFTSN}{cyrsftsn}} - \wnlig{LIG}{\digit{two}}{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRSH}{cyrsh}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \wnlig{LIG}{\uc{CYRS}{cyrs}}{\uc{CYRC}{cyrc}} - \wnlig{LIG}{\lc{CYRS}{cyrs}}{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \wnlig{LIG}{\uc{CYRCH}{cyrch}}{\uc{CYRSHCH}{cyrshch}} - \wnlig{LIG}{\lc{CYRCH}{cyrch}}{\uc{CYRSHCH}{cyrshch}} - \wnlig{LIG}{\uc{CYRC}{cyrc}}{\digit{six}} - \wnlig{LIG}{\lc{CYRC}{cyrc}}{\digit{six}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \wnlig{LIG}{\uc{CYRA}{cyra}}{\uc{CYRYA}{cyrya}} - \wnlig{LIG}{\lc{CYRA}{cyra}}{\uc{CYRYA}{cyrya}} - \wnlig{LIG}{\uc{CYRU}{cyru}}{\uc{CYRYU}{cyryu}} - \wnlig{LIG}{\lc{CYRU}{cyru}}{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \wnlig{LIG}{\digit{one}}{\uc{CYRZH}{cyrzh}} - \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRZH}{cyrzh}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{bracketleft} - \wnlig{LIG}{bracketleft}{guillemotleft} - \comment{The opening square bracket `['.} -\endsetslot - -\if \tty y - -\setslot{backslash} - \comment{The backwards oblique `\textbackslash'.} -\endsetslot - -\else - -\setslot{quotedblleft} - \comment{The English opening quote mark `\,\textquotedblleft\,'.} -\endsetslot - -\fi - -\setslot{bracketright} - \wnlig{LIG}{bracketright}{guillemotright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{quoteleft} - \if \tty y \else \wnlig{LIG}{quoteleft}{quotedblleft} \fi - \comment{The English opening single quote mark `\,\textquoteleft\,'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \wnlig{LIG}{\digit{one}}{\lc{CYRTSHE}{cyrtshe}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \wnlig{LIG}{\digit{one}}{\lc{CYRDJE}{cyrdje}} - \wnlig{LIG}{\digit{two}}{\lc{CYRDZHE}{cyrdzhe}} - \wnlig{LIG}{\digit{three}}{\lc{CYRDZE}{cyrdze}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRDJE}{cyrdje}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \wnlig{LIG}{\digit{zero}}{\lc{CYRYO}{cyryo}} - \wnlig{LIG}{\digit{one}}{\lc{CYREREV}{cyrerev}} - \wnlig{LIG}{\digit{two}}{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \wnlig{LIG}{\digit{zero}}{\lc{CYRISHRT}{cyrishrt}} - \wnlig{LIG}{\digit{one}}{\lc{CYRII}{cyrii}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRJE}{cyrje}} - \wnlig{LIG}{\digit{one}}{\lc{CYRYA}{cyrya}} - \wnlig{LIG}{\digit{two}}{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter je `\cyrje'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \wnlig{LIG}{\digit{one}}{\lc{CYRLJE}{cyrlje}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \wnlig{LIG}{\digit{one}}{\lc{CYRNJE}{cyrnje}} - \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \wnlig{LIG}{\digit{one}}{\lc{CYRSFTSN}{cyrsftsn}} - \wnlig{LIG}{\digit{two}}{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \wnlig{LIG}{\lc{CYRS}{cyrs}}{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \wnlig{LIG}{\lc{CYRCH}{cyrch}}{\lc{CYRSHCH}{cyrshch}} - \wnlig{LIG}{\lc{CYRC}{cyrc}}{\digit{seven}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \wnlig{LIG}{\lc{CYRA}{cyra}}{\lc{CYRYA}{cyrya}} - \wnlig{LIG}{\lc{CYRU}{cyru}}{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \wnlig{LIG}{\digit{one}}{\lc{CYRZH}{cyrzh}} - \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{endash} - \if \tty y \else \ligature{LIG}{hyphen}{emdash} \fi - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{emdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx deleted file mode 100644 index 00ebb267b11..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx +++ /dev/null @@ -1,1284 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[T2A]{fontenc} -\usepackage{fontdoc} - -\title{The \TeX\ Cyrillic T2A text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{17 July 1998\\ -Version 0.1} - -\begin{document} - -\maketitle - -\section{Introduction} - -This document describes the Cyrillic T2A text encoding. -The latin part of this file is based on `t1.etx' by -Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth. - -To use this encoding, you should define the following macros: -\begin{itemize} -\item \verb|\lc{A}{a}| should return the name of a lower-case - glyph, for example `{\tt a}' or `{\tt Asmall}'. - -\item \verb|\uc{A}{a}| should return the name of an upper-case - glyph, for example `{\tt A}' or `{\tt Amedium}'. - -\item \verb|\lctop{Aacute}{aacute}| should return the name of a - lower-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'. - -\item \verb|\uctop{Aacute}{aacute}| should return the name of an - upper-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'. - -\item \verb|\lclig{FI}{fi}| should return the name of a lower-case - ligature, for example `{\tt fi}' or `{\tt FIsmall}'. - -\item \verb|\uclig{FI}{fi}| should return the name of an upper-case - ligature, for example `{\tt FI}' or `{\tt FImedium}'. - -\item \verb|\digit{zero}| should return the name of a digit, for - example `{\tt zero}' or `{\tt zerooldstyle}'. -\end{itemize} -These should all expand in the mouth, otherwise you may get error -messages! - -For example, to get the standard upper and lower case font, you should -define: -\begin{verbatim} - \setcommand\lc#1#2{#2} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#2} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2} - \setcommand\uclig#1#2{#1} - \setcommand\digit#1{#1} -\end{verbatim} -To get a caps and small caps font with old style digits and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1small} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1small} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2small} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1oldstyle} -\end{verbatim} -To get an all-caps font with medium-cap composite letters and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1medium} - \setcommand\uctop#1#2{#1medium} - \setcommand\lclig#1#2{#1spaced} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1} -\end{verbatim} -This document describes the upper and lower case encoding. - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2A} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\setint{italicslant}{0} - -\ifisglyph{x}\then - \setint{xheight}{\height{x}} -\else - \setint{xheight}{500} -\fi - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> -% 1997/02/07 to calculate values for extra EC fontdimens -% Amended by SPQR 1997/02/09 -\ifisglyph{X}\then - \setint{capheight}{\height{X}} -\else - \setint{capheight}{750} -\fi - -\ifisglyph{d}\then - \setint{ascender}{\height{d}} -\else - \ifisint{capheight}\then - \setint{ascender}{\int{capheight}} - \else - \setint{ascender}{750} -\fi\fi - -\ifisglyph{Aring}\then - \setint{acccapheight}{\height{Aring}} -\else - \setint{acccapheight}{999} -\fi - -\ifisint{descender_neg}\then - \setint{descender}{\neg{\int{descender_neg}}} - \else - \ifisglyph{p}\then - \setint{descender}{\depth{p}} - \else - \setint{descender}{250} - \fi -\fi - -\ifisglyph{Aring}\then - \setint{maxheight}{\height{Aring}} -\else - \setint{maxheight}{1000} -\fi - -\ifisint{maxdepth_neg}\then - \setint{maxdepth}{\neg{\int{maxdepth_neg}}} -\else - \ifisglyph{j}\then - \setint{maxdepth}{\depth{j}} - \else - \setint{maxdepth}{250} - \fi -\fi - -\ifisglyph{six}\then - \setint{digitwidth}{\width{six}} -\else - \setint{digitwidth}{500} -\fi - -\setint{capstem}{0} % not in AFM files -\setint{baselineskip}{1200} -% end changes by Thierry - - -\comment{\section{Default font dimensions}} - -\setint{fontdimen(1)}{\int{italicslant}} % italic slant -\setint{fontdimen(2)}{\int{interword}} % interword space -\ifisint{monowidth}\then - \setint{fontdimen(3)}{0} % interword stretch - \setint{fontdimen(4)}{0} % interword shrink -\else - \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch - \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink -\fi -\setint{fontdimen(5)}{\int{xheight}} % x-height -\setint{fontdimen(6)}{1000} % quad -\ifisint{monowidth}\then - \setint{fontdimen(7)}{\int{interword}} % extra space after . -\else - \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after . -\fi -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07 -\setint{fontdimen(8)}{\int{capheight}} % cap height -\setint{fontdimen(9)}{\int{ascender}} % ascender -\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height -\setint{fontdimen(11)}{\int{descender}} % descender's depth -\setint{fontdimen(12)}{\int{maxheight}} % max height -\setint{fontdimen(13)}{\int{maxdepth}} % max depth -\setint{fontdimen(14)}{\int{digitwidth}} % digit width -\setint{fontdimen(15)}{\int{capstem}} % cap_stem -\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip - - -\comment{\section{The encoding} - There are 256 glyphs in this encoding.} - -\setslot{\lc{Grave}{grave}} - \comment{The grave accent `\`{}'.} -\endsetslot - -\setslot{\lc{Acute}{acute}} - \comment{The acute accent `\'{}'.} -\endsetslot - -\setslot{\lc{Circumflex}{circumflex}} - \comment{The circumflex accent `\^{}'.} -\endsetslot - -\setslot{\lc{Tilde}{tilde}} - \comment{The tilde accent `\~{}'.} -\endsetslot - -\setslot{\lc{Dieresis}{dieresis}} - \comment{The umlaut or dieresis accent `\"{}'.} -\endsetslot - -\setslot{\lc{Hungarumlaut}{hungarumlaut}} - \comment{The long Hungarian umlaut `\H{}'.} -\endsetslot - -\setslot{\lc{Ring}{ring}} - \comment{The ring accent `\r{}'.} -\endsetslot - -\setslot{\lc{Caron}{caron}} - \comment{The caron or h\'a\v cek accent `\v{}'.} -\endsetslot - -\setslot{\lc{Breve}{breve}} - \comment{The breve accent `\u{}'.} -\endsetslot - -\setslot{\lc{Macron}{macron}} - \comment{The macron accent `\={}'.} -\endsetslot - -\setslot{\lc{Dotaccent}{dotaccent}} - \comment{The dot accent `\.{}'.} -\endsetslot - -\setslot{\lc{Cedilla}{cedilla}} - \comment{The cedilla accent `\c{}'.} -\endsetslot - -\setslot{\lc{Ogonek}{ogonek}} - \comment{The ogonek accent `\k{}'.} -\endsetslot - -\setslot{CYRpalochka} - \comment{Cyrillic letter palochka `\CYRpalochka'.} -\endsetslot - -\setslot{angleleft} - \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.} -\endsetslot - -\setslot{angleright} - \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.} -\endsetslot - -\setslot{quotedblleft} - \comment{The English opening quote mark `\,\textquotedblleft\,'.} -\endsetslot - -\setslot{quotedblright} - \comment{The English closing quote mark `\,\textquotedblright\,'.} -\endsetslot - -\setslot{\lc{cyrFlex}{cyrflex}} - \comment{Cyrillic circumflex `\f{}'.} -\endsetslot - -\setslot{\lc{dblGrave}{dblgrave}} - \comment{Double grave accent `\C{}'.} -\endsetslot - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{Cyrillic breve `\U{}'.} -\endsetslot - -\setslot{rangedash} - \ligature{LIG}{hyphen}{cyrdash} - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{cyrdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{compwordmark} - \comment{An invisible glyph, with zero width and depth, but the - height of lowercase letters without ascenders. - It is used to stop ligaturing in words like `shelf{}ful'.} -\endsetslot - -\setslot{perthousandzero} - \comment{A glyph which is placed after `\%' to produce a - `per-thousand', or twice to produce `per-ten-thousand'. - Your guess is as good as mine as to what this glyph should look - like in a monowidth font.} -\endsetslot - -\setslot{\lc{dotlessI}{dotlessi}} - \comment{A dotless i `\i', used to produce accented letters such as - `\=\i'.} -\endsetslot - -\setslot{\lc{dotlessJ}{dotlessj}} - \comment{A dotless j `\j', used to produce accented letters such as - `\=\j'. Most non-\TeX\ fonts do not have this glyph.} -\endsetslot - -\setslot{\lclig{FF}{ff}} - \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}} - \comment{The `ff' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FI}{fi}} - \comment{The `fi' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FL}{fl}} - \comment{The `fl' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFI}{ffi}} - \comment{The `ffi' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFL}{ffl}} - \comment{The `ffl' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{visiblespace} - \comment{A visible space glyph `\textvisiblespace'.} -\endsetslot - -\setslot{exclam} - \comment{The exclamation mark `!'.} -\endsetslot - -\setslot{quotedbl} - \comment{The `neutral' double quotation mark `\,\textquotedbl\,', - included for use in monowidth fonts, or for setting computer - programs. Note that the inclusion of this glyph in this slot - means that \TeX\ documents which used `{\tt"}' as an - input character will no longer work.} -\endsetslot - -\setslot{numbersign} - \comment{The hash sign `\#'.} -\endsetslot - -\setslot{dollar} - \comment{The dollar sign `\$'.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{ampersand} - \comment{The ampersand sign `\&'.} -\endsetslot - -\setslot{quoteright} - \ligature{LIG}{quoteright}{quotedblright} - \comment{The English closing single quote mark `\,\textquoteright\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{plus} - \comment{The addition sign `+'.} -\endsetslot - -\setslot{comma} - \ligature{LIG}{comma}{quotedblbase} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \ligature{LIG}{hyphen}{rangedash} - \ligature{LIG}{hyphenchar}{hyphenchar} - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The period `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number `5'.} -\endsetslot - -\setslot{\digit{six}} - \comment{The number `6'.} -\endsetslot - -\setslot{\digit{seven}} - \comment{The number `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\setslot{less} - \ligature{LIG}{less}{guillemotleft} - \comment{The less-than sign `\textless'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{greater} - \ligature{LIG}{greater}{guillemotright} - \comment{The greater-than sign `\textgreater'.} -\endsetslot - -\setslot{question} - \comment{The question mark `?'.} -\endsetslot - -\setslot{at} - \comment{The at sign `@'.} -\endsetslot - -\setslot{\uc{A}{a}} - \comment{The letter `A'.} -\endsetslot - -\setslot{\uc{B}{b}} - \comment{The letter `B'.} -\endsetslot - -\setslot{\uc{C}{c}} - \comment{The letter `C'.} -\endsetslot - -\setslot{\uc{D}{d}} - \comment{The letter `D'.} -\endsetslot - -\setslot{\uc{E}{e}} - \comment{The letter `E'.} -\endsetslot - -\setslot{\uc{F}{f}} - \comment{The letter `F'.} -\endsetslot - -\setslot{\uc{G}{g}} - \comment{The letter `G'.} -\endsetslot - -\setslot{\uc{H}{h}} - \comment{The letter `H'.} -\endsetslot - -\setslot{\uc{I}{i}} - \comment{The letter `I'.} -\endsetslot - -\setslot{\uc{J}{j}} - \comment{The letter `J'.} -\endsetslot - -\setslot{\uc{K}{k}} - \comment{The letter `K'.} -\endsetslot - -\setslot{\uc{L}{l}} - \comment{The letter `L'.} -\endsetslot - -\setslot{\uc{M}{m}} - \comment{The letter `M'.} -\endsetslot - -\setslot{\uc{N}{n}} - \comment{The letter `N'.} -\endsetslot - -\setslot{\uc{O}{o}} - \comment{The letter `O'.} -\endsetslot - -\setslot{\uc{P}{p}} - \comment{The letter `P'.} -\endsetslot - -\setslot{\uc{Q}{q}} - \comment{The letter `Q'.} -\endsetslot - -\setslot{\uc{R}{r}} - \comment{The letter `R'.} -\endsetslot - -\setslot{\uc{S}{s}} - \comment{The letter `S'.} -\endsetslot - -\setslot{\uc{T}{t}} - \comment{The letter `T'.} -\endsetslot - -\setslot{\uc{U}{u}} - \comment{The letter `U'.} -\endsetslot - -\setslot{\uc{V}{v}} - \comment{The letter `V'.} -\endsetslot - -\setslot{\uc{W}{w}} - \comment{The letter `W'.} -\endsetslot - -\setslot{\uc{X}{x}} - \comment{The letter `X'.} -\endsetslot - -\setslot{\uc{Y}{y}} - \comment{The letter `Y'.} -\endsetslot - -\setslot{\uc{Z}{z}} - \comment{The letter `Z'.} -\endsetslot - -\setslot{bracketleft} - \comment{The opening square bracket `['.} -\endsetslot - -\setslot{backslash} - \comment{The backwards oblique `\textbackslash'.} -\endsetslot - -\setslot{bracketright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{asciicircum} - \comment{The ASCII upward-pointing arrow head `\textasciicircum'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{underscore} - \comment{The ASCII underline character `\textunderscore', usually - set on the baseline. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{quoteleft} - \ligature{LIG}{quoteleft}{quotedblleft} - \comment{The English opening single quote mark `\,\textquoteleft\,'.} -\endsetslot - -\setslot{\lc{A}{a}} - \comment{The letter `a'.} -\endsetslot - -\setslot{\lc{B}{b}} - \comment{The letter `b'.} -\endsetslot - -\setslot{\lc{C}{c}} - \comment{The letter `c'.} -\endsetslot - -\setslot{\lc{D}{d}} - \comment{The letter `d'.} -\endsetslot - -\setslot{\lc{E}{e}} - \comment{The letter `e'.} -\endsetslot - -\setslot{\lc{F}{f}} -\ifisint{monowidth}\then\else - \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}} - \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}} -\fi - \comment{The letter `f'.} -\endsetslot - -\setslot{\lc{G}{g}} - \comment{The letter `g'.} -\endsetslot - -\setslot{\lc{H}{h}} - \comment{The letter `h'.} -\endsetslot - -\setslot{\lc{I}{i}} - \comment{The letter `i'.} -\endsetslot - -\setslot{\lc{J}{j}} - \comment{The letter `j'.} -\endsetslot - -\setslot{\lc{K}{k}} - \comment{The letter `k'.} -\endsetslot - -\setslot{\lc{L}{l}} - \comment{The letter `l'.} -\endsetslot - -\setslot{\lc{M}{m}} - \comment{The letter `m'.} -\endsetslot - -\setslot{\lc{N}{n}} - \comment{The letter `n'.} -\endsetslot - -\setslot{\lc{O}{o}} - \comment{The letter `o'.} -\endsetslot - -\setslot{\lc{P}{p}} - \comment{The letter `p'.} -\endsetslot - -\setslot{\lc{Q}{q}} - \comment{The letter `q'.} -\endsetslot - -\setslot{\lc{R}{r}} - \comment{The letter `r'.} -\endsetslot - -\setslot{\lc{S}{s}} - \comment{The letter `s'.} -\endsetslot - -\setslot{\lc{T}{t}} - \comment{The letter `t'.} -\endsetslot - -\setslot{\lc{U}{u}} - \comment{The letter `u'.} -\endsetslot - -\setslot{\lc{V}{v}} - \comment{The letter `v'.} -\endsetslot - -\setslot{\lc{W}{w}} - \comment{The letter `w'.} -\endsetslot - -\setslot{\lc{X}{x}} - \comment{The letter `x'.} -\endsetslot - -\setslot{\lc{Y}{y}} - \comment{The letter `y'.} -\endsetslot - -\setslot{\lc{Z}{z}} - \comment{The letter `z'.} -\endsetslot - -\setslot{braceleft} - \comment{The opening curly brace `\textbraceleft'.} -\endsetslot - -\setslot{bar} - \comment{The ASCII vertical bar `\textbar'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{braceright} - \comment{The closing curly brace `\textbraceright'.} -\endsetslot - -\setslot{asciitilde} - \comment{The ASCII tilde `\textasciitilde'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{hyphenchar} - \comment{The glyph used for hyphenation in this font, which will - almost always be the same as `hyphen'.} -\endsetslot - -\setslot{\uc{CYRGUP}{cyrgup}} - \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.} -\endsetslot - -\setslot{\uc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.} -\endsetslot - -\setslot{\uc{CYRDJE}{cyrdje}} - \comment{Cyrillic capital letter dje `\CYRDJE'.} -\endsetslot - -\setslot{\uc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic capital letter tshe `\CYRTSHE'.} -\endsetslot - -\setslot{\uc{CYRSHHA}{cyrshha}} - \comment{Cyrillic capital letter shha `\CYRSHHA'.} -\endsetslot - -\setslot{\uc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.} -\endsetslot - -\setslot{\uc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.} -\endsetslot - -\setslot{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter lje `\CYRLJE'.} -\endsetslot - -\setslot{\uc{CYRYI}{cyryi}} - \comment{Cyrillic capital letter yi `\CYRYI'.} -\endsetslot - -\setslot{\uc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.} -\endsetslot - -\setslot{\uc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.} -\endsetslot - -\setslot{\uc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.} -\endsetslot - -\setslot{\uc{CYRAE}{cyrae}} - \comment{Cyrillic capital ligature a ie `\CYRAE'.} -\endsetslot - -\setslot{\uc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic capital letter en with descender `\CYRNDSC'.} -\endsetslot - -\setslot{\uc{CYRNG}{cyrng}} - \comment{Cyrillic capital ligature en ghe `\CYRNG'.} -\endsetslot - -\setslot{\uc{CYRDZE}{cyrdze}} - \comment{Cyrillic capital letter dze `\CYRDZE'.} -\endsetslot - -\setslot{\uc{CYROTLD}{cyrotld}} - \comment{Cyrillic capital letter barred o `\CYROTLD'.} -\endsetslot - -\setslot{\uc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic capital letter es with descender `\CYRSDSC'.} -\endsetslot - -\setslot{\uc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic capital letter short u `\CYRUSHRT'.} -\endsetslot - -\setslot{\uc{CYRY}{cyry}} - \comment{Cyrillic capital letter straight u `\CYRY'.} -\endsetslot - -\setslot{\uc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.} -\endsetslot - -\setslot{\uc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.} -\endsetslot - -\setslot{\uc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic capital letter dzhe `\CYRDZHE'.} -\endsetslot - -\setslot{\uc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.} -\endsetslot - -\setslot{\uc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.} -\endsetslot - -\setslot{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.} -\endsetslot - -\setslot{\uc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic capital letter schwa `\CYRSCHWA'.} -\endsetslot - -\setslot{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter nje `\CYRNJE'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{currency} - \comment{The international currency sign, `\textcurrency'.} -\endsetslot - -\setslot{section} - \comment{The section mark `\textsection'.} -\endsetslot - -\setslot{\lc{CYRGUP}{cyrgup}} - \comment{Cyrillic small letter ghe with upturn `\cyrgup'.} -\endsetslot - -\setslot{\lc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.} -\endsetslot - -\setslot{\lc{CYRDJE}{cyrdje}} - \comment{Cyrillic small letter dje `\cyrdje'.} -\endsetslot - -\setslot{\lc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic small letter tshe `\cyrtshe'.} -\endsetslot - -\setslot{\lc{CYRSHHA}{cyrshha}} - \comment{Cyrillic small letter shha `\cyrshha'.} -\endsetslot - -\setslot{\lc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.} -\endsetslot - -\setslot{\lc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic small letter ze with descender `\cyrzdsc'.} -\endsetslot - -\setslot{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter lje `\cyrlje'.} -\endsetslot - -\setslot{\lc{CYRYI}{cyryi}} - \comment{Cyrillic small letter yi `\cyryi'.} -\endsetslot - -\setslot{\lc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic small letter ka with descender `\cyrkdsc'.} -\endsetslot - -\setslot{\lc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.} -\endsetslot - -\setslot{\lc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.} -\endsetslot - -\setslot{\lc{CYRAE}{cyrae}} - \comment{Cyrillic small ligature a ie `\cyrae'.} -\endsetslot - -\setslot{\lc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic small letter en with descender `\cyrndsc'.} -\endsetslot - -\setslot{\lc{CYRNG}{cyrng}} - \comment{Cyrillic small ligature en ghe `\cyrng'.} -\endsetslot - -\setslot{\lc{CYRDZE}{cyrdze}} - \comment{Cyrillic small letter dze `\cyrdze'.} -\endsetslot - -\setslot{\lc{CYROTLD}{cyrotld}} - \comment{Cyrillic small letter barred o `\cyrotld'.} -\endsetslot - -\setslot{\lc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic small letter es with descender `\cyrsdsc'.} -\endsetslot - -\setslot{\lc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic small letter short u `\cyrushrt'.} -\endsetslot - -\setslot{\lc{CYRY}{cyry}} - \comment{Cyrillic small letter straight u `\cyry'.} -\endsetslot - -\setslot{\lc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.} -\endsetslot - -\setslot{\lc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic small letter ha with descender `\cyrhdsc'.} -\endsetslot - -\setslot{\lc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic small letter dzhe `\cyrdzhe'.} -\endsetslot - -\setslot{\lc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.} -\endsetslot - -\setslot{\lc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic small letter che with descender `\cyrchrdsc'.} -\endsetslot - -\setslot{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ukrainian ie `\cyrie'.} -\endsetslot - -\setslot{\lc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic small letter schwa `\cyrschwa'.} -\endsetslot - -\setslot{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter nje `\cyrnje'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{quotedblbase} - \comment{A German double quote mark `\quotedblbase' similar to two commas, - but with tighter letterspacing and different sidebearings.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx deleted file mode 100644 index 8553be302a4..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx +++ /dev/null @@ -1,1284 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[T2B]{fontenc} -\usepackage{fontdoc} - -\title{The \TeX\ Cyrillic T2B text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{17 July 1998\\ -Version 0.1} - -\begin{document} - -\maketitle - -\section{Introduction} - -This document describes the Cyrillic T2B text encoding. -The latin part of this file is based on `t1.etx' by -Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth. - -To use this encoding, you should define the following macros: -\begin{itemize} -\item \verb|\lc{A}{a}| should return the name of a lower-case - glyph, for example `{\tt a}' or `{\tt Asmall}'. - -\item \verb|\uc{A}{a}| should return the name of an upper-case - glyph, for example `{\tt A}' or `{\tt Amedium}'. - -\item \verb|\lctop{Aacute}{aacute}| should return the name of a - lower-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'. - -\item \verb|\uctop{Aacute}{aacute}| should return the name of an - upper-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'. - -\item \verb|\lclig{FI}{fi}| should return the name of a lower-case - ligature, for example `{\tt fi}' or `{\tt FIsmall}'. - -\item \verb|\uclig{FI}{fi}| should return the name of an upper-case - ligature, for example `{\tt FI}' or `{\tt FImedium}'. - -\item \verb|\digit{zero}| should return the name of a digit, for - example `{\tt zero}' or `{\tt zerooldstyle}'. -\end{itemize} -These should all expand in the mouth, otherwise you may get error -messages! - -For example, to get the standard upper and lower case font, you should -define: -\begin{verbatim} - \setcommand\lc#1#2{#2} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#2} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2} - \setcommand\uclig#1#2{#1} - \setcommand\digit#1{#1} -\end{verbatim} -To get a caps and small caps font with old style digits and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1small} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1small} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2small} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1oldstyle} -\end{verbatim} -To get an all-caps font with medium-cap composite letters and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1medium} - \setcommand\uctop#1#2{#1medium} - \setcommand\lclig#1#2{#1spaced} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1} -\end{verbatim} -This document describes the upper and lower case encoding. - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2B} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\setint{italicslant}{0} - -\ifisglyph{x}\then - \setint{xheight}{\height{x}} -\else - \setint{xheight}{500} -\fi - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> -% 1997/02/07 to calculate values for extra EC fontdimens -% Amended by SPQR 1997/02/09 -\ifisglyph{X}\then - \setint{capheight}{\height{X}} -\else - \setint{capheight}{750} -\fi - -\ifisglyph{d}\then - \setint{ascender}{\height{d}} -\else - \ifisint{capheight}\then - \setint{ascender}{\int{capheight}} - \else - \setint{ascender}{750} -\fi\fi - -\ifisglyph{Aring}\then - \setint{acccapheight}{\height{Aring}} -\else - \setint{acccapheight}{999} -\fi - -\ifisint{descender_neg}\then - \setint{descender}{\neg{\int{descender_neg}}} - \else - \ifisglyph{p}\then - \setint{descender}{\depth{p}} - \else - \setint{descender}{250} - \fi -\fi - -\ifisglyph{Aring}\then - \setint{maxheight}{\height{Aring}} -\else - \setint{maxheight}{1000} -\fi - -\ifisint{maxdepth_neg}\then - \setint{maxdepth}{\neg{\int{maxdepth_neg}}} -\else - \ifisglyph{j}\then - \setint{maxdepth}{\depth{j}} - \else - \setint{maxdepth}{250} - \fi -\fi - -\ifisglyph{six}\then - \setint{digitwidth}{\width{six}} -\else - \setint{digitwidth}{500} -\fi - -\setint{capstem}{0} % not in AFM files -\setint{baselineskip}{1200} -% end changes by Thierry - - -\comment{\section{Default font dimensions}} - -\setint{fontdimen(1)}{\int{italicslant}} % italic slant -\setint{fontdimen(2)}{\int{interword}} % interword space -\ifisint{monowidth}\then - \setint{fontdimen(3)}{0} % interword stretch - \setint{fontdimen(4)}{0} % interword shrink -\else - \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch - \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink -\fi -\setint{fontdimen(5)}{\int{xheight}} % x-height -\setint{fontdimen(6)}{1000} % quad -\ifisint{monowidth}\then - \setint{fontdimen(7)}{\int{interword}} % extra space after . -\else - \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after . -\fi -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07 -\setint{fontdimen(8)}{\int{capheight}} % cap height -\setint{fontdimen(9)}{\int{ascender}} % ascender -\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height -\setint{fontdimen(11)}{\int{descender}} % descender's depth -\setint{fontdimen(12)}{\int{maxheight}} % max height -\setint{fontdimen(13)}{\int{maxdepth}} % max depth -\setint{fontdimen(14)}{\int{digitwidth}} % digit width -\setint{fontdimen(15)}{\int{capstem}} % cap_stem -\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip - - -\comment{\section{The encoding} - There are 256 glyphs in this encoding.} - -\setslot{\lc{Grave}{grave}} - \comment{The grave accent `\`{}'.} -\endsetslot - -\setslot{\lc{Acute}{acute}} - \comment{The acute accent `\'{}'.} -\endsetslot - -\setslot{\lc{Circumflex}{circumflex}} - \comment{The circumflex accent `\^{}'.} -\endsetslot - -\setslot{\lc{Tilde}{tilde}} - \comment{The tilde accent `\~{}'.} -\endsetslot - -\setslot{\lc{Dieresis}{dieresis}} - \comment{The umlaut or dieresis accent `\"{}'.} -\endsetslot - -\setslot{\lc{Hungarumlaut}{hungarumlaut}} - \comment{The long Hungarian umlaut `\H{}'.} -\endsetslot - -\setslot{\lc{Ring}{ring}} - \comment{The ring accent `\r{}'.} -\endsetslot - -\setslot{\lc{Caron}{caron}} - \comment{The caron or h\'a\v cek accent `\v{}'.} -\endsetslot - -\setslot{\lc{Breve}{breve}} - \comment{The breve accent `\u{}'.} -\endsetslot - -\setslot{\lc{Macron}{macron}} - \comment{The macron accent `\={}'.} -\endsetslot - -\setslot{\lc{Dotaccent}{dotaccent}} - \comment{The dot accent `\.{}'.} -\endsetslot - -\setslot{\lc{Cedilla}{cedilla}} - \comment{The cedilla accent `\c{}'.} -\endsetslot - -\setslot{\lc{Ogonek}{ogonek}} - \comment{The ogonek accent `\k{}'.} -\endsetslot - -\setslot{CYRpalochka} - \comment{Cyrillic letter palochka `\CYRpalochka'.} -\endsetslot - -\setslot{angleleft} - \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.} -\endsetslot - -\setslot{angleright} - \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.} -\endsetslot - -\setslot{quotedblleft} - \comment{The English opening quote mark `\,\textquotedblleft\,'.} -\endsetslot - -\setslot{quotedblright} - \comment{The English closing quote mark `\,\textquotedblright\,'.} -\endsetslot - -\setslot{\lc{cyrFlex}{cyrflex}} - \comment{Cyrillic circumflex `\f{}'.} -\endsetslot - -\setslot{\lc{dblGrave}{dblgrave}} - \comment{Double grave accent `\C{}'.} -\endsetslot - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{Cyrillic breve `\U{}'.} -\endsetslot - -\setslot{rangedash} - \ligature{LIG}{hyphen}{cyrdash} - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{cyrdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{compwordmark} - \comment{An invisible glyph, with zero width and depth, but the - height of lowercase letters without ascenders. - It is used to stop ligaturing in words like `shelf{}ful'.} -\endsetslot - -\setslot{perthousandzero} - \comment{A glyph which is placed after `\%' to produce a - `per-thousand', or twice to produce `per-ten-thousand'. - Your guess is as good as mine as to what this glyph should look - like in a monowidth font.} -\endsetslot - -\setslot{\lc{dotlessI}{dotlessi}} - \comment{A dotless i `\i', used to produce accented letters such as - `\=\i'.} -\endsetslot - -\setslot{\lc{dotlessJ}{dotlessj}} - \comment{A dotless j `\j', used to produce accented letters such as - `\=\j'. Most non-\TeX\ fonts do not have this glyph.} -\endsetslot - -\setslot{\lclig{FF}{ff}} - \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}} - \comment{The `ff' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FI}{fi}} - \comment{The `fi' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FL}{fl}} - \comment{The `fl' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFI}{ffi}} - \comment{The `ffi' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFL}{ffl}} - \comment{The `ffl' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{visiblespace} - \comment{A visible space glyph `\textvisiblespace'.} -\endsetslot - -\setslot{exclam} - \comment{The exclamation mark `!'.} -\endsetslot - -\setslot{quotedbl} - \comment{The `neutral' double quotation mark `\,\textquotedbl\,', - included for use in monowidth fonts, or for setting computer - programs. Note that the inclusion of this glyph in this slot - means that \TeX\ documents which used `{\tt"}' as an - input character will no longer work.} -\endsetslot - -\setslot{numbersign} - \comment{The hash sign `\#'.} -\endsetslot - -\setslot{dollar} - \comment{The dollar sign `\$'.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{ampersand} - \comment{The ampersand sign `\&'.} -\endsetslot - -\setslot{quoteright} - \ligature{LIG}{quoteright}{quotedblright} - \comment{The English closing single quote mark `\,\textquoteright\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{plus} - \comment{The addition sign `+'.} -\endsetslot - -\setslot{comma} - \ligature{LIG}{comma}{quotedblbase} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \ligature{LIG}{hyphen}{rangedash} - \ligature{LIG}{hyphenchar}{hyphenchar} - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The period `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number `5'.} -\endsetslot - -\setslot{\digit{six}} - \comment{The number `6'.} -\endsetslot - -\setslot{\digit{seven}} - \comment{The number `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\setslot{less} - \ligature{LIG}{less}{guillemotleft} - \comment{The less-than sign `\textless'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{greater} - \ligature{LIG}{greater}{guillemotright} - \comment{The greater-than sign `\textgreater'.} -\endsetslot - -\setslot{question} - \comment{The question mark `?'.} -\endsetslot - -\setslot{at} - \comment{The at sign `@'.} -\endsetslot - -\setslot{\uc{A}{a}} - \comment{The letter `A'.} -\endsetslot - -\setslot{\uc{B}{b}} - \comment{The letter `B'.} -\endsetslot - -\setslot{\uc{C}{c}} - \comment{The letter `C'.} -\endsetslot - -\setslot{\uc{D}{d}} - \comment{The letter `D'.} -\endsetslot - -\setslot{\uc{E}{e}} - \comment{The letter `E'.} -\endsetslot - -\setslot{\uc{F}{f}} - \comment{The letter `F'.} -\endsetslot - -\setslot{\uc{G}{g}} - \comment{The letter `G'.} -\endsetslot - -\setslot{\uc{H}{h}} - \comment{The letter `H'.} -\endsetslot - -\setslot{\uc{I}{i}} - \comment{The letter `I'.} -\endsetslot - -\setslot{\uc{J}{j}} - \comment{The letter `J'.} -\endsetslot - -\setslot{\uc{K}{k}} - \comment{The letter `K'.} -\endsetslot - -\setslot{\uc{L}{l}} - \comment{The letter `L'.} -\endsetslot - -\setslot{\uc{M}{m}} - \comment{The letter `M'.} -\endsetslot - -\setslot{\uc{N}{n}} - \comment{The letter `N'.} -\endsetslot - -\setslot{\uc{O}{o}} - \comment{The letter `O'.} -\endsetslot - -\setslot{\uc{P}{p}} - \comment{The letter `P'.} -\endsetslot - -\setslot{\uc{Q}{q}} - \comment{The letter `Q'.} -\endsetslot - -\setslot{\uc{R}{r}} - \comment{The letter `R'.} -\endsetslot - -\setslot{\uc{S}{s}} - \comment{The letter `S'.} -\endsetslot - -\setslot{\uc{T}{t}} - \comment{The letter `T'.} -\endsetslot - -\setslot{\uc{U}{u}} - \comment{The letter `U'.} -\endsetslot - -\setslot{\uc{V}{v}} - \comment{The letter `V'.} -\endsetslot - -\setslot{\uc{W}{w}} - \comment{The letter `W'.} -\endsetslot - -\setslot{\uc{X}{x}} - \comment{The letter `X'.} -\endsetslot - -\setslot{\uc{Y}{y}} - \comment{The letter `Y'.} -\endsetslot - -\setslot{\uc{Z}{z}} - \comment{The letter `Z'.} -\endsetslot - -\setslot{bracketleft} - \comment{The opening square bracket `['.} -\endsetslot - -\setslot{backslash} - \comment{The backwards oblique `\textbackslash'.} -\endsetslot - -\setslot{bracketright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{asciicircum} - \comment{The ASCII upward-pointing arrow head `\textasciicircum'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{underscore} - \comment{The ASCII underline character `\textunderscore', usually - set on the baseline. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{quoteleft} - \ligature{LIG}{quoteleft}{quotedblleft} - \comment{The English opening single quote mark `\,\textquoteleft\,'.} -\endsetslot - -\setslot{\lc{A}{a}} - \comment{The letter `a'.} -\endsetslot - -\setslot{\lc{B}{b}} - \comment{The letter `b'.} -\endsetslot - -\setslot{\lc{C}{c}} - \comment{The letter `c'.} -\endsetslot - -\setslot{\lc{D}{d}} - \comment{The letter `d'.} -\endsetslot - -\setslot{\lc{E}{e}} - \comment{The letter `e'.} -\endsetslot - -\setslot{\lc{F}{f}} -\ifisint{monowidth}\then\else - \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}} - \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}} -\fi - \comment{The letter `f'.} -\endsetslot - -\setslot{\lc{G}{g}} - \comment{The letter `g'.} -\endsetslot - -\setslot{\lc{H}{h}} - \comment{The letter `h'.} -\endsetslot - -\setslot{\lc{I}{i}} - \comment{The letter `i'.} -\endsetslot - -\setslot{\lc{J}{j}} - \comment{The letter `j'.} -\endsetslot - -\setslot{\lc{K}{k}} - \comment{The letter `k'.} -\endsetslot - -\setslot{\lc{L}{l}} - \comment{The letter `l'.} -\endsetslot - -\setslot{\lc{M}{m}} - \comment{The letter `m'.} -\endsetslot - -\setslot{\lc{N}{n}} - \comment{The letter `n'.} -\endsetslot - -\setslot{\lc{O}{o}} - \comment{The letter `o'.} -\endsetslot - -\setslot{\lc{P}{p}} - \comment{The letter `p'.} -\endsetslot - -\setslot{\lc{Q}{q}} - \comment{The letter `q'.} -\endsetslot - -\setslot{\lc{R}{r}} - \comment{The letter `r'.} -\endsetslot - -\setslot{\lc{S}{s}} - \comment{The letter `s'.} -\endsetslot - -\setslot{\lc{T}{t}} - \comment{The letter `t'.} -\endsetslot - -\setslot{\lc{U}{u}} - \comment{The letter `u'.} -\endsetslot - -\setslot{\lc{V}{v}} - \comment{The letter `v'.} -\endsetslot - -\setslot{\lc{W}{w}} - \comment{The letter `w'.} -\endsetslot - -\setslot{\lc{X}{x}} - \comment{The letter `x'.} -\endsetslot - -\setslot{\lc{Y}{y}} - \comment{The letter `y'.} -\endsetslot - -\setslot{\lc{Z}{z}} - \comment{The letter `z'.} -\endsetslot - -\setslot{braceleft} - \comment{The opening curly brace `\textbraceleft'.} -\endsetslot - -\setslot{bar} - \comment{The ASCII vertical bar `\textbar'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{braceright} - \comment{The closing curly brace `\textbraceright'.} -\endsetslot - -\setslot{asciitilde} - \comment{The ASCII tilde `\textasciitilde'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{hyphenchar} - \comment{The glyph used for hyphenation in this font, which will - almost always be the same as `hyphen'.} -\endsetslot - -\setslot{\uc{CYRGDSCHCRS}{cyrgdschcrs}} - \comment{ `\CYRGDSCHCRS'.} -\endsetslot - -\setslot{\uc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.} -\endsetslot - -\setslot{\uc{CYRGDSC}{cyrgdsc}} - \comment{ `\CYRGDSC'.} -\endsetslot - -\setslot{\uc{CYRGHK}{cyrghk}} - \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.} -\endsetslot - -\setslot{\uc{CYRSHHA}{cyrshha}} - \comment{Cyrillic capital letter shha `\CYRSHHA'.} -\endsetslot - -\setslot{\uc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.} -\endsetslot - -\setslot{\uc{CYRDELTA}{cyrdelta}} - \comment{ `\CYRDELTA'.} -\endsetslot - -\setslot{\uc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.} -\endsetslot - -\setslot{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter lje `\CYRLJE'.} -\endsetslot - -\setslot{\uc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.} -\endsetslot - -\setslot{\uc{CYRLDSC}{cyrldsc}} - \comment{ `\CYRLDSC'.} -\endsetslot - -\setslot{\uc{CYRKHK}{cyrkhk}} - \comment{Cyrillic capital letter ka with hook `\CYRKHK'.} -\endsetslot - -\setslot{\uc{CYRLHK}{cyrlhk}} - \comment{ `\CYRLHK'.} -\endsetslot - -\setslot{\uc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic capital letter en with descender `\CYRNDSC'.} -\endsetslot - -\setslot{\uc{CYRNG}{cyrng}} - \comment{Cyrillic capital ligature en ghe `\CYRNG'.} -\endsetslot - -\setslot{\uc{CYRNHK}{cyrnhk}} - \comment{Cyrillic capital letter en with hook `\CYRNHK'.} -\endsetslot - -\setslot{\uc{CYROTLD}{cyrotld}} - \comment{Cyrillic capital letter barred o `\CYROTLD'.} -\endsetslot - -\setslot{\uc{CYRSACRS}{cyrsacrs}} - \comment{ `\CYRSACRS'.} -\endsetslot - -\setslot{\uc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic capital letter short u `\CYRUSHRT'.} -\endsetslot - -\setslot{\uc{CYRY}{cyry}} - \comment{Cyrillic capital letter straight u `\CYRY'.} -\endsetslot - -\setslot{\uc{CYRHHCRS}{cyrhhcrs}} - \comment{ `\CYRHHCRS'.} -\endsetslot - -\setslot{\uc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.} -\endsetslot - -\setslot{\uc{CYRHHK}{cyrhhk}} - \comment{ `\CYRHHK'.} -\endsetslot - -\setslot{\uc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.} -\endsetslot - -\setslot{\uc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.} -\endsetslot - -\setslot{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter nje `\CYRNJE'.} -\endsetslot - -\setslot{\uc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic capital letter schwa `\CYRSCHWA'.} -\endsetslot - -\setslot{\uc{CYREPS}{cyreps}} - \comment{ `\CYREPS'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{currency} - \comment{The international currency sign, `\textcurrency'.} -\endsetslot - -\setslot{section} - \comment{The section mark `\textsection'.} -\endsetslot - -\setslot{\lc{CYRGDSCHCRS}{cyrgdschcrs}} - \comment{ `\cyrgdschcrs'.} -\endsetslot - -\setslot{\lc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.} -\endsetslot - -\setslot{\lc{CYRGDSC}{cyrgdsc}} - \comment{ `\cyrgdsc'.} -\endsetslot - -\setslot{\lc{CYRGHK}{cyrghk}} - \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.} -\endsetslot - -\setslot{\lc{CYRSHHA}{cyrshha}} - \comment{Cyrillic small letter shha `\cyrshha'.} -\endsetslot - -\setslot{\lc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.} -\endsetslot - -\setslot{\lc{CYRDELTA}{cyrdelta}} - \comment{ `\cyrdelta'.} -\endsetslot - -\setslot{\lc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.} -\endsetslot - -\setslot{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter lje `\cyrlje'.} -\endsetslot - -\setslot{\lc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic small letter ka with descender `\cyrkdsc'.} -\endsetslot - -\setslot{\lc{CYRLDSC}{cyrldsc}} - \comment{ `\cyrldsc'.} -\endsetslot - -\setslot{\lc{CYRKHK}{cyrkhk}} - \comment{Cyrillic small letter ka with hook `\cyrkhk'.} -\endsetslot - -\setslot{\lc{CYRLHK}{cyrlhk}} - \comment{ `\cyrlhk'.} -\endsetslot - -\setslot{\lc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic small letter en with descender `\cyrndsc'.} -\endsetslot - -\setslot{\lc{CYRNG}{cyrng}} - \comment{Cyrillic small ligature en ghe `\cyrng'.} -\endsetslot - -\setslot{\lc{CYRNHK}{cyrnhk}} - \comment{Cyrillic small letter en with hook `\cyrnhk'.} -\endsetslot - -\setslot{\lc{CYROTLD}{cyrotld}} - \comment{Cyrillic small letter barred o `\cyrotld'.} -\endsetslot - -\setslot{\lc{CYRSACRS}{cyrsacrs}} - \comment{ `\cyrsacrs'.} -\endsetslot - -\setslot{\lc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic small letter short u `\cyrushrt'.} -\endsetslot - -\setslot{\lc{CYRY}{cyry}} - \comment{Cyrillic small letter straight u `\cyry'.} -\endsetslot - -\setslot{\lc{CYRHHCRS}{cyrhhcrs}} - \comment{ `\cyrhhcrs'.} -\endsetslot - -\setslot{\lc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic small letter ha with descender `\cyrhdsc'.} -\endsetslot - -\setslot{\lc{CYRHHK}{cyrhhk}} - \comment{ `\cyrhhk'.} -\endsetslot - -\setslot{\lc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic small letter khakassian che `\cyrchldsc'.} -\endsetslot - -\setslot{\lc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic small letter che with descender `\cyrchrdsc'.} -\endsetslot - -\setslot{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter nje `\cyrnje'.} -\endsetslot - -\setslot{\lc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic small letter schwa `\cyrschwa'.} -\endsetslot - -\setslot{\lc{CYREPS}{cyreps}} - \comment{ `\cyreps'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{quotedblbase} - \comment{A German double quote mark `\quotedblbase' similar to two commas, - but with tighter letterspacing and different sidebearings.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx deleted file mode 100644 index 4f2d5f99b84..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx +++ /dev/null @@ -1,1284 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[T2C]{fontenc} -\usepackage{fontdoc} - -\title{The \TeX\ Cyrillic T2C text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{17 July 1998\\ -Version 0.1} - -\begin{document} - -\maketitle - -\section{Introduction} - -This document describes the Cyrillic T2C text encoding. -The latin part of this file is based on `t1.etx' by -Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth. - -To use this encoding, you should define the following macros: -\begin{itemize} -\item \verb|\lc{A}{a}| should return the name of a lower-case - glyph, for example `{\tt a}' or `{\tt Asmall}'. - -\item \verb|\uc{A}{a}| should return the name of an upper-case - glyph, for example `{\tt A}' or `{\tt Amedium}'. - -\item \verb|\lctop{Aacute}{aacute}| should return the name of a - lower-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'. - -\item \verb|\uctop{Aacute}{aacute}| should return the name of an - upper-case composite glyph formed from putting a diacritical above - a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'. - -\item \verb|\lclig{FI}{fi}| should return the name of a lower-case - ligature, for example `{\tt fi}' or `{\tt FIsmall}'. - -\item \verb|\uclig{FI}{fi}| should return the name of an upper-case - ligature, for example `{\tt FI}' or `{\tt FImedium}'. - -\item \verb|\digit{zero}| should return the name of a digit, for - example `{\tt zero}' or `{\tt zerooldstyle}'. -\end{itemize} -These should all expand in the mouth, otherwise you may get error -messages! - -For example, to get the standard upper and lower case font, you should -define: -\begin{verbatim} - \setcommand\lc#1#2{#2} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#2} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2} - \setcommand\uclig#1#2{#1} - \setcommand\digit#1{#1} -\end{verbatim} -To get a caps and small caps font with old style digits and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1small} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1small} - \setcommand\uctop#1#2{#1} - \setcommand\lclig#1#2{#2small} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1oldstyle} -\end{verbatim} -To get an all-caps font with medium-cap composite letters and letter -spacing, you should define: -\begin{verbatim} - \setcommand\lc#1#2{#1} - \setcommand\uc#1#2{#1} - \setcommand\lctop#1#2{#1medium} - \setcommand\uctop#1#2{#1medium} - \setcommand\lclig#1#2{#1spaced} - \setcommand\uclig#1#2{#1spaced} - \setcommand\digit#1{#1} -\end{verbatim} -This document describes the upper and lower case encoding. - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2C} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - -\setint{italicslant}{0} - -\ifisglyph{x}\then - \setint{xheight}{\height{x}} -\else - \setint{xheight}{500} -\fi - -\ifisglyph{space}\then - \setint{interword}{\width{space}} -\else\ifisglyph{i}\then - \setint{interword}{\width{i}} -\else - \setint{interword}{333} -\fi\fi - -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> -% 1997/02/07 to calculate values for extra EC fontdimens -% Amended by SPQR 1997/02/09 -\ifisglyph{X}\then - \setint{capheight}{\height{X}} -\else - \setint{capheight}{750} -\fi - -\ifisglyph{d}\then - \setint{ascender}{\height{d}} -\else - \ifisint{capheight}\then - \setint{ascender}{\int{capheight}} - \else - \setint{ascender}{750} -\fi\fi - -\ifisglyph{Aring}\then - \setint{acccapheight}{\height{Aring}} -\else - \setint{acccapheight}{999} -\fi - -\ifisint{descender_neg}\then - \setint{descender}{\neg{\int{descender_neg}}} - \else - \ifisglyph{p}\then - \setint{descender}{\depth{p}} - \else - \setint{descender}{250} - \fi -\fi - -\ifisglyph{Aring}\then - \setint{maxheight}{\height{Aring}} -\else - \setint{maxheight}{1000} -\fi - -\ifisint{maxdepth_neg}\then - \setint{maxdepth}{\neg{\int{maxdepth_neg}}} -\else - \ifisglyph{j}\then - \setint{maxdepth}{\depth{j}} - \else - \setint{maxdepth}{250} - \fi -\fi - -\ifisglyph{six}\then - \setint{digitwidth}{\width{six}} -\else - \setint{digitwidth}{500} -\fi - -\setint{capstem}{0} % not in AFM files -\setint{baselineskip}{1200} -% end changes by Thierry - - -\comment{\section{Default font dimensions}} - -\setint{fontdimen(1)}{\int{italicslant}} % italic slant -\setint{fontdimen(2)}{\int{interword}} % interword space -\ifisint{monowidth}\then - \setint{fontdimen(3)}{0} % interword stretch - \setint{fontdimen(4)}{0} % interword shrink -\else - \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch - \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink -\fi -\setint{fontdimen(5)}{\int{xheight}} % x-height -\setint{fontdimen(6)}{1000} % quad -\ifisint{monowidth}\then - \setint{fontdimen(7)}{\int{interword}} % extra space after . -\else - \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after . -\fi -% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07 -\setint{fontdimen(8)}{\int{capheight}} % cap height -\setint{fontdimen(9)}{\int{ascender}} % ascender -\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height -\setint{fontdimen(11)}{\int{descender}} % descender's depth -\setint{fontdimen(12)}{\int{maxheight}} % max height -\setint{fontdimen(13)}{\int{maxdepth}} % max depth -\setint{fontdimen(14)}{\int{digitwidth}} % digit width -\setint{fontdimen(15)}{\int{capstem}} % cap_stem -\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip - - -\comment{\section{The encoding} - There are 256 glyphs in this encoding.} - -\setslot{\lc{Grave}{grave}} - \comment{The grave accent `\`{}'.} -\endsetslot - -\setslot{\lc{Acute}{acute}} - \comment{The acute accent `\'{}'.} -\endsetslot - -\setslot{\lc{Circumflex}{circumflex}} - \comment{The circumflex accent `\^{}'.} -\endsetslot - -\setslot{\lc{Tilde}{tilde}} - \comment{The tilde accent `\~{}'.} -\endsetslot - -\setslot{\lc{Dieresis}{dieresis}} - \comment{The umlaut or dieresis accent `\"{}'.} -\endsetslot - -\setslot{\lc{Hungarumlaut}{hungarumlaut}} - \comment{The long Hungarian umlaut `\H{}'.} -\endsetslot - -\setslot{\lc{Ring}{ring}} - \comment{The ring accent `\r{}'.} -\endsetslot - -\setslot{\lc{Caron}{caron}} - \comment{The caron or h\'a\v cek accent `\v{}'.} -\endsetslot - -\setslot{\lc{Breve}{breve}} - \comment{The breve accent `\u{}'.} -\endsetslot - -\setslot{\lc{Macron}{macron}} - \comment{The macron accent `\={}'.} -\endsetslot - -\setslot{\lc{Dotaccent}{dotaccent}} - \comment{The dot accent `\.{}'.} -\endsetslot - -\setslot{\lc{Cedilla}{cedilla}} - \comment{The cedilla accent `\c{}'.} -\endsetslot - -\setslot{\lc{Ogonek}{ogonek}} - \comment{The ogonek accent `\k{}'.} -\endsetslot - -\setslot{CYRpalochka} - \comment{Cyrillic letter palochka `\CYRpalochka'.} -\endsetslot - -\setslot{angleleft} - \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.} -\endsetslot - -\setslot{angleright} - \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.} -\endsetslot - -\setslot{quotedblleft} - \comment{The English opening quote mark `\,\textquotedblleft\,'.} -\endsetslot - -\setslot{quotedblright} - \comment{The English closing quote mark `\,\textquotedblright\,'.} -\endsetslot - -\setslot{\lc{cyrFlex}{cyrflex}} - \comment{Cyrillic circumflex `\f{}'.} -\endsetslot - -\setslot{\lc{dblGrave}{dblgrave}} - \comment{Double grave accent `\C{}'.} -\endsetslot - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{Cyrillic breve `\U{}'.} -\endsetslot - -\setslot{rangedash} - \ligature{LIG}{hyphen}{cyrdash} - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{cyrdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{compwordmark} - \comment{An invisible glyph, with zero width and depth, but the - height of lowercase letters without ascenders. - It is used to stop ligaturing in words like `shelf{}ful'.} -\endsetslot - -\setslot{perthousandzero} - \comment{A glyph which is placed after `\%' to produce a - `per-thousand', or twice to produce `per-ten-thousand'. - Your guess is as good as mine as to what this glyph should look - like in a monowidth font.} -\endsetslot - -\setslot{\lc{dotlessI}{dotlessi}} - \comment{A dotless i `\i', used to produce accented letters such as - `\=\i'.} -\endsetslot - -\setslot{\lc{dotlessJ}{dotlessj}} - \comment{A dotless j `\j', used to produce accented letters such as - `\=\j'. Most non-\TeX\ fonts do not have this glyph.} -\endsetslot - -\setslot{\lclig{FF}{ff}} - \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}} - \comment{The `ff' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FI}{fi}} - \comment{The `fi' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FL}{fl}} - \comment{The `fl' ligature. It should be two characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFI}{ffi}} - \comment{The `ffi' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{\lclig{FFL}{ffl}} - \comment{The `ffl' ligature. It should be three characters wide in a - monowidth font.} -\endsetslot - -\setslot{visiblespace} - \comment{A visible space glyph `\textvisiblespace'.} -\endsetslot - -\setslot{exclam} - \comment{The exclamation mark `!'.} -\endsetslot - -\setslot{quotedbl} - \comment{The `neutral' double quotation mark `\,\textquotedbl\,', - included for use in monowidth fonts, or for setting computer - programs. Note that the inclusion of this glyph in this slot - means that \TeX\ documents which used `{\tt"}' as an - input character will no longer work.} -\endsetslot - -\setslot{numbersign} - \comment{The hash sign `\#'.} -\endsetslot - -\setslot{dollar} - \comment{The dollar sign `\$'.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{ampersand} - \comment{The ampersand sign `\&'.} -\endsetslot - -\setslot{quoteright} - \ligature{LIG}{quoteright}{quotedblright} - \comment{The English closing single quote mark `\,\textquoteright\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{plus} - \comment{The addition sign `+'.} -\endsetslot - -\setslot{comma} - \ligature{LIG}{comma}{quotedblbase} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \ligature{LIG}{hyphen}{rangedash} - \ligature{LIG}{hyphenchar}{hyphenchar} - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The period `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number `5'.} -\endsetslot - -\setslot{\digit{six}} - \comment{The number `6'.} -\endsetslot - -\setslot{\digit{seven}} - \comment{The number `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\setslot{less} - \ligature{LIG}{less}{guillemotleft} - \comment{The less-than sign `\textless'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{greater} - \ligature{LIG}{greater}{guillemotright} - \comment{The greater-than sign `\textgreater'.} -\endsetslot - -\setslot{question} - \comment{The question mark `?'.} -\endsetslot - -\setslot{at} - \comment{The at sign `@'.} -\endsetslot - -\setslot{\uc{A}{a}} - \comment{The letter `A'.} -\endsetslot - -\setslot{\uc{B}{b}} - \comment{The letter `B'.} -\endsetslot - -\setslot{\uc{C}{c}} - \comment{The letter `C'.} -\endsetslot - -\setslot{\uc{D}{d}} - \comment{The letter `D'.} -\endsetslot - -\setslot{\uc{E}{e}} - \comment{The letter `E'.} -\endsetslot - -\setslot{\uc{F}{f}} - \comment{The letter `F'.} -\endsetslot - -\setslot{\uc{G}{g}} - \comment{The letter `G'.} -\endsetslot - -\setslot{\uc{H}{h}} - \comment{The letter `H'.} -\endsetslot - -\setslot{\uc{I}{i}} - \comment{The letter `I'.} -\endsetslot - -\setslot{\uc{J}{j}} - \comment{The letter `J'.} -\endsetslot - -\setslot{\uc{K}{k}} - \comment{The letter `K'.} -\endsetslot - -\setslot{\uc{L}{l}} - \comment{The letter `L'.} -\endsetslot - -\setslot{\uc{M}{m}} - \comment{The letter `M'.} -\endsetslot - -\setslot{\uc{N}{n}} - \comment{The letter `N'.} -\endsetslot - -\setslot{\uc{O}{o}} - \comment{The letter `O'.} -\endsetslot - -\setslot{\uc{P}{p}} - \comment{The letter `P'.} -\endsetslot - -\setslot{\uc{Q}{q}} - \comment{The letter `Q'.} -\endsetslot - -\setslot{\uc{R}{r}} - \comment{The letter `R'.} -\endsetslot - -\setslot{\uc{S}{s}} - \comment{The letter `S'.} -\endsetslot - -\setslot{\uc{T}{t}} - \comment{The letter `T'.} -\endsetslot - -\setslot{\uc{U}{u}} - \comment{The letter `U'.} -\endsetslot - -\setslot{\uc{V}{v}} - \comment{The letter `V'.} -\endsetslot - -\setslot{\uc{W}{w}} - \comment{The letter `W'.} -\endsetslot - -\setslot{\uc{X}{x}} - \comment{The letter `X'.} -\endsetslot - -\setslot{\uc{Y}{y}} - \comment{The letter `Y'.} -\endsetslot - -\setslot{\uc{Z}{z}} - \comment{The letter `Z'.} -\endsetslot - -\setslot{bracketleft} - \comment{The opening square bracket `['.} -\endsetslot - -\setslot{backslash} - \comment{The backwards oblique `\textbackslash'.} -\endsetslot - -\setslot{bracketright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{asciicircum} - \comment{The ASCII upward-pointing arrow head `\textasciicircum'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{underscore} - \comment{The ASCII underline character `\textunderscore', usually - set on the baseline. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{quoteleft} - \ligature{LIG}{quoteleft}{quotedblleft} - \comment{The English opening single quote mark `\,\textquoteleft\,'.} -\endsetslot - -\setslot{\lc{A}{a}} - \comment{The letter `a'.} -\endsetslot - -\setslot{\lc{B}{b}} - \comment{The letter `b'.} -\endsetslot - -\setslot{\lc{C}{c}} - \comment{The letter `c'.} -\endsetslot - -\setslot{\lc{D}{d}} - \comment{The letter `d'.} -\endsetslot - -\setslot{\lc{E}{e}} - \comment{The letter `e'.} -\endsetslot - -\setslot{\lc{F}{f}} -\ifisint{monowidth}\then\else - \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}} - \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}} - \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}} -\fi - \comment{The letter `f'.} -\endsetslot - -\setslot{\lc{G}{g}} - \comment{The letter `g'.} -\endsetslot - -\setslot{\lc{H}{h}} - \comment{The letter `h'.} -\endsetslot - -\setslot{\lc{I}{i}} - \comment{The letter `i'.} -\endsetslot - -\setslot{\lc{J}{j}} - \comment{The letter `j'.} -\endsetslot - -\setslot{\lc{K}{k}} - \comment{The letter `k'.} -\endsetslot - -\setslot{\lc{L}{l}} - \comment{The letter `l'.} -\endsetslot - -\setslot{\lc{M}{m}} - \comment{The letter `m'.} -\endsetslot - -\setslot{\lc{N}{n}} - \comment{The letter `n'.} -\endsetslot - -\setslot{\lc{O}{o}} - \comment{The letter `o'.} -\endsetslot - -\setslot{\lc{P}{p}} - \comment{The letter `p'.} -\endsetslot - -\setslot{\lc{Q}{q}} - \comment{The letter `q'.} -\endsetslot - -\setslot{\lc{R}{r}} - \comment{The letter `r'.} -\endsetslot - -\setslot{\lc{S}{s}} - \comment{The letter `s'.} -\endsetslot - -\setslot{\lc{T}{t}} - \comment{The letter `t'.} -\endsetslot - -\setslot{\lc{U}{u}} - \comment{The letter `u'.} -\endsetslot - -\setslot{\lc{V}{v}} - \comment{The letter `v'.} -\endsetslot - -\setslot{\lc{W}{w}} - \comment{The letter `w'.} -\endsetslot - -\setslot{\lc{X}{x}} - \comment{The letter `x'.} -\endsetslot - -\setslot{\lc{Y}{y}} - \comment{The letter `y'.} -\endsetslot - -\setslot{\lc{Z}{z}} - \comment{The letter `z'.} -\endsetslot - -\setslot{braceleft} - \comment{The opening curly brace `\textbraceleft'.} -\endsetslot - -\setslot{bar} - \comment{The ASCII vertical bar `\textbar'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{braceright} - \comment{The closing curly brace `\textbraceright'.} -\endsetslot - -\setslot{asciitilde} - \comment{The ASCII tilde `\textasciitilde'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{hyphenchar} - \comment{The glyph used for hyphenation in this font, which will - almost always be the same as `hyphen'.} -\endsetslot - -\setslot{\uc{CYRPHK}{cyrphk}} - \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.} -\endsetslot - -\setslot{\uc{CYRTETSE}{cyrtetse}} - \comment{Cyrillic capital ligature te tse `\CYRTETSE'.} -\endsetslot - -\setslot{\uc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic capital letter te with descender `\CYRTDSC'.} -\endsetslot - -\setslot{\uc{CYRGHK}{cyrghk}} - \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.} -\endsetslot - -\setslot{\uc{CYRSHHA}{cyrshha}} - \comment{Cyrillic capital letter shha `\CYRSHHA'.} -\endsetslot - -\setslot{\uc{CYRRDSC}{cyrrdsc}} - \comment{ `\CYRRDSC'.} -\endsetslot - -\setslot{\uc{CYRRTICK}{cyrrtick}} - \comment{ `\CYRRTICK'.} -\endsetslot - -\setslot{\uc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.} -\endsetslot - -\setslot{\uc{CYRMDSC}{cyrmdsc}} - \comment{ `\CYRMDSC'.} -\endsetslot - -\setslot{\uc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.} -\endsetslot - -\setslot{\uc{CYRLDSC}{cyrldsc}} - \comment{ `\CYRLDSC'.} -\endsetslot - -\setslot{\uc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.} -\endsetslot - -\setslot{\uc{CYRLHK}{cyrlhk}} - \comment{ `\CYRLHK'.} -\endsetslot - -\setslot{\uc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic capital letter en with descender `\CYRNDSC'.} -\endsetslot - -\setslot{\uc{CYRMHK}{cyrmhk}} - \comment{ `\CYRMHK'.} -\endsetslot - -\setslot{\uc{CYRNHK}{cyrnhk}} - \comment{Cyrillic capital letter en with hook `\CYRNHK'.} -\endsetslot - -\setslot{\uc{CYROTLD}{cyrotld}} - \comment{Cyrillic capital letter barred o `\CYROTLD'.} -\endsetslot - -\setslot{\uc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.} -\endsetslot - -\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.} -\endsetslot - -\setslot{\uc{CYRSEMISFTSN}{cyrsemisftsn}} - \comment{Cyrillic capital semi soft sign `\CYRSEMISFTSN'.} -\endsetslot - -\setslot{\uc{CYRISHRTDSC}{cyrishrtdsc}} - \comment{Cyrillic capital letter short i with descender `\CYRISHRTDSC'.} -\endsetslot - -\setslot{\uc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.} -\endsetslot - -\setslot{\uc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic capital letter dzhe `\CYRDZHE'.} -\endsetslot - -\setslot{\uc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.} -\endsetslot - -\setslot{\uc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.} -\endsetslot - -\setslot{\uc{CYRNLHK}{cyrnlhk}} - \comment{ `\CYRNLHK'.} -\endsetslot - -\setslot{\uc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic capital letter schwa `\CYRSCHWA'.} -\endsetslot - -\setslot{\uc{CYRRHK}{cyrrhk}} - \comment{Cyrillic capital letter er with hook `\CYRRHK'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{currency} - \comment{The international currency sign, `\textcurrency'.} -\endsetslot - -\setslot{section} - \comment{The section mark `\textsection'.} -\endsetslot - -\setslot{\lc{CYRPHK}{cyrphk}} - \comment{Cyrillic small letter pe with middle hook `\cyrphk'.} -\endsetslot - -\setslot{\lc{CYRTETSE}{cyrtetse}} - \comment{Cyrillic small ligature te tse `\cyrtetse'.} -\endsetslot - -\setslot{\lc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic small letter te with descender `\cyrtdsc'.} -\endsetslot - -\setslot{\lc{CYRGHK}{cyrghk}} - \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.} -\endsetslot - -\setslot{\lc{CYRSHHA}{cyrshha}} - \comment{Cyrillic small letter shha `\cyrshha'.} -\endsetslot - -\setslot{\lc{CYRRDSC}{cyrrdsc}} - \comment{ `\cyrrdsc'.} -\endsetslot - -\setslot{\lc{CYRRTICK}{cyrrtick}} - \comment{ `\cyrrtick'.} -\endsetslot - -\setslot{\lc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.} -\endsetslot - -\setslot{\lc{CYRMDSC}{cyrmdsc}} - \comment{ `\cyrmdsc'.} -\endsetslot - -\setslot{\lc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic small letter ka with descender `\cyrkdsc'.} -\endsetslot - -\setslot{\lc{CYRLDSC}{cyrldsc}} - \comment{ `\cyrldsc'.} -\endsetslot - -\setslot{\lc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.} -\endsetslot - -\setslot{\lc{CYRLHK}{cyrlhk}} - \comment{ `\cyrlhk'.} -\endsetslot - -\setslot{\lc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic small letter en with descender `\cyrndsc'.} -\endsetslot - -\setslot{\lc{CYRMHK}{cyrmhk}} - \comment{ `\cyrmhk'.} -\endsetslot - -\setslot{\lc{CYRNHK}{cyrnhk}} - \comment{Cyrillic small letter en with hook `\cyrnhk'.} -\endsetslot - -\setslot{\lc{CYROTLD}{cyrotld}} - \comment{Cyrillic small letter barred o `\cyrotld'.} -\endsetslot - -\setslot{\lc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic small letter abkhasian che `\cyrabhch'.} -\endsetslot - -\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.} -\endsetslot - -\setslot{\lc{CYRSEMISFTSN}{cyrsemisftsn}} - \comment{Cyrillic small letter semi soft sign `\cyrsemisftsn'.} -\endsetslot - -\setslot{\lc{CYRISHRTDSC}{cyrishrtdsc}} - \comment{Cyrillic small letter short i with descender `\cyrishrtdsc'.} -\endsetslot - -\setslot{\lc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic small letter ha with descender `\cyrhdsc'.} -\endsetslot - -\setslot{\lc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic small letter dzhe `\cyrdzhe'.} -\endsetslot - -\setslot{\lc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.} -\endsetslot - -\setslot{\lc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic small letter che with descender `\cyrchrdsc'.} -\endsetslot - -\setslot{\lc{CYRNLHK}{cyrnlhk}} - \comment{ `\cyrnlhk'.} -\endsetslot - -\setslot{\lc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic small letter schwa `\cyrschwa'.} -\endsetslot - -\setslot{\lc{CYRRHK}{cyrrhk}} - \comment{Cyrillic small letter er with hook `\cyrrhk'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{quotedblbase} - \comment{A German double quote mark `\quotedblbase' similar to two commas, - but with tighter letterspacing and different sidebearings.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx deleted file mode 100644 index 176554539ce..00000000000 --- a/Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx +++ /dev/null @@ -1,1102 +0,0 @@ -\relax - -\documentclass[twocolumn]{article} -\usepackage[X2,OT1]{fontenc} -\usepackage{fontdoc} -\useexamplefont{rxrm1000} -\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{X2}{#1}}\textquoteright} - -\title{The \TeX\ Cyrillic X2 text encoding vector} -\author{Werner Lemberg, Vladimir Volovich} -\date{17 July 1998\\ -Version 0.1} - -\begin{document} - -\maketitle - -\section{Introduction} - -This document describes the Cyrillic X2 text encoding. - - -\encoding - -\needsfontinstversion{1.800} - -\comment{\section{Default values}} - -\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - X2} - -\setcommand\lc#1#2{#2} -\setcommand\uc#1#2{#1} -\setcommand\lctop#1#2{#2} -\setcommand\uctop#1#2{#1} -\setcommand\lclig#1#2{#2} -\setcommand\uclig#1#2{#1} -\setcommand\digit#1{#1} - - -\comment{\section{The encoding} - There are 256 glyphs in this encoding.} - -\setslot{\lc{Grave}{grave}} - \comment{The grave accent `\`{}'.} -\endsetslot - -\setslot{\lc{Acute}{acute}} - \comment{The acute accent `\'{}'.} -\endsetslot - -\setslot{\lc{Circumflex}{circumflex}} - \comment{The circumflex accent `\^{}'.} -\endsetslot - -\setslot{\lc{Tilde}{tilde}} - \comment{The tilde accent `\~{}'.} -\endsetslot - -\setslot{\lc{Dieresis}{dieresis}} - \comment{The umlaut or dieresis accent `\"{}'.} -\endsetslot - -\setslot{\lc{Hungarumlaut}{hungarumlaut}} - \comment{The long Hungarian umlaut `\H{}'.} -\endsetslot - -\setslot{\lc{Ring}{ring}} - \comment{The ring accent `\r{}'.} -\endsetslot - -\setslot{\lc{Caron}{caron}} - \comment{The caron or h\'a\v cek accent `\v{}'.} -\endsetslot - -\setslot{\lc{Breve}{breve}} - \comment{The breve accent `\u{}'.} -\endsetslot - -\setslot{\lc{Macron}{macron}} - \comment{The macron accent `\={}'.} -\endsetslot - -\setslot{\lc{Dotaccent}{dotaccent}} - \comment{The dot accent `\.{}'.} -\endsetslot - -\setslot{\lc{Cedilla}{cedilla}} - \comment{The cedilla accent `\c{}'.} -\endsetslot - -\setslot{\lc{Ogonek}{ogonek}} - \comment{The ogonek accent `\k{}'.} -\endsetslot - -\setslot{CYRpalochka} - \comment{Cyrillic letter palochka `\CYRpalochka'.} -\endsetslot - -\setslot{angleleft} - \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.} -\endsetslot - -\setslot{angleright} - \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.} -\endsetslot - -\setslot{quotedblleft} - \comment{The English opening quote mark `\,\textquotedblleft\,'.} -\endsetslot - -\setslot{quotedblright} - \comment{The English closing quote mark `\,\textquotedblright\,'.} -\endsetslot - -\setslot{\lc{cyrFlex}{cyrflex}} - \comment{Cyrillic circumflex `\f{}'.} -\endsetslot - -\setslot{\lc{dblGrave}{dblgrave}} - \comment{Double grave accent `\C{}'.} -\endsetslot - -\setslot{\lc{cyrBreve}{cyrbreve}} - \comment{Cyrillic breve `\U{}'.} -\endsetslot - -\setslot{rangedash} - \ligature{LIG}{hyphen}{cyrdash} - \comment{The number range dash `1--9'. In a monowidth font, this - might be set as `{\tt 1{-}9}'.} -\endsetslot - -\setslot{cyrdash} - \comment{Cyrillic em dash---longer than endash, but shorter - than english emdash: `\cyrdash'.} -\endsetslot - -\setslot{compwordmark} - \comment{An invisible glyph, with zero width and depth, but the - height of lowercase letters without ascenders. - It is used to stop ligaturing in words like `shelf{}ful'.} -\endsetslot - -\setslot{perthousandzero} - \comment{A glyph which is placed after `\%' to produce a - `per-thousand', or twice to produce `per-ten-thousand'. - Your guess is as good as mine as to what this glyph should look - like in a monowidth font.} -\endsetslot - -\setslot{gravecross} - \comment{Modifier letter low grave accent `\slotexample'.} -\endsetslot - -\setslot{acutecross} - \comment{Modifier letter low acute accent `\slotexample'.} -\endsetslot - -\setslot{hcross} - \comment{Combining short stroke overlay `\slotexample'.} -\endsetslot - -\setslot{\uc{CYRDELTA}{cyrdelta}} - \comment{Cyrillic capital letter delta `\CYRDELTA'.} -\endsetslot - -\setslot{\lc{CYRDELTA}{cyrdelta}} - \comment{Cyrillic small letter delta `\cyrdelta'.} -\endsetslot - -\setslot{\uc{CYRNLHK}{cyrnlhk}} - \comment{Cyrillic capital letter en with left hook `\CYRNLHK'.} -\endsetslot - -\setslot{\lc{CYRNLHK}{cyrnlhk}} - \comment{Cyrillic small letter en with left hook `\cyrnlhk'.} -\endsetslot - -\setslot{visiblespace} - \comment{A visible space glyph `\textvisiblespace'.} -\endsetslot - -\setslot{exclam} - \comment{The exclamation mark `!'.} -\endsetslot - -\setslot{quotedbl} - \comment{The `neutral' double quotation mark `\,\textquotedbl\,', - included for use in monowidth fonts, or for setting computer - programs. Note that the inclusion of this glyph in this slot - means that \TeX\ documents which used `{\tt"}' as an - input character will no longer work.} -\endsetslot - -\setslot{numbersign} - \comment{The hash sign `\#'.} -\endsetslot - -\setslot{dollar} - \comment{The dollar sign `\$'.} -\endsetslot - -\setslot{percent} - \comment{The percent sign `\%'.} -\endsetslot - -\setslot{ampersand} - \comment{The ampersand sign `\&'.} -\endsetslot - -\setslot{quoteright} - \ligature{LIG}{quoteright}{quotedblright} - \comment{The English closing single quote mark `\,\textquoteright\,'.} -\endsetslot - -\setslot{parenleft} - \comment{The opening parenthesis `('.} -\endsetslot - -\setslot{parenright} - \comment{The closing parenthesis `)'.} -\endsetslot - -\setslot{asterisk} - \comment{The raised asterisk `*'.} -\endsetslot - -\setslot{plus} - \comment{The addition sign `+'.} -\endsetslot - -\setslot{comma} - \ligature{LIG}{comma}{quotedblbase} - \comment{The comma `,'.} -\endsetslot - -\setslot{hyphen} - \ligature{LIG}{hyphen}{rangedash} - \ligature{LIG}{hyphenchar}{hyphenchar} - \comment{The hyphen `-'.} -\endsetslot - -\setslot{period} - \comment{The period `.'.} -\endsetslot - -\setslot{slash} - \comment{The forward oblique `/'.} -\endsetslot - -\setslot{\digit{zero}} - \comment{The number `0'. This (and all the other numerals) may be - old style or ranging digits.} -\endsetslot - -\setslot{\digit{one}} - \comment{The number `1'.} -\endsetslot - -\setslot{\digit{two}} - \comment{The number `2'.} -\endsetslot - -\setslot{\digit{three}} - \comment{The number `3'.} -\endsetslot - -\setslot{\digit{four}} - \comment{The number `4'.} -\endsetslot - -\setslot{\digit{five}} - \comment{The number `5'.} -\endsetslot - -\setslot{\digit{six}} - \comment{The number `6'.} -\endsetslot - -\setslot{\digit{seven}} - \comment{The number `7'.} -\endsetslot - -\setslot{\digit{eight}} - \comment{The number `8'.} -\endsetslot - -\setslot{\digit{nine}} - \comment{The number `9'.} -\endsetslot - -\setslot{colon} - \comment{The colon punctuation mark `:'.} -\endsetslot - -\setslot{semicolon} - \comment{The semi-colon punctuation mark `;'.} -\endsetslot - -\setslot{less} - \ligature{LIG}{less}{guillemotleft} - \comment{The less-than sign `\textless'.} -\endsetslot - -\setslot{equal} - \comment{The equals sign `='.} -\endsetslot - -\setslot{greater} - \ligature{LIG}{greater}{guillemotright} - \comment{The greater-than sign `\textgreater'.} -\endsetslot - -\setslot{question} - \comment{The question mark `?'.} -\endsetslot - -\setslot{at} - \comment{The at sign `@'.} -\endsetslot - -\setslot{\uc{CYRAE}{cyrae}} - \comment{Cyrillic capital ligature a ie `\CYRAE'.} -\endsetslot - -\setslot{\uc{CYRDJE}{cyrdje}} - \comment{Cyrillic capital letter dje `\CYRDJE'.} -\endsetslot - -\setslot{\uc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic capital letter tshe `\CYRTSHE'.} -\endsetslot - -\setslot{\uc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.} -\endsetslot - -\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.} -\endsetslot - -\setslot{\uc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.} -\endsetslot - -\setslot{\uc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.} -\endsetslot - -\setslot{\uc{CYRLDSC}{cyrldsc}} - \comment{Cyrillic capital letter el with descender `\CYRLDSC'.} -\endsetslot - -\setslot{\uc{CYRII}{cyrii}} - \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.} -\endsetslot - -\setslot{\uc{CYRJE}{cyrje}} - \comment{Cyrillic capital letter je `\CYRJE'.} -\endsetslot - -\setslot{\uc{CYRLJE}{cyrlje}} - \comment{Cyrillic capital letter lje `\CYRLJE'.} -\endsetslot - -\setslot{\uc{CYRMDSC}{cyrmdsc}} - \comment{Cyrillic capital letter em with descender `\CYRMDSC'.} -\endsetslot - -\setslot{\uc{CYRNJE}{cyrnje}} - \comment{Cyrillic capital letter nje `\CYRNJE'.} -\endsetslot - -\setslot{\uc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.} -\endsetslot - -\setslot{\uc{CYRPHK}{cyrphk}} - \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.} -\endsetslot - -\setslot{\uc{CYRRDSC}{cyrrdsc}} - \comment{Cyrillic capital letter er with descender `\CYRRDSC'.} -\endsetslot - -\setslot{\uc{CYRQ}{cyrq}} - \comment{Cyrillic capital letter q `\CYRQ'.} -\endsetslot - -\setslot{\uc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic capital letter te with descender `\CYRTDSC'.} -\endsetslot - -\setslot{\uc{CYRDZE}{cyrdze}} - \comment{Cyrillic capital letter dze `\CYRDZE'.} -\endsetslot - -\setslot{\uc{CYRTETSE}{cyrtetse}} - \comment{Cyrillic capital ligature te tse `\CYRTETSE'.} -\endsetslot - -\setslot{\uc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic capital letter dzhe `\CYRDZHE'.} -\endsetslot - -\setslot{\uc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.} -\endsetslot - -\setslot{\uc{CYRW}{cyrw}} - \comment{Cyrillic capital letter w `\CYRW'.} -\endsetslot - -\setslot{\uc{CYRYAT}{cyryat}} - \comment{Cyrillic capital letter yat `\CYRYAT'.} -\endsetslot - -\setslot{\uc{CYRBYUS}{cyrbyus}} - \comment{Cyrillic capital letter big yus `\CYRBYUS'.} -\endsetslot - -\setslot{\uc{CYRIZH}{cyrizh}} - \comment{Cyrillic capital letter izhitsa `\CYRIZH'.} -\endsetslot - -\setslot{bracketleft} - \comment{The opening square bracket `['.} -\endsetslot - -\setslot{backslash} - \comment{The backwards oblique `\textbackslash'.} -\endsetslot - -\setslot{bracketright} - \comment{The closing square bracket `]'.} -\endsetslot - -\setslot{asciicircum} - \comment{The ASCII upward-pointing arrow head `\textasciicircum'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{underscore} - \comment{The ASCII underline character `\textunderscore', usually - set on the baseline. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{quoteleft} - \ligature{LIG}{quoteleft}{quotedblleft} - \comment{The English opening single quote mark `\,\textquoteleft\,'.} -\endsetslot - -\setslot{\lc{CYRAE}{cyrae}} - \comment{Cyrillic small ligature a ie `\cyrae'.} -\endsetslot - -\setslot{\lc{CYRDJE}{cyrdje}} - \comment{Cyrillic small letter dje `\cyrdje'.} -\endsetslot - -\setslot{\lc{CYRTSHE}{cyrtshe}} - \comment{Cyrillic small letter tshe `\cyrtshe'.} -\endsetslot - -\setslot{\lc{CYRABHCH}{cyrabhch}} - \comment{Cyrillic small letter abkhasian che `\cyrabhch'.} -\endsetslot - -\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}} - \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.} -\endsetslot - -\setslot{\lc{CYRKVCRS}{cyrkvcrs}} - \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.} -\endsetslot - -\setslot{\lc{CYRKHCRS}{cyrkhcrs}} - \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.} -\endsetslot - -\setslot{\lc{CYRLDSC}{cyrldsc}} - \comment{Cyrillic small letter el with descender `\cyrldsc'.} -\endsetslot - -\setslot{\lc{CYRII}{cyrii}} - \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.} -\endsetslot - -\setslot{\lc{CYRJE}{cyrje}} - \comment{Cyrillic small letter je `\cyrje'.} -\endsetslot - -\setslot{\lc{CYRLJE}{cyrlje}} - \comment{Cyrillic small letter lje `\cyrlje'.} -\endsetslot - -\setslot{\lc{CYRMDSC}{cyrmdsc}} - \comment{Cyrillic small letter em with descender `\cyrmdsc'.} -\endsetslot - -\setslot{\lc{CYRNJE}{cyrnje}} - \comment{Cyrillic small letter nje `\cyrnje'.} -\endsetslot - -\setslot{\lc{CYRABHHA}{cyrabhha}} - \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.} -\endsetslot - -\setslot{\lc{CYRPHK}{cyrphk}} - \comment{Cyrillic small letter pe with middle hook `\cyrphk'.} -\endsetslot - -\setslot{\lc{CYRRDSC}{cyrrdsc}} - \comment{Cyrillic small letter er with descender `\cyrrdsc'.} -\endsetslot - -\setslot{\lc{CYRQ}{cyrq}} - \comment{Cyrillic small letter q `\cyrq'.} -\endsetslot - -\setslot{\lc{CYRTDSC}{cyrtdsc}} - \comment{Cyrillic small letter te with descender `\cyrtdsc'.} -\endsetslot - -\setslot{\lc{CYRDZE}{cyrdze}} - \comment{Cyrillic small letter dze `\cyrdze'.} -\endsetslot - -\setslot{\lc{CYRTETSE}{cyrtetse}} - \comment{Cyrillic small ligature te tse `\cyrtetse'.} -\endsetslot - -\setslot{\lc{CYRDZHE}{cyrdzhe}} - \comment{Cyrillic small letter dzhe `\cyrdzhe'.} -\endsetslot - -\setslot{\lc{CYRCHVCRS}{cyrchvcrs}} - \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.} -\endsetslot - -\setslot{\lc{CYRW}{cyrw}} - \comment{Cyrillic small letter w `\cyrw'.} -\endsetslot - -\setslot{\lc{CYRYAT}{cyryat}} - \comment{Cyrillic small letter yat `\cyryat'.} -\endsetslot - -\setslot{\lc{CYRBYUS}{cyrbyus}} - \comment{Cyrillic small letter big yus `\cyrbyus'.} -\endsetslot - -\setslot{\lc{CYRIZH}{cyrizh}} - \comment{Cyrillic small letter izhitsa `\cyrizh'.} -\endsetslot - -\setslot{braceleft} - \comment{The opening curly brace `\textbraceleft'.} -\endsetslot - -\setslot{bar} - \comment{The ASCII vertical bar `\textbar'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{braceright} - \comment{The closing curly brace `\textbraceright'.} -\endsetslot - -\setslot{asciitilde} - \comment{The ASCII tilde `\textasciitilde'. - This is included for compatibility with typewriter fonts used - for computer listings.} -\endsetslot - -\setslot{hyphenchar} - \comment{The glyph used for hyphenation in this font, which will - almost always be the same as `hyphen'.} -\endsetslot - -\setslot{\uc{CYRGUP}{cyrgup}} - \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.} -\endsetslot - -\setslot{\uc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.} -\endsetslot - -\setslot{\uc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.} -\endsetslot - -\setslot{\uc{CYRGHK}{cyrghk}} - \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.} -\endsetslot - -\setslot{\uc{CYRSHHA}{cyrshha}} - \comment{Cyrillic capital letter shha `\CYRSHHA'.} -\endsetslot - -\setslot{\uc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.} -\endsetslot - -\setslot{\uc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.} -\endsetslot - -\setslot{\uc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.} -\endsetslot - -\setslot{\uc{CYRYI}{cyryi}} - \comment{Cyrillic capital letter yi `\CYRYI'.} -\endsetslot - -\setslot{\uc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.} -\endsetslot - -\setslot{\uc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.} -\endsetslot - -\setslot{\uc{CYRKHK}{cyrkhk}} - \comment{Cyrillic capital letter ka with hook `\CYRKHK'.} -\endsetslot - -\setslot{\uc{CYRLHK}{cyrlhk}} - \comment{Cyrillic capital letter el with hook `\CYRLHK'.} -\endsetslot - -\setslot{\uc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic capital letter en with descender `\CYRNDSC'.} -\endsetslot - -\setslot{\uc{CYRNG}{cyrng}} - \comment{Cyrillic capital ligature en ghe `\CYRNG'.} -\endsetslot - -\setslot{\uc{CYRNHK}{cyrnhk}} - \comment{Cyrillic capital letter en with hook `\CYRNHK'.} -\endsetslot - -\setslot{\uc{CYROTLD}{cyrotld}} - \comment{Cyrillic capital letter barred o `\CYROTLD'.} -\endsetslot - -\setslot{\uc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic capital letter es with descender `\CYRSDSC'.} -\endsetslot - -\setslot{\uc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic capital letter short u `\CYRUSHRT'.} -\endsetslot - -\setslot{\uc{CYRY}{cyry}} - \comment{Cyrillic capital letter straight u `\CYRY'.} -\endsetslot - -\setslot{\uc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.} -\endsetslot - -\setslot{\uc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.} -\endsetslot - -\setslot{\uc{CYRHHK}{cyrhhk}} - \comment{Cyrillic capital letter ha with hook `\CYRHHK'.} -\endsetslot - -\setslot{\uc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.} -\endsetslot - -\setslot{\uc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.} -\endsetslot - -\setslot{\uc{CYRIE}{cyrie}} - \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.} -\endsetslot - -\setslot{\uc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic capital letter schwa `\CYRSCHWA'.} -\endsetslot - -\setslot{\uc{CYREPS}{cyreps}} - \comment{Cyrillic capital letter epsilon `\CYREPS'.} -\endsetslot - -\setslot{\uc{CYRYO}{cyryo}} - \comment{Cyrillic capital letter io `\CYRYO'.} -\endsetslot - -\setslot{numero} - \comment{The numero sign `\textnumero', similar to the letter `N' - with a raised `o', unavailable in most PostScript fonts.} -\endsetslot - -\setslot{currency} - \comment{The international currency sign, `\textcurrency'.} -\endsetslot - -\setslot{section} - \comment{The section mark `\textsection'.} -\endsetslot - -\setslot{\lc{CYRGUP}{cyrgup}} - \comment{Cyrillic small letter ghe with upturn `\cyrgup'.} -\endsetslot - -\setslot{\lc{CYRGHCRS}{cyrghcrs}} - \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.} -\endsetslot - -\setslot{\lc{CYRGDSC}{cyrgdsc}} - \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.} -\endsetslot - -\setslot{\lc{CYRGHK}{cyrghk}} - \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.} -\endsetslot - -\setslot{\lc{CYRSHHA}{cyrshha}} - \comment{Cyrillic small letter shha `\cyrshha'.} -\endsetslot - -\setslot{\lc{CYRZHDSC}{cyrzhdsc}} - \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.} -\endsetslot - -\setslot{\lc{CYRZDSC}{cyrzdsc}} - \comment{Cyrillic small letter ze with descender `\cyrzdsc'.} -\endsetslot - -\setslot{\lc{CYRABHDZE}{cyrabhdze}} - \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.} -\endsetslot - -\setslot{\lc{CYRYI}{cyryi}} - \comment{Cyrillic small letter yi `\cyryi'.} -\endsetslot - -\setslot{\lc{CYRKDSC}{cyrkdsc}} - \comment{Cyrillic small letter ka with descender `\cyrkdsc'.} -\endsetslot - -\setslot{\lc{CYRKBEAK}{cyrkbeak}} - \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.} -\endsetslot - -\setslot{\lc{CYRKHK}{cyrkhk}} - \comment{Cyrillic small letter ka with hook `\cyrkhk'.} -\endsetslot - -\setslot{\lc{CYRLHK}{cyrlhk}} - \comment{Cyrillic small letter el with hook `\cyrlhk'.} -\endsetslot - -\setslot{\lc{CYRNDSC}{cyrndsc}} - \comment{Cyrillic small letter en with descender `\cyrndsc'.} -\endsetslot - -\setslot{\lc{CYRNG}{cyrng}} - \comment{Cyrillic small ligature en ghe `\cyrng'.} -\endsetslot - -\setslot{\lc{CYRNHK}{cyrnhk}} - \comment{Cyrillic small letter en with hook `\cyrnhk'.} -\endsetslot - -\setslot{\lc{CYROTLD}{cyrotld}} - \comment{Cyrillic small letter barred o `\cyrotld'.} -\endsetslot - -\setslot{\lc{CYRSDSC}{cyrsdsc}} - \comment{Cyrillic small letter es with descender `\cyrsdsc'.} -\endsetslot - -\setslot{\lc{CYRUSHRT}{cyrushrt}} - \comment{Cyrillic small letter short u `\cyrushrt'.} -\endsetslot - -\setslot{\lc{CYRY}{cyry}} - \comment{Cyrillic small letter straight u `\cyry'.} -\endsetslot - -\setslot{\lc{CYRYHCRS}{cyryhcrs}} - \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.} -\endsetslot - -\setslot{\lc{CYRHDSC}{cyrhdsc}} - \comment{Cyrillic small letter ha with descender `\cyrhdsc'.} -\endsetslot - -\setslot{\lc{CYRHHK}{cyrhhk}} - \comment{Cyrillic small letter ha with hook `\cyrhhk'.} -\endsetslot - -\setslot{\lc{CYRCHLDSC}{cyrchldsc}} - \comment{Cyrillic small letter khakassian che `\cyrchldsc'.} -\endsetslot - -\setslot{\lc{CYRCHRDSC}{cyrchrdsc}} - \comment{Cyrillic small letter che with descender `\cyrchrdsc'.} -\endsetslot - -\setslot{\lc{CYRIE}{cyrie}} - \comment{Cyrillic small letter ukrainian ie `\cyrie'.} -\endsetslot - -\setslot{\lc{CYRSCHWA}{cyrschwa}} - \comment{Cyrillic small letter schwa `\cyrschwa'.} -\endsetslot - -\setslot{\lc{CYREPS}{cyreps}} - \comment{Cyrillic small letter epsilon `\cyreps'.} -\endsetslot - -\setslot{\lc{CYRYO}{cyryo}} - \comment{Cyrillic small letter io `\cyryo'.} -\endsetslot - -\setslot{quotedblbase} - \comment{A German double quote mark `\quotedblbase' similar to two commas, - but with tighter letterspacing and different sidebearings.} -\endsetslot - -\setslot{guillemotleft} - \comment{A Cyrillic double opening quote mark `\guillemotleft', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{guillemotright} - \comment{A Cyrillic double closing quote mark `\guillemotright', - unavailable in \plain\ \TeX.} -\endsetslot - -\setslot{\uc{CYRA}{cyra}} - \comment{Cyrillic capital letter a `\CYRA'.} -\endsetslot - -\setslot{\uc{CYRB}{cyrb}} - \comment{Cyrillic capital letter be `\CYRB'.} -\endsetslot - -\setslot{\uc{CYRV}{cyrv}} - \comment{Cyrillic capital letter ve `\CYRV'.} -\endsetslot - -\setslot{\uc{CYRG}{cyrg}} - \comment{Cyrillic capital letter ghe `\CYRG'.} -\endsetslot - -\setslot{\uc{CYRD}{cyrd}} - \comment{Cyrillic capital letter de `\CYRD'.} -\endsetslot - -\setslot{\uc{CYRE}{cyre}} - \comment{Cyrillic capital letter ie `\CYRE'.} -\endsetslot - -\setslot{\uc{CYRZH}{cyrzh}} - \comment{Cyrillic capital letter zhe `\CYRZH'.} -\endsetslot - -\setslot{\uc{CYRZ}{cyrz}} - \comment{Cyrillic capital letter ze `\CYRZ'.} -\endsetslot - -\setslot{\uc{CYRI}{cyri}} - \comment{Cyrillic capital letter i `\CYRI'.} -\endsetslot - -\setslot{\uc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic capital letter short i `\CYRISHRT'.} -\endsetslot - -\setslot{\uc{CYRK}{cyrk}} - \comment{Cyrillic capital letter ka `\CYRK'.} -\endsetslot - -\setslot{\uc{CYRL}{cyrl}} - \comment{Cyrillic capital letter el `\CYRL'.} -\endsetslot - -\setslot{\uc{CYRM}{cyrm}} - \comment{Cyrillic capital letter em `\CYRM'.} -\endsetslot - -\setslot{\uc{CYRN}{cyrn}} - \comment{Cyrillic capital letter en `\CYRN'.} -\endsetslot - -\setslot{\uc{CYRO}{cyro}} - \comment{Cyrillic capital letter o `\CYRO'.} -\endsetslot - -\setslot{\uc{CYRP}{cyrp}} - \comment{Cyrillic capital letter pe `\CYRP'.} -\endsetslot - -\setslot{\uc{CYRR}{cyrr}} - \comment{Cyrillic capital letter er `\CYRR'.} -\endsetslot - -\setslot{\uc{CYRS}{cyrs}} - \comment{Cyrillic capital letter es `\CYRS'.} -\endsetslot - -\setslot{\uc{CYRT}{cyrt}} - \comment{Cyrillic capital letter te `\CYRT'.} -\endsetslot - -\setslot{\uc{CYRU}{cyru}} - \comment{Cyrillic capital letter u `\CYRU'.} -\endsetslot - -\setslot{\uc{CYRF}{cyrf}} - \comment{Cyrillic capital letter ef `\CYRF'.} -\endsetslot - -\setslot{\uc{CYRH}{cyrh}} - \comment{Cyrillic capital letter ha `\CYRH'.} -\endsetslot - -\setslot{\uc{CYRC}{cyrc}} - \comment{Cyrillic capital letter tse `\CYRC'.} -\endsetslot - -\setslot{\uc{CYRCH}{cyrch}} - \comment{Cyrillic capital letter che `\CYRCH'.} -\endsetslot - -\setslot{\uc{CYRSH}{cyrsh}} - \comment{Cyrillic capital letter sha `\CYRSH'.} -\endsetslot - -\setslot{\uc{CYRSHCH}{cyrshch}} - \comment{Cyrillic capital letter shcha `\CYRSHCH'.} -\endsetslot - -\setslot{\uc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.} -\endsetslot - -\setslot{\uc{CYRERY}{cyrery}} - \comment{Cyrillic capital letter yeru `\CYRERY'.} -\endsetslot - -\setslot{\uc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.} -\endsetslot - -\setslot{\uc{CYREREV}{cyrerev}} - \comment{Cyrillic capital letter e `\CYREREV'.} -\endsetslot - -\setslot{\uc{CYRYU}{cyryu}} - \comment{Cyrillic capital letter yu `\CYRYU'.} -\endsetslot - -\setslot{\uc{CYRYA}{cyrya}} - \comment{Cyrillic capital letter ya `\CYRYA'.} -\endsetslot - -\setslot{\lc{CYRA}{cyra}} - \comment{Cyrillic small letter a `\cyra'.} -\endsetslot - -\setslot{\lc{CYRB}{cyrb}} - \comment{Cyrillic small letter be `\cyrb'.} -\endsetslot - -\setslot{\lc{CYRV}{cyrv}} - \comment{Cyrillic small letter ve `\cyrv'.} -\endsetslot - -\setslot{\lc{CYRG}{cyrg}} - \comment{Cyrillic small letter ghe `\cyrg'.} -\endsetslot - -\setslot{\lc{CYRD}{cyrd}} - \comment{Cyrillic small letter de `\cyrd'.} -\endsetslot - -\setslot{\lc{CYRE}{cyre}} - \comment{Cyrillic small letter ie `\cyre'.} -\endsetslot - -\setslot{\lc{CYRZH}{cyrzh}} - \comment{Cyrillic small letter zhe `\cyrzh'.} -\endsetslot - -\setslot{\lc{CYRZ}{cyrz}} - \comment{Cyrillic small letter ze `\cyrz'.} -\endsetslot - -\setslot{\lc{CYRI}{cyri}} - \comment{Cyrillic small letter i `\cyri'.} -\endsetslot - -\setslot{\lc{CYRISHRT}{cyrishrt}} - \comment{Cyrillic small letter short i `\cyrishrt'.} -\endsetslot - -\setslot{\lc{CYRK}{cyrk}} - \comment{Cyrillic small letter ka `\cyrk'.} -\endsetslot - -\setslot{\lc{CYRL}{cyrl}} - \comment{Cyrillic small letter el `\cyrl'.} -\endsetslot - -\setslot{\lc{CYRM}{cyrm}} - \comment{Cyrillic small letter em `\cyrm'.} -\endsetslot - -\setslot{\lc{CYRN}{cyrn}} - \comment{Cyrillic small letter en `\cyrn'.} -\endsetslot - -\setslot{\lc{CYRO}{cyro}} - \comment{Cyrillic small letter o `\cyro'.} -\endsetslot - -\setslot{\lc{CYRP}{cyrp}} - \comment{Cyrillic small letter pe `\cyrp'.} -\endsetslot - -\setslot{\lc{CYRR}{cyrr}} - \comment{Cyrillic small letter er `\cyrr'.} -\endsetslot - -\setslot{\lc{CYRS}{cyrs}} - \comment{Cyrillic small letter es `\cyrs'.} -\endsetslot - -\setslot{\lc{CYRT}{cyrt}} - \comment{Cyrillic small letter te `\cyrt'.} -\endsetslot - -\setslot{\lc{CYRU}{cyru}} - \comment{Cyrillic small letter u `\cyru'.} -\endsetslot - -\setslot{\lc{CYRF}{cyrf}} - \comment{Cyrillic small letter ef `\cyrf'.} -\endsetslot - -\setslot{\lc{CYRH}{cyrh}} - \comment{Cyrillic small letter ha `\cyrh'.} -\endsetslot - -\setslot{\lc{CYRC}{cyrc}} - \comment{Cyrillic small letter tse `\cyrc'.} -\endsetslot - -\setslot{\lc{CYRCH}{cyrch}} - \comment{Cyrillic small letter che `\cyrch'.} -\endsetslot - -\setslot{\lc{CYRSH}{cyrsh}} - \comment{Cyrillic small letter sha `\cyrsh'.} -\endsetslot - -\setslot{\lc{CYRSHCH}{cyrshch}} - \comment{Cyrillic small letter shcha `\cyrshch'.} -\endsetslot - -\setslot{\lc{CYRHRDSN}{cyrhrdsn}} - \comment{Cyrillic small letter hard sign `\cyrhrdsn'.} -\endsetslot - -\setslot{\lc{CYRERY}{cyrery}} - \comment{Cyrillic small letter yeru `\cyrery'.} -\endsetslot - -\setslot{\lc{CYRSFTSN}{cyrsftsn}} - \comment{Cyrillic small letter soft sign `\cyrsftsn'.} -\endsetslot - -\setslot{\lc{CYREREV}{cyrerev}} - \comment{Cyrillic small letter e `\cyrerev'.} -\endsetslot - -\setslot{\lc{CYRYU}{cyryu}} - \comment{Cyrillic small letter yu `\cyryu'.} -\endsetslot - -\setslot{\lc{CYRYA}{cyrya}} - \comment{Cyrillic small letter ya `\cyrya'.} -\endsetslot - -\endencoding -\end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinetx/8y.etx b/Master/texmf-dist/tex/fontinst/latinetx/8y.etx index 175da2047ec..d84921a5456 100644 --- a/Master/texmf-dist/tex/fontinst/latinetx/8y.etx +++ b/Master/texmf-dist/tex/fontinst/latinetx/8y.etx @@ -1,5 +1,6 @@ -% Copyright 1998, 1999 the fontinst maintenance team and any individual -% authors listed elsewhere in this file. All rights reserved. +% Copyright 1998, 1999, 2003, 2004 the fontinst maintenance team +% and any individual authors listed elsewhere in this file. +% All rights reserved. % % This file is part of the fontinst system version 1.9. % ----------------------------------------------------- @@ -11,8 +12,8 @@ %%% ==================================================================== %%% @TeX-font-encoding-file{ %%% author = "Ulrik Vieth and Lars Hellstr{\"o}m", -%%% version = "1.910", -%%% date = "2003-12-08", +%%% version = "1.928", +%%% date = "2004-09-24", %%% time = "21:21:00 +01:00", %%% filename = "8y.etx", %%% email = "fontinst@tug.org", @@ -41,7 +42,7 @@ \title{The \TeX'n'ANSI encoding vector} \author{Ulrik Vieth\and Lars Hellstr\"om} -\date{8 December 2003\\Version 1.927} +\date{13 September 2004\\Version 1.928} \begin{document} \maketitle @@ -127,6 +128,11 @@ The layout of the first 16 slots wase carefully chosen to avoid potentially dangerous slots 0 (NUL), 9 (HT), 10 (LF) and 13 (CR). \endcomment +\nextslot{1} +\setslot{Euro} + \comment{The Euro currency sign.} +\endsetslot + \nextslot{4} \setslot{fraction} \comment{The fraction slash `\textfractionsolidus'.} @@ -1292,4 +1298,8 @@ The noteworthy changes made to this document are as follows. Fixed two typos (\verb|\setslot| where it should be \verb|\nextslot|). (LH) +2004/09/13: + Added \texttt{Euro} in slot 1, as that is in \texttt{texnansi.enc}. + (LH, following a mail from Peter Harmard) + \end{document} diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx index 50f5a61f3de..4ed62672b38 100644 --- a/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx +++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx @@ -27,6 +27,8 @@ metrics for a small-caps font with the \texttt{TEX TYPEWRITER TEXT} codingscheme. It can also be used to install an \texttt{OT1}-% typewriter encoded font with small-caps in the places of the lower case. +\errorcontextlines=999 + \showbranches \encoding diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx index 610bf1c1eef..37e9c8e371b 100644 --- a/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx +++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx @@ -14,7 +14,7 @@ \documentclass[twocolumn]{article} \usepackage{fontdoc}[1999/10/16] -\title{The \texttt{OT1} encoding for typewriter fonts} +\title{The \texttt{OT1} encoding for italic typewriter fonts} \author{Alan Jeffrey\and Lars Hellstr\"om} \date{See also the normal \texttt{OT1} encoding} @@ -63,6 +63,8 @@ typewriter encoded font. 2002/07/31: Updated for v\,1.921 \texttt{ot1.etx} and corrected the name of the currency glyph. (LH) +2004/11/24: Added ``italic'' to the document title. (LH) + \end{document} diff --git a/Master/texmf-dist/tex/fontinst/mathetx/oml.etx b/Master/texmf-dist/tex/fontinst/mathetx/oml.etx index eee628677af..38ffb1f277f 100644 --- a/Master/texmf-dist/tex/fontinst/mathetx/oml.etx +++ b/Master/texmf-dist/tex/fontinst/mathetx/oml.etx @@ -3,8 +3,8 @@ %%% author = "Alan Jeffrey and Ulrik Vieth and %%% Lars Hellstr{\"o}m", %%% version = "1.921", -%%% date = "2002-07-27", -%%% time = "01:19:07 +02:00", +%%% date = "2004-11-24", +%%% time = "18:25:42 +01:00", %%% filename = "oml.etx", %%% email = "fontinst@cogs.susx.ac.uk", %%% URL = "http://www.tug.org/applications/fontinst/index.html", @@ -62,7 +62,7 @@ This document describes the \TeX\ math italic (OML) encoding. \setint{extraspace}{0} % extra space after . \begincomment -\section{Font dimensions}} +\section{Font dimensions} \endcomment \setfontdimen{1}{italicslant} % italic slant @@ -622,4 +622,6 @@ There are 128 glyphs in this encoding. 27 Jul 2002, v\,1.921: Using \verb"\setfontdimen" for specifying fontdimens. (LH) +24 Nov 2004: Corrected typo (extra right brace). (LH) + \end{document} diff --git a/Master/texmf-dist/tex/fontinst/mathetx/oms.etx b/Master/texmf-dist/tex/fontinst/mathetx/oms.etx index 7bed129bd57..9e139c1589f 100644 --- a/Master/texmf-dist/tex/fontinst/mathetx/oms.etx +++ b/Master/texmf-dist/tex/fontinst/mathetx/oms.etx @@ -2,9 +2,9 @@ %%% @TeX-font-encoding-file{ %%% author = "Alan Jeffrey and Ulrik Vieth and %%% Lars Hellstr{\"o}m", -%%% version = "1.921", -%%% date = "2002-07-27", -%%% time = "18:42:33 +02:00", +%%% version = "1.929", +%%% date = "2005-02-03", +%%% time = "14:24:50 +01:00", %%% filename = "oms.etx", %%% email = "fontinst@cogs.susx.ac.uk", %%% URL = "http://www.tug.org/applications/fontinst/index.html", @@ -22,11 +22,11 @@ \relax \documentclass[twocolumn]{article} -\usepackage{fontdoc}[2001/03/16] +\usepackage{fontdoc}[2004/11/24] \title{The \TeX\ math symbol encoding vector} \author{Alan Jeffrey, Ulrik Vieth} -\date{27 July 2002\\Version 1.921} +\date{3 February 2005\\Version 1.929} \begin{document} \maketitle @@ -351,7 +351,7 @@ There are 128 glyphs in this encoding. \endsetslot \setslot{logicalnot} - \comment{The negation symbol `$\neg$'.} + \comment{The negation symbol `$\plainneg$'.} \endsetslot \setslot{emptysetstress} @@ -571,7 +571,7 @@ There are 128 glyphs in this encoding. \endsetslot \setslot{wreathproduct} - \comment{The Wreath product symbol `$\wp$'.} + \comment{The Wreath product symbol `$\wr$'.} \endsetslot \setslot{radicallow} @@ -669,4 +669,10 @@ There are 128 glyphs in this encoding. fontdimens 1--7. Switched to setting fontdimens using \verb"\setfontdimen". (LH) +24 Nov 2004, v1.928: Changed \verb"\neg" to \verb"\plainneg" for + `\texttt{logicalnot}'. (LH) + +3 Feb 2005, v1.929: Corrected typo in wreath product comment. (LH) + Pointed out by Giuseppe Toscano. + \end{document} diff --git a/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx b/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx index 7542b1644c7..52b940e30df 100644 --- a/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx +++ b/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx @@ -3,8 +3,8 @@ %%% author = "Sebastian Rahtz and Ulrik Vieth and %%% Lars Hellstr{\"o}m", %%% version = "1.913", -%%% date = "2003-02-08", -%%% time = "16:44:56 +01:00", +%%% date = "2004-11-12", +%%% time = "16:53:13 +01:00", %%% filename = "ts1.etx", %%% email = "fontinst@cogs.susx.ac.uk", %%% URL = "http://www.thphy.uni-duesseldorf.de/~vieth/", @@ -624,7 +624,7 @@ This document describes the \TeX{} text companion encoding vector. \endsetslot \setslot{asciimacron} - \comment{An ASCII-style macron `\textmacron'. This is supposed + \comment{An ASCII-style macron `\textasciimacron'. This is supposed to be a character by itself rather than a combining accents.} \endsetslot @@ -757,4 +757,8 @@ slot for the Euro sign, and changes a few other Latin 1 slots. Moved changes list and some comments to end of file. \end{itemize} +LH, 2000/11/12: Corrected command name, should be +\verb|\textasciimacron|. + + \end{document} diff --git a/Master/texmf-dist/tex/latex/fontinst/fontdoc.sty b/Master/texmf-dist/tex/latex/fontinst/fontdoc.sty index 0c5e4c7b325..aca36f59f7a 100644 --- a/Master/texmf-dist/tex/latex/fontinst/fontdoc.sty +++ b/Master/texmf-dist/tex/latex/fontinst/fontdoc.sty @@ -27,10 +27,10 @@ %% generated. %% %%% From file: fibasics.dtx -\def\fontinstversion{1.927} +\def\fontinstversion{1.929} \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{fontdoc} -[2004/08/07 v\fontinstversion\space +[2005/02/05 v\fontinstversion\space fontinst documentation package] \newcommand*\needsfontinstversion[1]{% \ifFD@spec@ @@ -96,6 +96,7 @@ \newcommand\plain{\texttt{plain}} \let\plainint=\int \let\plaindiv=\div +\let\plainneg=\neg \let\plainmax=\max \let\plainmin=\min \newcount\list@item@counter @@ -840,7 +841,6 @@ $\TypesetIntegerExpression{#1}#2\TypesetIntegerExpression{#3}$% }% } - \newcommand\setint[2]{% \Bheading{Default} \(\TypesetIntegerExpression{\int{#1}}\) = \(\TypesetIntegerExpression{#2}\)% @@ -926,9 +926,7 @@ \global\slot@number=0% \FD@slot@known@true \IfFileExists{\lowercase@file.etx}{% - \def\relax{\let\relax=\x@relax\iffalse}% - \let\encoding=\fi - \outer\x@cs\def{endencoding}{\endinput}% + \FD@relax@encoding@tricks \@@input \@filef@und \let\relax=\x@relax }{% @@ -938,6 +936,11 @@ } \endgroup } +\def\FD@relax@encoding@tricks{% + \def\relax{\let\relax=\x@relax\iffalse}% + \let\encoding=\fi + \outer\x@cs\def{endencoding}{\endinput}% +} \def\encoding{% \par \ifFD@spec@ \addvspace{\bigskipamount}\fi @@ -1104,6 +1107,17 @@ } \providecommand*\FD@codepoint[1]{\texttt{U+\uppercase{#1}}} \providecommand*\FD@charname[1]{\textsc{\lowercase{#1}}} +\newcommand\charseq[1]{% + \comment{Unicode character sequence:}% + \begin{IfBranch}% + \def\Unicode##1##2{% + \noindent\FD@codepoint{##1} + \ifx\par##2\par\else(\FD@charname{##2})\fi + \par + }% + #1% + \end{IfBranch}% +} \def\varchar{\Bheading{Extensible glyph:}} \def\vartop#1{\Bheading{Top} \typeset@glyph{#1}} \def\varmid#1{\Bheading{Middle} \typeset@glyph{#1}} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 8e88149600f..99ffa3edea3 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -94,7 +94,7 @@ my @WorkingTLP = qw( feyn feynmf fge filecontents fink fixme flagderiv flippdf float floatrow flowfram fltpoint fmtcount fnbreak - fncychap foekfont fontch fontspec fonttable fontwrap + fncychap foekfont fontch fontinst fontspec fonttable fontwrap footbib footmisc footnpag forarray forloop formular fouridx fourier fouriernc fp fpl frankenstein free-math-font-survey |