diff options
Diffstat (limited to 'macros/latex/contrib/t2/etc')
23 files changed, 1906 insertions, 0 deletions
diff --git a/macros/latex/contrib/t2/etc/amsppt.diff b/macros/latex/contrib/t2/etc/amsppt.diff new file mode 100644 index 0000000000..ce07487559 --- /dev/null +++ b/macros/latex/contrib/t2/etc/amsppt.diff @@ -0,0 +1,61 @@ +--- amsppt.sty.orig Sun Feb 2 19:41:23 1997 ++++ amsppt.sty Tue Oct 20 12:11:07 1998 +@@ -119,21 +119,21 @@ + \expandafter\ifx\first@#1-\end-\empty@ \false@\else \true@\fi} + \endgroup + \message{more fonts,} +-\font@\tensmc=cmcsc10 \relax ++\font@\tensmc=\fontprefix csc10 \relax + \let\sevenex=\tenex % needs special handling in \PSAMSFonts +-\font@\sevenit=cmti7 \relax +-\font@\eightrm=cmr8 \relax % preloaded in plain.tex +-\font@\sixrm=cmr6 \relax % preloaded in plain.tex ++\font@\sevenit=\fontprefix ti7 \relax ++\font@\eightrm=\fontprefix r8 \relax % preloaded in plain.tex ++\font@\sixrm=\fontprefix r6 \relax % preloaded in plain.tex + \font@\eighti=cmmi8 \relax \skewchar\eighti='177 % preloaded + \font@\sixi=cmmi6 \relax \skewchar\sixi='177 % preloaded + \font@\eightsy=cmsy8 \relax \skewchar\eightsy='60 % preloaded + \font@\sixsy=cmsy6 \relax \skewchar\sixsy='60 % preloaded + \let\eightex=\tenex % needs special handling in \PSAMSFonts +-\font@\eightbf=cmbx8 \relax % preloaded in plain.tex +-\font@\sixbf=cmbx6 \relax % preloaded in plain.tex +-\font@\eightit=cmti8 \relax % preloaded in plain.tex +-\font@\eightsl=cmsl8 \relax % preloaded in plain.tex +-\font@\eighttt=cmtt8 \relax % preloaded in plain.tex ++\font@\eightbf=\fontprefix bx8 \relax % preloaded in plain.tex ++\font@\sixbf=\fontprefix bx6 \relax % preloaded in plain.tex ++\font@\eightit=\fontprefix ti8 \relax % preloaded in plain.tex ++\font@\eightsl=\fontprefix sl8 \relax % preloaded in plain.tex ++\font@\eighttt=\fontprefix tt8 \relax % preloaded in plain.tex + \let\eightsmc=\nullfont % needs special handling in \PSAMSFonts + \newtoks\tenpoint@ + \def\tenpoint{\normalbaselineskip12\p@ +@@ -223,7 +223,7 @@ + \else\ifnum##3=8 10 at8pt% + \else\ifnum##3=6 7 at6pt% + \else ##3\fi\fi\fi\relax}% +- \font@\eightsmc=cmcsc10 at 8pt ++ \font@\eightsmc=\fontprefix csc10 at 8pt + \font@\eightex=cmex10 at 8pt + \font@\sevenex=cmex10 at 7pt + \PSAMSFontstrue +@@ -266,7 +266,7 @@ + \let\loadextrafonts@\empty@ + \ifPSAMSFonts + \else +- \font@\eightsmc=cmcsc8 \relax ++ \font@\eightsmc=\fontprefix csc8 \relax + \font@\eightex=cmex8 \relax + \font@\sevenex=cmex7 \relax + \fi +@@ -936,7 +936,8 @@ + \def\vadjust##1{\holdover{\vadjust@{##1}}}% + \def\newpage{\vadjust{\vfill\break}}% + } +-\def\refstyle#1{\uppercase{% ++\ifx\@uppercase\undefined\let\@uppercase\uppercase\fi ++\def\refstyle#1{\@uppercase{% + \gdef\refstyle@{#1}% + \if#1A\relax \def\keyformat##1{[##1]\enspace\hfil}% + \else\if#1B\relax diff --git a/macros/latex/contrib/t2/etc/citehack.sty b/macros/latex/contrib/t2/etc/citehack.sty new file mode 100644 index 0000000000..4e44dc5417 --- /dev/null +++ b/macros/latex/contrib/t2/etc/citehack.sty @@ -0,0 +1,88 @@ +% This is the file citehack.sty of the T2 package. +% +% Allow inputenc-generated characters as references in \cite and \bibitem. +% Also in \label and \ref. + +\ProvidesPackage{citehack} + +\let\org@IeC\IeC +\def\tmp@IeC#1{\string\IeC\space{\string#1 }} + +% This is a modified \@bibitem command; +% we added \let\protect\noexpand, like in \@lbibitem, +% because the item may include, e.g., \IeC {...} +% or some other protected commands. +\def\@bibitem#1{\item\if@filesw {\let\protect\noexpand\immediate\write\@auxout + {\string\bibcite{#1}{\the\value{\@listctr}}}}\fi\ignorespaces} +%\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw +% {\let\protect\noexpand\let\IeC\tmp@IeC +% \immediate +% \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces} +%\def\@bibitem#1{\item\if@filesw \let\IeC\tmp@IeC\immediate\write\@auxout +% {\string\bibcite{#1}{\the\value{\@listctr}}}\let\IeC\org@IeC\fi\ignorespaces} + +\def\@citex[#1]#2{\let\IeC\tmp@IeC\edef\CH@temp{#2}\let\IeC\org@IeC + \let\@citea\@empty + \@cite{\@for\@citeb:=\CH@temp\do + {\@citea\def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} + +\def\nocite#1{\@bsphack + \let\IeC\tmp@IeC\edef\CH@temp{#1}\let\IeC\org@IeC + \@for\@citeb:=\CH@temp\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\G@refundefinedtrue + \@latex@warning{Citation `\@citeb' undefined}}{}}% + \@esphack} + +\def\@newl@bel#1#2#3{\let\IeC\tmp@IeC + \@ifundefined{#1@#2}% + \relax + {\gdef \@multiplelabels {% + \@latex@warning@no@line{There were multiply-defined labels}}% + \@latex@warning@no@line{Label `#2' multiply defined}}% + \global\@namedef{#1@#2}{#3}\let\IeC\org@IeC} + +% This is a modified \@testdef command taken from Babel: +\def\@testdef #1#2#3{% + \let\IeC\tmp@IeC + \expandafter\let\expandafter\bbl@tempa\csname #1@#2\endcsname + \def\bbl@tempb{#3}% + \ifx\bbl@tempa\relax\else + \edef\bbl@tempa{\expandafter\strip@prefix\meaning\bbl@tempa}\fi + \edef\bbl@tempb{\expandafter\strip@prefix\meaning\bbl@tempb}% + \ifx \bbl@tempa \bbl@tempb + \else \@tempswatrue \fi\let\IeC\org@IeC} + +% \ref, \pageref and \label support: +\DeclareRobustCommand\ref[1]{\let\IeC\tmp@IeC + \expandafter\let\expandafter\CH@temp\csname r@#1\endcsname + \let\IeC\org@IeC\@setref\CH@temp\@firstoftwo{#1}} +\DeclareRobustCommand\pageref[1]{\let\IeC\tmp@IeC + \expandafter\let\expandafter\CH@temp\csname r@#1\endcsname + \let\IeC\org@IeC\@setref\CH@temp\@secondoftwo{#1}} +\def\label#1{\let\IeC\tmp@IeC + \@bsphack\protected@write\@auxout{}{\string\newlabel{#1}{{\@currentlabel}{\thepage}}}\@esphack + \let\IeC\org@IeC} + +% varioref package support: +\def\vref@pagenum#1#2{\let\IeC\tmp@IeC + \@ifundefined{r@#2}{\@namedef{r@#2}{{??}{??}}}{}% + \edef#1{\expandafter\expandafter\expandafter + \@cdr\csname r@#2\endcsname + \@nil}% + \let\IeC\org@IeC} +\def\vrefpagenum#1#2{\let\IeC\tmp@IeC + \@ifundefined{r@#2}% + {\G@refundefinedtrue + \@latex@warning{Reference `#2' on page \thepage \space + undefined}}{}% + \let\IeC\org@IeC + \vref@pagenum{#1}{#2}} diff --git a/macros/latex/contrib/t2/etc/mathtext.dtx b/macros/latex/contrib/t2/etc/mathtext.dtx new file mode 100644 index 0000000000..96ba3baa27 --- /dev/null +++ b/macros/latex/contrib/t2/etc/mathtext.dtx @@ -0,0 +1,226 @@ +% \iffalse +%<*driver> +\documentclass{ltxdoc} +\begin{document} +\DocInput{mathtext.dtx} +\end{document} +%</driver> +% \fi +% +% \begin{macrocode} +%<*mathtext> +\ProvidesPackage{mathtext} + [2018/04/13 v1.1 transparent text-and-math defs] +% \end{macrocode} +% +% This stuff is intended to be put into the LaTeX kernel. +% It adds new NFSS user-level command: |\DeclareTextMathSymbol|. +% It does not touch in any way the previous behavior for encodings +% which do not use |\DeclareTextMathSymbol|. +% +% The symbols defined via |\DeclareTextMathSymbol| work transparently +% in both text and math mode. And interestingly, they expand a bit +% faster than `normal' text-only symbols defined via |\DeclareTextSymbol|. +% +% This is a redefinition of the |\@@enc@update| defined in +% |ltfssbas.dtx|. The only change is that we added updating of +% new commands like |\T2A-tmcmd| to |\@current@tmcmd| or from +% |\@changed@tmcmd|. These changes are fully backward-compatible, +% and do not change the previous behavior. +% \begin{macrocode} +\def\@@enc@update{% + \expandafter\let\csname\cf@encoding-cmd\endcsname\@changed@cmd + \expandafter\let\csname\cf@encoding-tmcmd\endcsname\@changed@tmcmd + \expandafter\let\csname\f@encoding-cmd\endcsname\@current@cmd + \expandafter\let\csname\f@encoding-tmcmd\endcsname\@current@tmcmd + \default@T + \csname T@\f@encoding\endcsname + \csname D@\f@encoding\endcsname + \let\enc@update\relax + \let\cf@encoding\f@encoding +} +% \end{macrocode} +% This is a new command, |\@current@tmcmd|, which is an analog of +% |\@current@cmd| for `text and math' symbols. +% \begin{macrocode} +\def\@current@tmcmd#1#2#3{% + \ifx\protect\@typeset@protect + \@tmchar#2#3% + \else + \noexpand#1% + \fi} +%<!warn>\def\@tmchar#1#2{\if@mmode#2\else#1\fi} +%<warn>\def\@tmchar#1#2{\if@mmode\math@warn#2\else#1\fi} +% \end{macrocode} +% This is a new command, |\@changed@tmcmd|, which is an analog of +% |\@changed@cmd| for `text and math' symbols. +% \begin{macrocode} +\def\@changed@tmcmd#1#2#3{% + \ifx\protect\@typeset@protect + \@tmchar@#1% + \else + \noexpand#1% + \fi} +\def\@tmchar@#1{% + \if@mmode + \expandafter\ifx\csname\cf@encoding math\string#1\endcsname\relax + \expandafter\ifx\csname ?math\string#1\endcsname\relax + \expandafter\def\csname ?math\string#1\endcsname{% + \TextSymbolUnavailable#1% + }% + \fi + \global\expandafter\let + \csname\cf@encoding math\string#1\expandafter\endcsname + \csname ?math\string#1\endcsname + \fi +%<!warn> \csname\cf@encoding math\string#1% +%<warn> \expandafter\math@warn\csname\cf@encoding math\string#1% + \expandafter\endcsname + \else + \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax + \expandafter\ifx\csname ?\string#1\endcsname\relax + \expandafter\def\csname ?\string#1\endcsname{% + \TextSymbolUnavailable#1% + }% + \fi + \global\expandafter\let + \csname\cf@encoding \string#1\expandafter\endcsname + \csname ?\string#1\endcsname + \fi + \csname\cf@encoding\string#1% + \expandafter\endcsname + \fi} +\expandafter\let\csname?-tmcmd\endcsname\@changed@tmcmd +% \end{macrocode} +% We should add initialization of |\|\meta{encoding}|-tmcmd| +% to be |\@changed@tmcmd| when the new encoding is declared. +% \begin{macrocode} +\def\DeclareFontEncoding@#1#2#3{% + \expandafter + \ifx\csname T@#1\endcsname\relax + \def\cdp@elt{\noexpand\cdp@elt}% + \xdef\cdp@list{\cdp@list\cdp@elt{#1}% + {\default@family}{\default@series}% + {\default@shape}}% + \expandafter\let\csname#1-cmd\endcsname\@changed@cmd + \expandafter\let\csname#1-tmcmd\endcsname\@changed@tmcmd +% \end{macrocode} +% 2018 addition to load UTF-8 support file (David Carlisle, for latex3 project) +% \begin{macrocode} + \begingroup + \wlog{Now handling font encoding #1 ...}% + \lowercase{% + \InputIfFileExists{#1enc.dfu}}% + {\wlog{... processing UTF-8 mapping file for font % + encoding #1}}% + {\wlog{... no UTF-8 mapping file for font encoding #1}}% + \endgroup +% \end{macrocode} +% end of 2018 addition +% \begin{macrocode} + \else + \@font@info{Redeclaring font encoding #1}% + \fi + \global\@namedef{T@#1}{#2}% + \global\@namedef{M@#1}{\default@M#3}% + \xdef\LastDeclaredEncoding{#1}% +% \end{macrocode} +% The following command is specific to the |mathtext| package, i.e.\ is +% not for `generic' transparent text and math: it declares a symbol font +% (which could then be redefined if necessary), which is needed to use +% the |\DeclareTextMathSymbol|. +% \begin{macrocode} + \DeclareSymbolFont{#1letters}{#1}\rmdefault\mddefault\updefault + } +% \end{macrocode} +% +% \begin{macro}{\DeclareTextMathSymbol} +% This is a new user-level NFSS macro. It is intended to be moved +% to |ltoutenc.dtx| or |ltfssdcl.dtx|. +% +% It was written by Werner Lemberg |<wl@gnu.org>|. +% +% Parameters are: name, encoding, category, math character class, +% and slot. +% +% \begin{macrocode} +\def\DeclareTextMathSymbol#1#2#3#4#5{% + \expandafter\def\expandafter#1% + \expandafter{% + \csname#2-tmcmd\expandafter\endcsname + \expandafter#1% + \csname#2\string#1\expandafter\endcsname + \csname#2math\string#1\endcsname + }% + \expandafter\chardef\csname#2\string#1\endcsname#5\relax + \expandafter\DeclareMathSymbol\csname#2math\string#1\endcsname + {#3}{#4}{#5}} +\@onlypreamble\DeclareTextMathSymbol +% \end{macrocode} +% \end{macro} +% +% The next few lines try to solve the following problem: if the first +% unexpandable token of a cell in |\halign| (or |\valign|) is a Cyrillic +% letter, then the look-ahead mechanism searching for possible |\omit| +% will expand the |\ifmmode| test used in definitions of Cyrillic +% letters, and e.g.~in the case of the |array| environment which +% switches to math mode, will return wrong result, which will lead to +% missing character or incorrect result. We use here some hackery and +% redefine the |\if@mmode| test for the |\halign| and |\valign| commands +% (as well as these commands). The really correct fix is possible within +% e-\TeX\ (so, one should make a support do use the best possible solution, +% and not only in this case). We ensure to execute this code only once, +% because otherwise an endless loop will arise (e.g. if both T2A and T2B +% are loaded in one document), because of |\halign| redefinition. +% \begin{macrocode} +\let\if@mmode\ifmmode +% \end{macrocode} +% This command stops look-ahead (protection is needed to avoid recursive +% expansion when |\protected@write| is used inside |\halign|): +% \begin{macrocode} +\DeclareRobustCommand\reset@if@mmode{\let\if@mmode\ifmmode} +\def\if@mmode@{\reset@if@mmode\ifmmode} +\let\org@halign\halign +\DeclareRobustCommand\halign{\let\if@mmode\if@mmode@\org@halign} +% \end{macrocode} +% wait until textcase and amsmath will not use "fake" |\valign| :-) +% \begin{macrocode} +%\let\org@valign\valign +%\DeclareRobustCommand\valign{\let\if@mmode\if@mmode@\org@valign} +% \end{macrocode} +% This is needed to make single Cyrillic letters (without braces) work as +% upper/lower indices (otherwise, |\let| will confuse \TeX). Do we need to +% set |\everydisplay| similarly (it seems that not)? +% \begin{macrocode} +\everymath\expandafter{\the\everymath\let\if@mmode\ifmmode} +% \end{macrocode} +% We redefine some \LaTeX{} text-only commands to work `transparently' +% in text and math mode. +% \begin{macrocode} +\def\DeclareTextSymbol#1#2#3{% + \DeclareTextMathSymbol#1{#2}\mathalpha{#2letters}{#3}} +% \end{macrocode} +% \begin{macro}{\gobble@math} +% \begin{macro}{\math@warn} +% These two commands are used for producing warning message +% if a symbol declared via |\DeclareTextMathSymbol| command occurs in +% math mode. This can be used e.g.\ to check that such symbols were not +% used unintentionally in math mode (say, some Cyrillic letter instead +% of similarly looking Latin letter; in general, Cyrillic letters are +% perfectly legal and certainly could be used in math mode). +% \begin{macrocode} +%<*warn> +\DeclareOption{warn}{% +\edef\reserved@a{\@backslashchar##1\expandafter\@gobble + \string\math\@backslashchar}% +\expandafter\def\expandafter\gobble@math\reserved@a{}% +\def\math@warn#1{#1\PackageWarning{mathtext}{letter + `\expandafter\gobble@math\string#1' used in math mode}}} +\let\math@warn\@empty +\ProcessOptions* +%</warn> +%</mathtext> +% \end{macrocode} +% \end{macro} +% \end{macro} +\endinput diff --git a/macros/latex/contrib/t2/etc/mathtext.ins b/macros/latex/contrib/t2/etc/mathtext.ins new file mode 100644 index 0000000000..61a532d2de --- /dev/null +++ b/macros/latex/contrib/t2/etc/mathtext.ins @@ -0,0 +1,8 @@ +\input docstrip +\keepsilent + +\generate{ + \file{mathtext.sty}{\from{mathtext.dtx}{mathtext,warn}} +} + +\endbatchfile diff --git a/macros/latex/contrib/t2/etc/misccorr.sty b/macros/latex/contrib/t2/etc/misccorr.sty new file mode 100644 index 0000000000..e82055ec37 --- /dev/null +++ b/macros/latex/contrib/t2/etc/misccorr.sty @@ -0,0 +1,309 @@ +% misccorr package +% Based on `russcorr' by Serge Lvovski and other sources. +% This package should be used IN ADDITION to BABEL's `russian' option. +% Mail bug reports, questions, comments, suggestions to vvv@vsu.ru +\ProvidesPackage{misccorr}[1999/09/23 v0.1 + misc corrections for russian typesetting] + +\newif\if@longtoc +\DeclareOption{longtoc}{\@longtoctrue} +\DeclareOption{shorttoc}{\@longtocfalse} +\newif\if@indentheadings +\DeclareOption{indentheadings}{\@indentheadingstrue} +\DeclareOption{noindentheadings}{\@indentheadingsfalse} +% Note that the default LaTeX behavior is \@longtocfalse +\ExecuteOptions{longtoc,noindentheadings} +\ProcessOptions + +% \varkappa, \leqslant, \geqslant, etc (in addition to \varepsilon, \varphi) +\RequirePackage{amssymb} + +\RequirePackage{enumerate}[1999/03/05] +\g@addto@macro\@enhook{% + \def\@tempb{\IeC{\CYRA}}% + \def\@tempc{\IeC{\cyra}}% + \ifx\@tempb\@entemp\def\@tempa{\@enLabel\Asbuk}\fi + \ifx\@tempc\@entemp\def\@tempa{\@enLabel\asbuk}\fi} + +% lists +% 襞信邑 "艺由粕蒙艺磐" 纤艺峙紊 enumerate +\def\labelenumi{\theenumi)} +\def\theenumii{\asbuk{enumii}} +\def\labelenumii{\theenumii)} +\def\p@enumii{\theenumi} +\def\labelenumiii{{\bf--}} +\let\theenumiii\relax +\def\p@enumiii{\theenumi\theenumii} +% +% 泡 诹幸旁赏 姿塘馁琢载 夼再遗 enumerate 囊涨 囊涨 ... +% +\def\enumerate{\ifnum \@enumdepth >2% 沦滔 3, 闻 2 +\@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list + {\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{\hss\llap{##1}}}\fi} +% +% 襞信邑 闲遗呐躺 纤艺峙紊 rlist +% 奶 酉谀廖裳 有捎讼, 讼韵屹 +% \item' 握团艺涝友 艺佑松蜕 抡俗镣 +% (釉蚁尬偻 奶 rlist, 幸闲捎钨蜕 奶 rlist[u]) +% +\@definecounter{rlistctr} +\newif\if@rlistsnested\@rlistsnestedfalse +\def\rlist{\@ifnextchar[{\@rlist}{\@rlist[l]}} +\def\@rlist[#1]{\if u#1\def\@tempa{A}\else\def\@tempa{a}\fi + \if@rlistsnested\@toodeep\else + \@rlistsnestedtrue + \edef\therlistctr{\expandafter\noexpand\csname + @\@tempa sbuk\endcsname\noexpand\c@rlistctr}% + \list{\labelrlist}{\usecounter + {rlistctr}}\fi} +\let\endrlist\endlist +\def\labelrlist{\therlistctr)} + +% Unfortunately, \@seccntformat is not reflected in toc. +% Hence, we had to hack up the definition of \@sect a little. +% In the LaTeX definition of |\@sect| we changed in two places +% |\numberline{\csname the#1\endcsname}| to +% |\numberline{\@tocseccntformat{#1}\relax}| +% and |#7| to |\if@longtoc#8\else#7\fi|. +% We preferred not to change |\numberline| e.g. +% |\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}| +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% + \@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\@tocseccntformat{#1}\relax}% + \fi + \if@longtoc#8\else#7\fi}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\@tocseccntformat{#1}\relax}% + \fi + \if@longtoc#8\else#7\fi}}% + \fi + \@xsect{#5}} +\def\@seccntformat#1{\csname the#1\endcsname.\enskip} +\def\@tocseccntformat#1{\csname the#1\endcsname.} + +\if@indentheadings +\def\section{\@startsection {section}{1}{\parindent}% + {3.5ex \@plus 1ex \@minus .2ex}% + {2.3ex \@plus.2ex}% + {\reset@font\Large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\parindent}% + {3.25ex\@plus 1ex \@minus .2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\large\bfseries}} +\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}% + {3.25ex\@plus 1ex \@minus .2ex}% + {1.5ex \@plus .2ex}% + {\reset@font\normalsize\bfseries}} +\fi + +\@ifundefined{chapter}{}{% +\def\postchapter{.} +\def\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{plain}% + \global\@topnum\z@ + \if@indentheadings\@afterindenttrue + \else\@afterindentfalse + \fi + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \refstepcounter{chapter}% + \typeout{\@chapapp\space\thechapter.}% + \addcontentsline{toc}{chapter}% + {\protect\numberline{\thechapter + \postchapter}% + \if@longtoc#2\else#1\fi}% + \else + \addcontentsline{toc}{chapter}% + {\if@longtoc#2\else#1\fi}\fi + \else + \addcontentsline{toc}{chapter}{\if@longtoc#2\else#1\fi} + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\p@}}% + \addtocontents{lot}{\protect\addvspace{10\p@}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +}% end of conditional +\@ifundefined{chapter}{}{% +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\reset@font \@tempdima\parindent \raggedright + \if@indentheadings\advance\leftskip\@tempdima\fi + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \huge\bfseries \@chapapp{} \thechapter\postchapter + \par\nobreak + \vskip 20\p@ + \fi + \fi + \interlinepenalty\@M + \Huge \bfseries #1\par + \nobreak + \vskip 40\p@ + }}% +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\reset@font \@tempdima\parindent \raggedright + \if@indentheadings\advance\leftskip\@tempdima\fi + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \nobreak + \vskip 40\p@ + }} +}% end of conditional + +% captions +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1. #2}% + \ifdim \wd\@tempboxa >\hsize + #1. #2\par +% \unhbox\@tempboxa\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} + +\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname + ext@#1\endcsname}{#1}{\protect\numberline{\csname + the#1\endcsname.}{\ignorespaces #2}}\begingroup + \@parboxrestore + \normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} + +% theorems +\def\afterthmseparator{.} +\expandafter\ifx\csname theoremstyle\endcsname\relax + \def\@begintheorem#1#2{\trivlist + \item[\hskip \labelsep{\bfseries #1\ #2\unskip\afterthmseparator + }]\itshape} + \def\@opargbegintheorem#1#2#3{\trivlist + \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)\afterthmseparator + }]\itshape} +\fi + +% class-dependent redefinitions: appendix and running heads +\@ifundefined{chapter}{% article +\renewcommand\appendix{\par + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \gdef\thesection{\@Asbuk\c@section}} +% 子粤滋盼 ".\@aftersepkern" 邢犹 蜗团伊 +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markboth {\MakeUppercase{% + \ifnum \c@secnumdepth >\z@ + \thesection\postsection\quad + \fi + ##1}}{}}% + \def\subsectionmark##1{% + \markright {% + \ifnum \c@secnumdepth >\@ne + \thesubsection\postsubsection\quad + \fi + ##1}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \thesection\postsection\quad + \fi + ##1}}}} +\fi +}{% not article +\renewcommand\appendix{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \gdef\@chapapp{\appendixname}% + \gdef\thechapter{\@Asbuk\c@chapter}} +\@ifundefined{abstractname}{}{\let\if@mainmatter\iftrue}% report +% 淖 幸下盘 邢犹 韵匏 诹团闻钨 瘟 夏晌 +\if@twoside + \def\ps@headings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark}% + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markboth {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ \thechapter. % + \fi + \fi + ##1}}{}}% + \def\sectionmark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\z@ + \thesection. % + \fi + ##1}}}} +\else + \def\ps@headings{% + \let\@oddfoot\@empty + \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% + \let\@mkboth\markboth + \def\chaptermark##1{% + \markright {\MakeUppercase{% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \@chapapp\ \thechapter. % + \fi + \fi + ##1}}}} +\fi +} + +% \cleardoublepage +% 南铝咨 \ps@empty ( 诹夏蜗 诹团紊 \hbox{} 瘟 \null) +\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else + {\null\ps@empty\newpage}\if@twocolumn{\null\ps@empty\newpage}\fi\fi\fi} + +\AtBeginDocument{\ifdim\hsize<\@cclv\p@\pretolerance\m@ne\fi} +\endinput diff --git a/macros/latex/contrib/t2/etc/rubibtex/README b/macros/latex/contrib/t2/etc/rubibtex/README new file mode 100644 index 0000000000..26dbe3aae1 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rubibtex/README @@ -0,0 +1,50 @@ +This is `rubibtex', a wrapper for `bibtex' which allows one to use +Russian letters as item names in bibliography with BIBTEX. It is part +of the T2 package. + +It is assumed that your rusification is based on a T2 package (for +other rusifications this problem may be absent or may be solved +differently). + +The discussed problem only arises when you are using Russian letters +as item names (i.e., in the argument of \bibitem command). This could +generally be avoided: simply name the reference keys of your books +with Latin letters, --- these reference keys are purely internal LaTeX +values, and do not appear in the DVI file. There are no problems with +using Russian letters in book names, and in all other places which go +to the DVI file. But it _may_ be convenient to use Russian reference +keys in your BIBTEX database files. + +You will need: + +1) LaTeX setup based on a T2 package (in particular, the citehack.sty + file which allows one to use Russian letters as references) + +2) BIBTEX which does not have problems with 8-bit characters + (otherwise it is impossible to use such BIBTEX in _any_ rusified TeX + environment). Unfortunately, the default bibtex32.exe and bibtex.exe + in a emTeX distribution appear to have problems with 8-bit characters. + Try using BIBTEX binaries found at CTAN:biblio/bibtex/8-bit. + +3) SED binary. It is available on any UNIX box. For DOS you can find + it at + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/sed118b.zip + + Copy `sed.exe' to a directory contained in %PATH% environment + variable. + +4) The `rubibtex' script/batch file. + +If reference names in your BIB database use russian letters, then run +`rubibtex' instead of `bibtex' (otherwise you can safely run bibtex). + +If you are using DOS, copy `rubibtex.sed' to `\emtex\data' directory, +and copy `rubibtex.bat' to `\emtex\bin' directory. + +If you are using UNIX, copy the `rubibtex' shell script to +e.g. `/usr/local/bin' directory. + +Note: we assume a cp866 encoding (of BIBTEX database files) for DOS +and koi8-r for UNIX. Change the encoding of `rubibtex.sed' or +`rubibtex' script otherwise. diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex b/macros/latex/contrib/t2/etc/rubibtex/rubibtex new file mode 100644 index 0000000000..3938157328 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex @@ -0,0 +1,110 @@ +#!/bin/sh + +# rubibtex, based on the original version contained in the t2 bundle. +# Thomas Esser, Public Domain. + +progname=rubibtex +tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ +job=$1 +backup="$tmpdir/orig.aux" + +case $job in + "") + echo "usage: $progname file" >&2 + exit 1 +esac + +if test ! -f "$job.aux"; then + echo "$progname: file \`$job.aux' does not exist." >&2 + exit 1 +fi + +trap ' + rm -rf "$tmpdir" + exit 1 +' 1 2 3 7 13 15 +(umask 077; mkdir "$tmpdir") \ + || { echo "$progname: could not create directory \`$tmpdir'" >&2; exit 1; } + +cat <"$job.aux" >"$backup" || { + echo "$progname: could not create backup of file \`$job.aux' as \`$backup'." >&2 + rm -rf "$tmpdir" + exit 1 +} + +sed ' + /^\\citation/ { + s/\\IeC {\\CYRA }/锟/g + s/\\IeC {\\CYRB }/锟/g + s/\\IeC {\\CYRV }/锟/g + s/\\IeC {\\CYRG }/锟/g + s/\\IeC {\\CYRD }/锟/g + s/\\IeC {\\CYRE }/锟/g + s/\\IeC {\\CYRYO }/锟/g + s/\\IeC {\\CYRZH }/锟/g + s/\\IeC {\\CYRZ }/锟/g + s/\\IeC {\\CYRI }/锟/g + s/\\IeC {\\CYRISHRT }/锟/g + s/\\IeC {\\CYRK }/锟/g + s/\\IeC {\\CYRL }/锟/g + s/\\IeC {\\CYRM }/锟/g + s/\\IeC {\\CYRN }/锟/g + s/\\IeC {\\CYRO }/锟/g + s/\\IeC {\\CYRP }/锟/g + s/\\IeC {\\CYRR }/锟/g + s/\\IeC {\\CYRS }/锟/g + s/\\IeC {\\CYRT }/锟/g + s/\\IeC {\\CYRU }/锟/g + s/\\IeC {\\CYRF }/锟/g + s/\\IeC {\\CYRH }/锟/g + s/\\IeC {\\CYRC }/锟/g + s/\\IeC {\\CYRCH }/锟/g + s/\\IeC {\\CYRSH }/锟/g + s/\\IeC {\\CYRSHCH }/锟/g + s/\\IeC {\\CYRHRDSN }/锟/g + s/\\IeC {\\CYRERY }/锟/g + s/\\IeC {\\CYRSFTSN }/锟/g + s/\\IeC {\\CYREREV }/锟/g + s/\\IeC {\\CYRYU }/锟/g + s/\\IeC {\\CYRYA }/锟/g + s/\\IeC {\\cyra }/锟/g + s/\\IeC {\\cyrb }/锟/g + s/\\IeC {\\cyrv }/锟/g + s/\\IeC {\\cyrg }/锟/g + s/\\IeC {\\cyrd }/锟/g + s/\\IeC {\\cyre }/锟/g + s/\\IeC {\\cyryo }/锟/g + s/\\IeC {\\cyrzh }/锟/g + s/\\IeC {\\cyrz }/锟/g + s/\\IeC {\\cyri }/锟/g + s/\\IeC {\\cyrishrt }/锟/g + s/\\IeC {\\cyrk }/锟/g + s/\\IeC {\\cyrl }/锟/g + s/\\IeC {\\cyrm }/锟/g + s/\\IeC {\\cyrn }/锟/g + s/\\IeC {\\cyro }/锟/g + s/\\IeC {\\cyrp }/锟/g + s/\\IeC {\\cyrr }/锟/g + s/\\IeC {\\cyrs }/锟/g + s/\\IeC {\\cyrt }/锟/g + s/\\IeC {\\cyru }/锟/g + s/\\IeC {\\cyrf }/锟/g + s/\\IeC {\\cyrh }/锟/g + s/\\IeC {\\cyrc }/锟/g + s/\\IeC {\\cyrch }/锟/g + s/\\IeC {\\cyrsh }/锟/g + s/\\IeC {\\cyrshch }/锟/g + s/\\IeC {\\cyrhrdsn }/锟/g + s/\\IeC {\\cyrery }/锟/g + s/\\IeC {\\cyrsftsn }/锟/g + s/\\IeC {\\cyrerev }/锟/g + s/\\IeC {\\cyryu }/锟/g + s/\\IeC {\\cyrya }/锟/g + } +' <"$backup" >"$job.aux" + +bibtex "$job" + +cat "$backup" > "$job.aux" +rm -rf "$tmpdir" +exit 0 diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat new file mode 100644 index 0000000000..2f0be84cb4 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat @@ -0,0 +1,5 @@ +@echo off
+move %1.aux %TEMP%
+sed.exe -f %EMTEXDIR%\data\rubibtex.sed %TEMP%\%1.aux > %1.aux
+bibtex.exe -c %EMTEXDIR%\bibtex\csf\cp866rus.csf %1
+move %TEMP%\%1.aux .
diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old new file mode 100644 index 0000000000..8a7f617cde --- /dev/null +++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old @@ -0,0 +1,80 @@ +#!/bin/sh + +TEMP=${TMPDIR-/tmp} + +mv -f $1.aux $TEMP + +sed ' +/^\\citation/ { +s/\\IeC {\\CYRA }//g +s/\\IeC {\\CYRB }//g +s/\\IeC {\\CYRV }//g +s/\\IeC {\\CYRG }//g +s/\\IeC {\\CYRD }//g +s/\\IeC {\\CYRE }//g +s/\\IeC {\\CYRYO }//g +s/\\IeC {\\CYRZH }//g +s/\\IeC {\\CYRZ }//g +s/\\IeC {\\CYRI }//g +s/\\IeC {\\CYRISHRT }//g +s/\\IeC {\\CYRK }//g +s/\\IeC {\\CYRL }//g +s/\\IeC {\\CYRM }//g +s/\\IeC {\\CYRN }//g +s/\\IeC {\\CYRO }//g +s/\\IeC {\\CYRP }//g +s/\\IeC {\\CYRR }//g +s/\\IeC {\\CYRS }//g +s/\\IeC {\\CYRT }//g +s/\\IeC {\\CYRU }//g +s/\\IeC {\\CYRF }//g +s/\\IeC {\\CYRH }//g +s/\\IeC {\\CYRC }//g +s/\\IeC {\\CYRCH }//g +s/\\IeC {\\CYRSH }//g +s/\\IeC {\\CYRSHCH }//g +s/\\IeC {\\CYRHRDSN }//g +s/\\IeC {\\CYRERY }//g +s/\\IeC {\\CYRSFTSN }//g +s/\\IeC {\\CYREREV }//g +s/\\IeC {\\CYRYU }//g +s/\\IeC {\\CYRYA }//g +s/\\IeC {\\cyra }//g +s/\\IeC {\\cyrb }//g +s/\\IeC {\\cyrv }//g +s/\\IeC {\\cyrg }//g +s/\\IeC {\\cyrd }//g +s/\\IeC {\\cyre }//g +s/\\IeC {\\cyryo }//g +s/\\IeC {\\cyrzh }//g +s/\\IeC {\\cyrz }//g +s/\\IeC {\\cyri }//g +s/\\IeC {\\cyrishrt }//g +s/\\IeC {\\cyrk }//g +s/\\IeC {\\cyrl }//g +s/\\IeC {\\cyrm }//g +s/\\IeC {\\cyrn }//g +s/\\IeC {\\cyro }//g +s/\\IeC {\\cyrp }//g +s/\\IeC {\\cyrr }//g +s/\\IeC {\\cyrs }//g +s/\\IeC {\\cyrt }//g +s/\\IeC {\\cyru }//g +s/\\IeC {\\cyrf }//g +s/\\IeC {\\cyrh }//g +s/\\IeC {\\cyrc }//g +s/\\IeC {\\cyrch }//g +s/\\IeC {\\cyrsh }//g +s/\\IeC {\\cyrshch }//g +s/\\IeC {\\cyrhrdsn }//g +s/\\IeC {\\cyrery }//g +s/\\IeC {\\cyrsftsn }//g +s/\\IeC {\\cyrerev }//g +s/\\IeC {\\cyryu }//g +s/\\IeC {\\cyrya }//g +} +' $TEMP/$1.aux > $1.aux + +bibtex $1 + +mv -f $TEMP/$1.aux . diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed new file mode 100644 index 0000000000..099f89a565 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed @@ -0,0 +1,68 @@ +/^\\citation/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\cyrya }//g
+}
diff --git a/macros/latex/contrib/t2/etc/ruinpenc b/macros/latex/contrib/t2/etc/ruinpenc new file mode 100644 index 0000000000..fc1e4cb524 --- /dev/null +++ b/macros/latex/contrib/t2/etc/ruinpenc @@ -0,0 +1,67 @@ +#!/usr/bin/perl -p -i +s/\\IeC {\\CYRA }//g; +s/\\IeC {\\cyra }//g; +s/\\IeC {\\CYRB }//g; +s/\\IeC {\\cyrb }//g; +s/\\IeC {\\CYRV }//g; +s/\\IeC {\\cyrv }//g; +s/\\IeC {\\CYRG }//g; +s/\\IeC {\\cyrg }//g; +s/\\IeC {\\CYRD }//g; +s/\\IeC {\\cyrd }//g; +s/\\IeC {\\CYRE }//g; +s/\\IeC {\\cyre }//g; +s/\\IeC {\\CYRYO }//g; +s/\\IeC {\\cyryo }//g; +s/\\IeC {\\CYRZH }//g; +s/\\IeC {\\cyrzh }//g; +s/\\IeC {\\CYRZ }//g; +s/\\IeC {\\cyrz }//g; +s/\\IeC {\\CYRI }//g; +s/\\IeC {\\cyri }//g; +s/\\IeC {\\CYRISHRT }//g; +s/\\IeC {\\cyrishrt }//g; +s/\\IeC {\\CYRK }//g; +s/\\IeC {\\cyrk }//g; +s/\\IeC {\\CYRL }//g; +s/\\IeC {\\cyrl }//g; +s/\\IeC {\\CYRM }//g; +s/\\IeC {\\cyrm }//g; +s/\\IeC {\\CYRN }//g; +s/\\IeC {\\cyrn }//g; +s/\\IeC {\\CYRO }//g; +s/\\IeC {\\cyro }//g; +s/\\IeC {\\CYRP }//g; +s/\\IeC {\\cyrp }//g; +s/\\IeC {\\CYRR }//g; +s/\\IeC {\\cyrr }//g; +s/\\IeC {\\CYRS }//g; +s/\\IeC {\\cyrs }//g; +s/\\IeC {\\CYRT }//g; +s/\\IeC {\\cyrt }//g; +s/\\IeC {\\CYRU }//g; +s/\\IeC {\\cyru }//g; +s/\\IeC {\\CYRF }//g; +s/\\IeC {\\cyrf }//g; +s/\\IeC {\\CYRH }//g; +s/\\IeC {\\cyrh }//g; +s/\\IeC {\\CYRC }//g; +s/\\IeC {\\cyrc }//g; +s/\\IeC {\\CYRCH }//g; +s/\\IeC {\\cyrch }//g; +s/\\IeC {\\CYRSH }//g; +s/\\IeC {\\cyrsh }//g; +s/\\IeC {\\CYRSHCH }//g; +s/\\IeC {\\cyrshch }//g; +s/\\IeC {\\CYRHRDSN }//g; +s/\\IeC {\\cyrhrdsn }//g; +s/\\IeC {\\CYRERY }//g; +s/\\IeC {\\cyrery }//g; +s/\\IeC {\\CYRSFTSN }//g; +s/\\IeC {\\cyrsftsn }//g; +s/\\IeC {\\CYREREV }//g; +s/\\IeC {\\cyrerev }//g; +s/\\IeC {\\CYRYU }//g; +s/\\IeC {\\cyryu }//g; +s/\\IeC {\\CYRYA }//g; +s/\\IeC {\\cyrya }//g; diff --git a/macros/latex/contrib/t2/etc/rumkidx/README b/macros/latex/contrib/t2/etc/rumkidx/README new file mode 100644 index 0000000000..4adc40f214 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/README @@ -0,0 +1,44 @@ +This is `rumakeindex', a wrapper for `makeindex' which allows one to +get properly sorted index when Russian letters are used in index +entries. It is part of the T2 package. + +You will need: + +1) LaTeX setup based on a T2 package. + +2) MAKEINDEX utility which does not have problems with 8-bit characters. + mkidx32.exe in a emTeX distribution is Ok, as well as makeindex + from web2c distribution. + +3) SED binary. It is available on any UNIX box. For DOS you can find + it at + + ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/sed118b.zip + + Copy `sed.exe' to a directory contained in %PATH% environment + variable. + + Under UNIX, the `tr' utility is also used. It is emulated via the + `y' SED command in the DOS scripts. + +4) The `rumakeindex' script (or batch file `rumkidxd.bat' under DOS, + or `rumkidxw.bat' under Windows). + +If you are using the T2 package and are making indices with russian +letters, then run `rumakeindex' (or `rumkidxd.bat' under DOS, or +`rumkidxw.bat' under Windows) instead of `makeindex' (or `mkidx32.exe' +under DOS). + +If you are using emTeX under DOS, copy *.sed files to `\emtex\data' +directory, and copy `*.bat' files to `\emtex\bin' directory. + +If you are using UNIX, copy the `rumakeindex' shell script to +e.g. `/usr/local/bin' directory. + +Note: the encoding of generated .ind files is: + + koi8-r for `rumakeindex' (UNIX) + cp866 for `rumkidxd.bat' (MS-DOS) + cp1251 for `rumkidxw.bat' (MS-Windows) + +If you need some other encoding, just change the encoding of scripts. diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumakeindex b/macros/latex/contrib/t2/etc/rumkidx/rumakeindex new file mode 100644 index 0000000000..02598d3865 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumakeindex @@ -0,0 +1,77 @@ +#!/bin/sh + +BASE=`basename $1 .idx` +IDX=$BASE.idx +IND=$BASE.ind +ILG=$BASE.ilg + +sed ' +/^\\indexentry{/ { +s/\\IeC {\\CYRA }//g +s/\\IeC {\\cyra }//g +s/\\IeC {\\CYRB }//g +s/\\IeC {\\cyrb }//g +s/\\IeC {\\CYRV }//g +s/\\IeC {\\cyrv }//g +s/\\IeC {\\CYRG }//g +s/\\IeC {\\cyrg }//g +s/\\IeC {\\CYRD }//g +s/\\IeC {\\cyrd }//g +s/\\IeC {\\CYRE }//g +s/\\IeC {\\cyre }//g +s/\\IeC {\\CYRYO }//g +s/\\IeC {\\cyryo }//g +s/\\IeC {\\CYRZH }//g +s/\\IeC {\\cyrzh }//g +s/\\IeC {\\CYRZ }//g +s/\\IeC {\\cyrz }//g +s/\\IeC {\\CYRI }//g +s/\\IeC {\\cyri }//g +s/\\IeC {\\CYRISHRT }//g +s/\\IeC {\\cyrishrt }//g +s/\\IeC {\\CYRK }//g +s/\\IeC {\\cyrk }//g +s/\\IeC {\\CYRL }//g +s/\\IeC {\\cyrl }//g +s/\\IeC {\\CYRM }//g +s/\\IeC {\\cyrm }//g +s/\\IeC {\\CYRN }//g +s/\\IeC {\\cyrn }//g +s/\\IeC {\\CYRO }//g +s/\\IeC {\\cyro }//g +s/\\IeC {\\CYRP }//g +s/\\IeC {\\cyrp }//g +s/\\IeC {\\CYRR }//g +s/\\IeC {\\cyrr }//g +s/\\IeC {\\CYRS }//g +s/\\IeC {\\cyrs }//g +s/\\IeC {\\CYRT }//g +s/\\IeC {\\cyrt }//g +s/\\IeC {\\CYRU }//g +s/\\IeC {\\cyru }//g +s/\\IeC {\\CYRF }//g +s/\\IeC {\\cyrf }//g +s/\\IeC {\\CYRH }//g +s/\\IeC {\\cyrh }//g +s/\\IeC {\\CYRC }//g +s/\\IeC {\\cyrc }//g +s/\\IeC {\\CYRCH }//g +s/\\IeC {\\cyrch }//g +s/\\IeC {\\CYRSH }//g +s/\\IeC {\\cyrsh }//g +s/\\IeC {\\CYRSHCH }//g +s/\\IeC {\\cyrshch }//g +s/\\IeC {\\CYRHRDSN }//g +s/\\IeC {\\cyrhrdsn }//g +s/\\IeC {\\CYRERY }//g +s/\\IeC {\\cyrery }//g +s/\\IeC {\\CYRSFTSN }//g +s/\\IeC {\\cyrsftsn }//g +s/\\IeC {\\CYREREV }//g +s/\\IeC {\\cyrerev }//g +s/\\IeC {\\CYRYU }//g +s/\\IeC {\\cyryu }//g +s/\\IeC {\\CYRYA }//g +s/\\IeC {\\cyrya }//g +}' $IDX | makeindex -t $ILG | tr '究懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱噌忏溴骁栝觌祉铒瘃蝮趱鲼' \ + '崃饴髯缜淠迮常鲋樯晔胨焯硗钗锵鹦蛞笥粼跽嫫枞忝啭嬴攸茑礼' > $IND diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed new file mode 100644 index 0000000000..2c5d00a842 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed @@ -0,0 +1,68 @@ +/^\\indexentry{/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyrya }//g
+}
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed new file mode 100644 index 0000000000..7262921d80 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed @@ -0,0 +1 @@ +y/究懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱噌忏溴骁栝觌祉铒瘃蝮趱鲼/爜ヰ駟▔⿰獘珜瑣瓗畯瘣鄳釖鈸銛鋾鍠鏃鐦铏闅隂霚鞚頌顭/
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed new file mode 100644 index 0000000000..41653a663b --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed @@ -0,0 +1 @@ +y/究懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱噌忏溴骁栝觌祉铒瘃蝮趱鲼/类玲骡勉匿佩ǜ奇晴辱砷赎穗天晚晤巷叙疡因芋贼挣嘱作伉蠃邡埯茳蔟撖/
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat b/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat new file mode 100644 index 0000000000..0556b6ccaf --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat @@ -0,0 +1,2 @@ +@echo off
+sed -f %EMTEXDIR%\data\rumkidx1.sed %1.idx | mkidx32 -t %1.ilg | sed -f %EMTEXDIR%\data\rumkidx2.sed > %1.ind
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat b/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat new file mode 100644 index 0000000000..f62b6f96b8 --- /dev/null +++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat @@ -0,0 +1,2 @@ +@echo off
+sed -f %EMTEXDIR%\data\rumkidx1.sed %1.idx | mkidx32 -t %1.ilg | sed -f %EMTEXDIR%\data\rumkidx3.sed > %1.ind
diff --git a/macros/latex/contrib/t2/etc/t2filter.c b/macros/latex/contrib/t2/etc/t2filter.c new file mode 100644 index 0000000000..6abee5994b --- /dev/null +++ b/macros/latex/contrib/t2/etc/t2filter.c @@ -0,0 +1,51 @@ +/* A simple filter for translating TeX screen output from + * internal T2 encoding to koi8-r or cp866. Messages with + * overfull boxes will be readable, but context lines (in + * case of errors) will become unreadable. :-) + * + * Compile: + * cc -Wall -O2 -s -o t2filter t2filter.c + * + * Sample usage: + * latex filename.tex | t2filter + */ + +#include <unistd.h> + +#define BUFSIZE 1024 + +unsigned char xlt[] = { +#ifdef MSDOS /* t2 -> cp866 */ + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, + 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, + 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef +#else /* t2 -> koi8-r */ + 0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa, + 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, + 0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe, + 0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1, + 0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda, + 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, + 0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde, + 0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1 +#endif +}; + +int main(void) { + unsigned char buf[BUFSIZE]; + ssize_t n; + unsigned char *c; + + for(;;) { + if (!(n=read(0,buf,BUFSIZE))) + return 0; + for (c=buf;c<buf+n;c++) + if (*c>=0xc0) *c=xlt[*c-0xc0]; + write(1,buf,n); + } +} diff --git a/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex b/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex new file mode 100644 index 0000000000..58aafd5786 --- /dev/null +++ b/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex @@ -0,0 +1,28 @@ +\documentclass{article} + +\usepackage[utf-8]{inputenc} +\usepackage[T2A,T1]{fontenc} + +\begin{document} + +Czech (膷esky) Dobr媒 den + +French (Fran莽ais) Bonjour, Salut + +German (Deutsch S眉d) Gr眉脽 Gott + +Polish Dzie艅 dobry, Hej + +\fontencoding{T2A}\selectfont + +Russian (袪褍褋褋泻懈泄) 袟写褉邪胁褋褌胁褍泄褌械! + +\fontencoding{T1}\selectfont + +Slovak Dobr媒 de艌 + +Spanish (Espa帽ol) 隆Hola! + +Turkish (T眉rk莽e) Merhaba + +\end{document} diff --git a/macros/latex/contrib/t2/etc/utf-8/utf-8.def b/macros/latex/contrib/t2/etc/utf-8/utf-8.def new file mode 100644 index 0000000000..329b947e2a --- /dev/null +++ b/macros/latex/contrib/t2/etc/utf-8/utf-8.def @@ -0,0 +1,68 @@ +% Copyright 2000 Vladimir Volovich <vvv@vsu.ru> +\ProvidesFile{utf-8.def}[2000/08/19 v0.1 input encoding file for utf-8] + +\makeatletter +\let\@inpenc@test\relax + +\count@192 +\loop + \bgroup + \uccode`\~\count@ + \uppercase{% + \egroup + \def~##1{\csname U2\string~\string##1\endcsname}% + } +\ifnum\count@<223\relax + \advance\count@\@ne +\repeat + +\count@224 +\loop + \bgroup + \uccode`\~\count@ + \uppercase{% + \egroup + \def~##1##2{\csname U3\string~\string##1\string##2\endcsname}% + } +\ifnum\count@<239\relax + \advance\count@\@ne +\repeat + +% FIXME: define U4, U5, U6 + +\def\get@code#1#2;{\count@\if x\noexpand#1"\else#1\fi#2\relax} + +\def\UnicodeCharacter#1#2{% + \get@code#1;% + \ifnum\count@<"80\relax + \Error + \else\ifnum\count@<"800\relax + \@tempcnta\count@ + \divide\count@64 + \bgroup + \advance\count@192 + \uccode`\~\count@ + \uppercase{% + \egroup + \toks@{U2\string~}% + }% + \multiply\count@64 + \advance\@tempcnta-\count@ + \advance\@tempcnta"80 + \bgroup + \uccode`\~\@tempcnta + \uppercase{% + \egroup + \toks@\expandafter{\the\toks@\string~}% + }% + \expandafter\expandafter\expandafter + \def\expandafter\csname\the\toks@\endcsname{#2}% + \else + \Error + \fi\fi +} + +\@ifundefined{ver@utfcyr.def}{\input{utfcyr.def}}\relax +\@ifundefined{ver@utflat.def}{\input{utflat.def}}\relax + +\makeatother diff --git a/macros/latex/contrib/t2/etc/utf-8/utfcyr.def b/macros/latex/contrib/t2/etc/utf-8/utfcyr.def new file mode 100644 index 0000000000..2e97931c06 --- /dev/null +++ b/macros/latex/contrib/t2/etc/utf-8/utfcyr.def @@ -0,0 +1,264 @@ +% Copyright 2000 Vladimir Volovich <vvv@vsu.ru> +\ProvidesFile{utfcyr.def}[2000/08/19 v0.1 cyrillic definitions for utf-8] + +\UnicodeCharacter{x0300}{\`} +\UnicodeCharacter{x0301}{\'} +\UnicodeCharacter{x0302}{\^} +\UnicodeCharacter{x0303}{\~} +\UnicodeCharacter{x0304}{\=} +\UnicodeCharacter{x0306}{\u} +\UnicodeCharacter{x0307}{\.} +\UnicodeCharacter{x0308}{\"} +\UnicodeCharacter{x030A}{\r} +\UnicodeCharacter{x030B}{\H} +\UnicodeCharacter{x030C}{\v} +\UnicodeCharacter{x030F}{\C} +\UnicodeCharacter{x0311}{\f} +\UnicodeCharacter{x0323}{\d} +\UnicodeCharacter{x0327}{\c} +\UnicodeCharacter{x0328}{\k} +\UnicodeCharacter{x0331}{\b} +\UnicodeCharacter{x0400}{\`\CYRE} +\UnicodeCharacter{x0401}{\CYRYO} +\UnicodeCharacter{x0402}{\CYRDJE} +\UnicodeCharacter{x0403}{\'\CYRG} +\UnicodeCharacter{x0404}{\CYRIE} +\UnicodeCharacter{x0405}{\CYRDZE} +\UnicodeCharacter{x0406}{\CYRII} +\UnicodeCharacter{x0407}{\CYRYI} +\UnicodeCharacter{x0408}{\CYRJE} +\UnicodeCharacter{x0409}{\CYRLJE} +\UnicodeCharacter{x040A}{\CYRNJE} +\UnicodeCharacter{x040B}{\CYRTSHE} +\UnicodeCharacter{x040C}{\'\CYRK} +\UnicodeCharacter{x040D}{\`\CYRI} +\UnicodeCharacter{x040E}{\CYRUSHRT} +\UnicodeCharacter{x040F}{\CYRDZHE} +\UnicodeCharacter{x0410}{\CYRA} +\UnicodeCharacter{x0411}{\CYRB} +\UnicodeCharacter{x0412}{\CYRV} +\UnicodeCharacter{x0413}{\CYRG} +\UnicodeCharacter{x0414}{\CYRD} +\UnicodeCharacter{x0415}{\CYRE} +\UnicodeCharacter{x0416}{\CYRZH} +\UnicodeCharacter{x0417}{\CYRZ} +\UnicodeCharacter{x0418}{\CYRI} +\UnicodeCharacter{x0419}{\CYRISHRT} +\UnicodeCharacter{x041A}{\CYRK} +\UnicodeCharacter{x041B}{\CYRL} +\UnicodeCharacter{x041C}{\CYRM} +\UnicodeCharacter{x041D}{\CYRN} +\UnicodeCharacter{x041E}{\CYRO} +\UnicodeCharacter{x041F}{\CYRP} +\UnicodeCharacter{x0420}{\CYRR} +\UnicodeCharacter{x0421}{\CYRS} +\UnicodeCharacter{x0422}{\CYRT} +\UnicodeCharacter{x0423}{\CYRU} +\UnicodeCharacter{x0424}{\CYRF} +\UnicodeCharacter{x0425}{\CYRH} +\UnicodeCharacter{x0426}{\CYRC} +\UnicodeCharacter{x0427}{\CYRCH} +\UnicodeCharacter{x0428}{\CYRSH} +\UnicodeCharacter{x0429}{\CYRSHCH} +\UnicodeCharacter{x042A}{\CYRHRDSN} +\UnicodeCharacter{x042B}{\CYRERY} +\UnicodeCharacter{x042C}{\CYRSFTSN} +\UnicodeCharacter{x042D}{\CYREREV} +\UnicodeCharacter{x042E}{\CYRYU} +\UnicodeCharacter{x042F}{\CYRYA} +\UnicodeCharacter{x0430}{\cyra} +\UnicodeCharacter{x0431}{\cyrb} +\UnicodeCharacter{x0432}{\cyrv} +\UnicodeCharacter{x0433}{\cyrg} +\UnicodeCharacter{x0434}{\cyrd} +\UnicodeCharacter{x0435}{\cyre} +\UnicodeCharacter{x0436}{\cyrzh} +\UnicodeCharacter{x0437}{\cyrz} +\UnicodeCharacter{x0438}{\cyri} +\UnicodeCharacter{x0439}{\cyrishrt} +\UnicodeCharacter{x043A}{\cyrk} +\UnicodeCharacter{x043B}{\cyrl} +\UnicodeCharacter{x043C}{\cyrm} +\UnicodeCharacter{x043D}{\cyrn} +\UnicodeCharacter{x043E}{\cyro} +\UnicodeCharacter{x043F}{\cyrp} +\UnicodeCharacter{x0440}{\cyrr} +\UnicodeCharacter{x0441}{\cyrs} +\UnicodeCharacter{x0442}{\cyrt} +\UnicodeCharacter{x0443}{\cyru} +\UnicodeCharacter{x0444}{\cyrf} +\UnicodeCharacter{x0445}{\cyrh} +\UnicodeCharacter{x0446}{\cyrc} +\UnicodeCharacter{x0447}{\cyrch} +\UnicodeCharacter{x0448}{\cyrsh} +\UnicodeCharacter{x0449}{\cyrshch} +\UnicodeCharacter{x044A}{\cyrhrdsn} +\UnicodeCharacter{x044B}{\cyrery} +\UnicodeCharacter{x044C}{\cyrsftsn} +\UnicodeCharacter{x044D}{\cyrerev} +\UnicodeCharacter{x044E}{\cyryu} +\UnicodeCharacter{x044F}{\cyrya} +\UnicodeCharacter{x0450}{\`\cyre} +\UnicodeCharacter{x0451}{\cyryo} +\UnicodeCharacter{x0452}{\cyrdje} +\UnicodeCharacter{x0453}{\'\cyrg} +\UnicodeCharacter{x0454}{\cyrie} +\UnicodeCharacter{x0455}{\cyrdze} +\UnicodeCharacter{x0456}{\cyrii} +\UnicodeCharacter{x0457}{\cyryi} +\UnicodeCharacter{x0458}{\cyrje} +\UnicodeCharacter{x0459}{\cyrlje} +\UnicodeCharacter{x045A}{\cyrnje} +\UnicodeCharacter{x045B}{\cyrtshe} +\UnicodeCharacter{x045C}{\'\cyrk} +\UnicodeCharacter{x045D}{\`\cyri} +\UnicodeCharacter{x045E}{\cyrushrt} +\UnicodeCharacter{x045F}{\cyrdzhe} +\UnicodeCharacter{x0460}{\CYROMEGA} +\UnicodeCharacter{x0461}{\cyromega} +\UnicodeCharacter{x0462}{\CYRYAT} +\UnicodeCharacter{x0463}{\cyryat} +\UnicodeCharacter{x0464}{\CYRIOTE} +\UnicodeCharacter{x0465}{\cyriote} +\UnicodeCharacter{x0466}{\CYRLYUS} +\UnicodeCharacter{x0467}{\cyrlyus} +\UnicodeCharacter{x0468}{\CYRIOTLYUS} +\UnicodeCharacter{x0469}{\cyriotlyus} +\UnicodeCharacter{x046A}{\CYRBYUS} +\UnicodeCharacter{x046B}{\cyrbyus} +\UnicodeCharacter{x046C}{\CYRIOTBYUS} +\UnicodeCharacter{x046D}{\cyriotbyus} +\UnicodeCharacter{x046E}{\CYRKSI} +\UnicodeCharacter{x046F}{\cyrksi} +\UnicodeCharacter{x0470}{\CYRPSI} +\UnicodeCharacter{x0471}{\cyrpsi} +\UnicodeCharacter{x0472}{\CYRFITA} +\UnicodeCharacter{x0473}{\cyrfita} +\UnicodeCharacter{x0474}{\CYRIZH} +\UnicodeCharacter{x0475}{\cyrizh} +\UnicodeCharacter{x0476}{\C\CYRIZH} +\UnicodeCharacter{x0477}{\C\cyrizh} +\UnicodeCharacter{x0478}{\CYRUK} +\UnicodeCharacter{x0479}{\cyruk} +\UnicodeCharacter{x047A}{\CYROMEGARND} +\UnicodeCharacter{x047B}{\cyromegarnd} +\UnicodeCharacter{x047C}{\CYROMEGATITLO} +\UnicodeCharacter{x047D}{\cyromegatitlo} +\UnicodeCharacter{x047E}{\CYROT} +\UnicodeCharacter{x047F}{\cyrot} +\UnicodeCharacter{x0480}{\CYRKOPPA} +\UnicodeCharacter{x0481}{\cyrkoppa} +\UnicodeCharacter{x0482}{\cyrthousands} +\UnicodeCharacter{x0488}{\cyrhundredthousands} +\UnicodeCharacter{x0489}{\cyrmillions} +\UnicodeCharacter{x048C}{\CYRSEMISFTSN} +\UnicodeCharacter{x048D}{\cyrsemisftsn} +\UnicodeCharacter{x048E}{\CYRRTICK} +\UnicodeCharacter{x048F}{\cyrrtick} +\UnicodeCharacter{x0490}{\CYRGUP} +\UnicodeCharacter{x0491}{\cyrgup} +\UnicodeCharacter{x0492}{\CYRGHCRS} +\UnicodeCharacter{x0493}{\cyrghcrs} +\UnicodeCharacter{x0494}{\CYRGHK} +\UnicodeCharacter{x0495}{\cyrghk} +\UnicodeCharacter{x0496}{\CYRZHDSC} +\UnicodeCharacter{x0497}{\cyrzhdsc} +\UnicodeCharacter{x0498}{\CYRZDSC} +\UnicodeCharacter{x0499}{\cyrzdsc} +\UnicodeCharacter{x049A}{\CYRKDSC} +\UnicodeCharacter{x049B}{\cyrkdsc} +\UnicodeCharacter{x049C}{\CYRKVCRS} +\UnicodeCharacter{x049D}{\cyrkvcrs} +\UnicodeCharacter{x049E}{\CYRKHCRS} +\UnicodeCharacter{x049F}{\cyrkhcrs} +\UnicodeCharacter{x04A0}{\CYRKBEAK} +\UnicodeCharacter{x04A1}{\cyrkbeak} +\UnicodeCharacter{x04A2}{\CYRNDSC} +\UnicodeCharacter{x04A3}{\cyrndsc} +\UnicodeCharacter{x04A4}{\CYRNG} +\UnicodeCharacter{x04A5}{\cyrng} +\UnicodeCharacter{x04A6}{\CYRPHK} +\UnicodeCharacter{x04A7}{\cyrphk} +\UnicodeCharacter{x04A8}{\CYRABHHA} +\UnicodeCharacter{x04A9}{\cyrabhha} +\UnicodeCharacter{x04AA}{\CYRSDSC} +\UnicodeCharacter{x04AB}{\cyrsdsc} +\UnicodeCharacter{x04AC}{\CYRTDSC} +\UnicodeCharacter{x04AD}{\cyrtdsc} +\UnicodeCharacter{x04AE}{\CYRY} +\UnicodeCharacter{x04AF}{\cyry} +\UnicodeCharacter{x04B0}{\CYRYHCRS} +\UnicodeCharacter{x04B1}{\cyryhcrs} +\UnicodeCharacter{x04B2}{\CYRHDSC} +\UnicodeCharacter{x04B3}{\cyrhdsc} +\UnicodeCharacter{x04B4}{\CYRTETSE} +\UnicodeCharacter{x04B5}{\cyrtetse} +\UnicodeCharacter{x04B6}{\CYRCHRDSC} +\UnicodeCharacter{x04B7}{\cyrchrdsc} +\UnicodeCharacter{x04B8}{\CYRCHVCRS} +\UnicodeCharacter{x04B9}{\cyrchvcrs} +\UnicodeCharacter{x04BA}{\CYRSHHA} +\UnicodeCharacter{x04BB}{\cyrshha} +\UnicodeCharacter{x04BC}{\CYRABHCH} +\UnicodeCharacter{x04BD}{\cyrabhch} +\UnicodeCharacter{x04BE}{\CYRABHCHDSC} +\UnicodeCharacter{x04BF}{\cyrabhchdsc} +\UnicodeCharacter{x04C0}{\CYRpalochka} +\UnicodeCharacter{x04C1}{\U\CYRZH} +\UnicodeCharacter{x04C2}{\U\cyrzh} +\UnicodeCharacter{x04C3}{\CYRKHK} +\UnicodeCharacter{x04C4}{\cyrkhk} +\UnicodeCharacter{x04C7}{\CYRNHK} +\UnicodeCharacter{x04C8}{\cyrnhk} +\UnicodeCharacter{x04CB}{\CYRCHLDSC} +\UnicodeCharacter{x04CC}{\cyrchldsc} +\UnicodeCharacter{x04D0}{\U\CYRA} +\UnicodeCharacter{x04D1}{\U\cyra} +\UnicodeCharacter{x04D2}{\"\CYRA} +\UnicodeCharacter{x04D3}{\"\cyra} +\UnicodeCharacter{x04D4}{\CYRAE} +\UnicodeCharacter{x04D5}{\cyrae} +\UnicodeCharacter{x04D6}{\U\CYRE} +\UnicodeCharacter{x04D7}{\U\cyre} +\UnicodeCharacter{x04D8}{\CYRSCHWA} +\UnicodeCharacter{x04D9}{\cyrschwa} +\UnicodeCharacter{x04DA}{\"\CYRSCHWA} +\UnicodeCharacter{x04DB}{\"\cyrschwa} +\UnicodeCharacter{x04DC}{\"\CYRZH} +\UnicodeCharacter{x04DD}{\"\cyrzh} +\UnicodeCharacter{x04DE}{\"\CYRZ} +\UnicodeCharacter{x04DF}{\"\cyrz} +\UnicodeCharacter{x04E0}{\CYRABHDZE} +\UnicodeCharacter{x04E1}{\cyrabhdze} +\UnicodeCharacter{x04E2}{\=\CYRI} +\UnicodeCharacter{x04E3}{\=\cyri} +\UnicodeCharacter{x04E4}{\"\CYRI} +\UnicodeCharacter{x04E5}{\"\cyri} +\UnicodeCharacter{x04E6}{\"\CYRO} +\UnicodeCharacter{x04E7}{\"\cyro} +\UnicodeCharacter{x04E8}{\CYROTLD} +\UnicodeCharacter{x04E9}{\cyrotld} +\UnicodeCharacter{x04EA}{\"\CYROTLD} +\UnicodeCharacter{x04EB}{\"\cyrotld} +\UnicodeCharacter{x04EC}{\"\CYREREV} +\UnicodeCharacter{x04ED}{\"\cyrerev} +\UnicodeCharacter{x04EE}{\=\CYRU} +\UnicodeCharacter{x04EF}{\=\cyru} +\UnicodeCharacter{x04F0}{\"\CYRU} +\UnicodeCharacter{x04F1}{\"\cyru} +\UnicodeCharacter{x04F2}{\H\CYRU} +\UnicodeCharacter{x04F3}{\H\cyru} +\UnicodeCharacter{x04F4}{\"\CYRCH} +\UnicodeCharacter{x04F5}{\"\cyrch} +\UnicodeCharacter{x04F8}{\"\CYRERY} +\UnicodeCharacter{x04F9}{\"\cyrery} +%\UnicodeCharacter{x2116}{\textnumero} +%\UnicodeCharacter{x2329}{\cyrlangle} +%\UnicodeCharacter{x232A}{\cyrrangle} +%\UnicodeCharacter{xF6C4}{\cyrvarg} +%\UnicodeCharacter{xF6C5}{\cyrvarb} +%\UnicodeCharacter{xF6C6}{\cyrvard} +%\UnicodeCharacter{xF6C7}{\cyrvarp} +%\UnicodeCharacter{xF6C8}{\cyrvart} + +\endinput diff --git a/macros/latex/contrib/t2/etc/utf-8/utflat.def b/macros/latex/contrib/t2/etc/utf-8/utflat.def new file mode 100644 index 0000000000..3dfc1c55e9 --- /dev/null +++ b/macros/latex/contrib/t2/etc/utf-8/utflat.def @@ -0,0 +1,228 @@ +% Copyright 2000 Vladimir Volovich <vvv@vsu.ru> +\ProvidesFile{utflat.def}[2000/08/19 v0.1 latin definitions for utf-8] + +\UnicodeCharacter{x00A0}{~} +\UnicodeCharacter{x00A1}{\textexclamdown} +\UnicodeCharacter{x00A2}{\textcent} +\UnicodeCharacter{x00A3}{\textsterling} +\UnicodeCharacter{x00A4}{\textcurrency} +\UnicodeCharacter{x00A5}{\textyen} +\UnicodeCharacter{x00A6}{\textbrokenbar} +\UnicodeCharacter{x00A7}{\textsection} +\UnicodeCharacter{x00A8}{\textasciidieresis} +\UnicodeCharacter{x00A9}{\textcopyright} +\UnicodeCharacter{x00AA}{\textordfeminine} +\UnicodeCharacter{x00AB}{\guillemotleft} +\UnicodeCharacter{x00AC}{\lnot} +\UnicodeCharacter{x00AD}{\-} +\UnicodeCharacter{x00AE}{\textregistered} +\UnicodeCharacter{x00AF}{\textasciimacron} +\UnicodeCharacter{x00B0}{\textdegree} +\UnicodeCharacter{x00B1}{\pm} +\UnicodeCharacter{x00B2}{{^2}} +\UnicodeCharacter{x00B3}{{^3}} +\UnicodeCharacter{x00B4}{\textasciiacute} +\UnicodeCharacter{x00B5}{\mathrm{\mu}} +\UnicodeCharacter{x00B6}{\textparagraph} +\UnicodeCharacter{x00B7}{\cdot} +\UnicodeCharacter{x00B8}{\c{}} +\UnicodeCharacter{x00B9}{{^1}} +\UnicodeCharacter{x00BA}{\textordmasculine} +\UnicodeCharacter{x00BB}{\guillemotright} +\UnicodeCharacter{x00BC}{\textonequarter} +\UnicodeCharacter{x00BD}{\textonehalf} +\UnicodeCharacter{x00BE}{\textthreequarters} +\UnicodeCharacter{x00BF}{\textquestiondown} +\UnicodeCharacter{x00C0}{\`{A}} +\UnicodeCharacter{x00C1}{\'{A}} +\UnicodeCharacter{x00C2}{\^{A}} +\UnicodeCharacter{x00C3}{\~{A}} +\UnicodeCharacter{x00C4}{\"{A}} +\UnicodeCharacter{x00C5}{\AA} +\UnicodeCharacter{x00C6}{\AE} +\UnicodeCharacter{x00C7}{\c{C}} +\UnicodeCharacter{x00C8}{\`{E}} +\UnicodeCharacter{x00C9}{\'{E}} +\UnicodeCharacter{x00CA}{\^{E}} +\UnicodeCharacter{x00CB}{\"{E}} +\UnicodeCharacter{x00CC}{\`{I}} +\UnicodeCharacter{x00CD}{\'{I}} +\UnicodeCharacter{x00CE}{\^{I}} +\UnicodeCharacter{x00CF}{\"{I}} +\UnicodeCharacter{x00D0}{\DH} +\UnicodeCharacter{x00D1}{\~{N}} +\UnicodeCharacter{x00D2}{\`{O}} +\UnicodeCharacter{x00D3}{\'{O}} +\UnicodeCharacter{x00D4}{\^{O}} +\UnicodeCharacter{x00D5}{\~{O}} +\UnicodeCharacter{x00D6}{\"{O}} +\UnicodeCharacter{x00D7}{\texttimes} +\UnicodeCharacter{x00D8}{\O} +\UnicodeCharacter{x00D9}{\`{U}} +\UnicodeCharacter{x00DA}{\'{U}} +\UnicodeCharacter{x00DB}{\^{U}} +\UnicodeCharacter{x00DC}{\"{U}} +\UnicodeCharacter{x00DD}{\'{Y}} +\UnicodeCharacter{x00DE}{\TH} +\UnicodeCharacter{x00DF}{\ss} +\UnicodeCharacter{x00E0}{\`{a}} +\UnicodeCharacter{x00E1}{\'{a}} +\UnicodeCharacter{x00E2}{\^{a}} +\UnicodeCharacter{x00E3}{\~{a}} +\UnicodeCharacter{x00E4}{\"{a}} +\UnicodeCharacter{x00E5}{\aa} +\UnicodeCharacter{x00E6}{\ae} +\UnicodeCharacter{x00E7}{\c{c}} +\UnicodeCharacter{x00E8}{\`{e}} +\UnicodeCharacter{x00E9}{\'{e}} +\UnicodeCharacter{x00EA}{\^{e}} +\UnicodeCharacter{x00EB}{\"{e}} +\UnicodeCharacter{x00EC}{\`{\i}} +\UnicodeCharacter{x00ED}{\'{\i}} +\UnicodeCharacter{x00EE}{\^{\i}} +\UnicodeCharacter{x00EF}{\"{\i}} +\UnicodeCharacter{x00F0}{\dh} +\UnicodeCharacter{x00F1}{\~{n}} +\UnicodeCharacter{x00F2}{\`{o}} +\UnicodeCharacter{x00F3}{\'{o}} +\UnicodeCharacter{x00F4}{\^{o}} +\UnicodeCharacter{x00F5}{\~{o}} +\UnicodeCharacter{x00F6}{\"{o}} +\UnicodeCharacter{x00F7}{\div} +\UnicodeCharacter{x00F8}{\o} +\UnicodeCharacter{x00F9}{\`{u}} +\UnicodeCharacter{x00FA}{\'{u}} +\UnicodeCharacter{x00FB}{\^{u}} +\UnicodeCharacter{x00FC}{\"{u}} +\UnicodeCharacter{x00FD}{\'{y}} +\UnicodeCharacter{x00FE}{\th} +\UnicodeCharacter{x00FF}{\"{y}} +\UnicodeCharacter{x0100}{\={A}} +\UnicodeCharacter{x0101}{\={a}} +\UnicodeCharacter{x0102}{\u{A}} +\UnicodeCharacter{x0103}{\u{a}} +\UnicodeCharacter{x0104}{\k{A}} +\UnicodeCharacter{x0105}{\k{a}} +\UnicodeCharacter{x0106}{\'{C}} +\UnicodeCharacter{x0107}{\'{c}} +\UnicodeCharacter{x0108}{\^{C}} +\UnicodeCharacter{x0109}{\^{c}} +\UnicodeCharacter{x010A}{\.{C}} +\UnicodeCharacter{x010B}{\.{c}} +\UnicodeCharacter{x010C}{\v{C}} +\UnicodeCharacter{x010D}{\v{c}} +\UnicodeCharacter{x010E}{\v{D}} +\UnicodeCharacter{x010F}{\v{d}} +\UnicodeCharacter{x0110}{\DJ} +\UnicodeCharacter{x0111}{\dj} +\UnicodeCharacter{x0112}{\={E}} +\UnicodeCharacter{x0113}{\={e}} +\UnicodeCharacter{x0114}{\u{E}} +\UnicodeCharacter{x0115}{\u{e}} +\UnicodeCharacter{x0116}{\.{E}} +\UnicodeCharacter{x0117}{\.{e}} +\UnicodeCharacter{x0118}{\k{E}} +\UnicodeCharacter{x0119}{\k{e}} +\UnicodeCharacter{x011A}{\v{E}} +\UnicodeCharacter{x011B}{\v{e}} +\UnicodeCharacter{x011C}{\^{G}} +\UnicodeCharacter{x011D}{\^{g}} +\UnicodeCharacter{x011E}{\u{G}} +\UnicodeCharacter{x011F}{\u{g}} +\UnicodeCharacter{x0120}{\.{G}} +\UnicodeCharacter{x0121}{\.{g}} +\UnicodeCharacter{x0122}{\c{G}} +\UnicodeCharacter{x0123}{\c{g}} +\UnicodeCharacter{x0124}{\^{H}} +\UnicodeCharacter{x0125}{\^{h}} +%\UnicodeCharacter{x0126}{} +%\UnicodeCharacter{x0127}{} +\UnicodeCharacter{x0128}{\~{I}} +\UnicodeCharacter{x0129}{\~{\i}} +\UnicodeCharacter{x012A}{\={I}} +\UnicodeCharacter{x012B}{\={\i}} +\UnicodeCharacter{x012C}{\u{I}} +\UnicodeCharacter{x012D}{\u{\i}} +\UnicodeCharacter{x012E}{\k{I}} +\UnicodeCharacter{x012F}{\k{i}} +\UnicodeCharacter{x0130}{\.{I}} +\UnicodeCharacter{x0131}{\i} +\UnicodeCharacter{x0132}{IJ} +\UnicodeCharacter{x0133}{ij} +\UnicodeCharacter{x0134}{\^{J}} +\UnicodeCharacter{x0135}{\^{\j}} +\UnicodeCharacter{x0136}{\c{K}} +\UnicodeCharacter{x0137}{\c{k}} +%\UnicodeCharacter{x0138}{} +\UnicodeCharacter{x0139}{\'{L}} +\UnicodeCharacter{x013A}{\'{l}} +\UnicodeCharacter{x013B}{\c{L}} +\UnicodeCharacter{x013C}{\c{l}} +\UnicodeCharacter{x013D}{\v{L}} +\UnicodeCharacter{x013E}{\v{l}} +%\UnicodeCharacter{x013F}{} +%\UnicodeCharacter{x0140}{} +\UnicodeCharacter{x0141}{\L} +\UnicodeCharacter{x0142}{\l} +\UnicodeCharacter{x0143}{\'{N}} +\UnicodeCharacter{x0144}{\'{n}} +\UnicodeCharacter{x0145}{\c{N}} +\UnicodeCharacter{x0146}{\c{n}} +\UnicodeCharacter{x0147}{\v{N}} +\UnicodeCharacter{x0148}{\v{n}} +\UnicodeCharacter{x0149}{'n} +\UnicodeCharacter{x014A}{\NG} +\UnicodeCharacter{x014B}{\ng} +\UnicodeCharacter{x014C}{\={O}} +\UnicodeCharacter{x014D}{\={o}} +\UnicodeCharacter{x014E}{\u{O}} +\UnicodeCharacter{x014F}{\u{o}} +\UnicodeCharacter{x0150}{\H{O}} +\UnicodeCharacter{x0151}{\H{o}} +\UnicodeCharacter{x0152}{\OE} +\UnicodeCharacter{x0153}{\oe} +\UnicodeCharacter{x0154}{\'{R}} +\UnicodeCharacter{x0155}{\'{r}} +\UnicodeCharacter{x0156}{\c{R}} +\UnicodeCharacter{x0157}{\c{r}} +\UnicodeCharacter{x0158}{\v{R}} +\UnicodeCharacter{x0159}{\v{r}} +\UnicodeCharacter{x015A}{\'{S}} +\UnicodeCharacter{x015B}{\'{s}} +\UnicodeCharacter{x015C}{\^{S}} +\UnicodeCharacter{x015D}{\^{s}} +\UnicodeCharacter{x015E}{\c{S}} +\UnicodeCharacter{x015F}{\c{s}} +\UnicodeCharacter{x0160}{\v{S}} +\UnicodeCharacter{x0161}{\v{s}} +\UnicodeCharacter{x0162}{\c{T}} +\UnicodeCharacter{x0163}{\c{t}} +\UnicodeCharacter{x0164}{\v{T}} +\UnicodeCharacter{x0165}{\v{t}} +%\UnicodeCharacter{x0166}{} +%\UnicodeCharacter{x0167}{} +\UnicodeCharacter{x0168}{\~{U}} +\UnicodeCharacter{x0169}{\~{u}} +\UnicodeCharacter{x016A}{\={U}} +\UnicodeCharacter{x016B}{\={u}} +\UnicodeCharacter{x016C}{\u{U}} +\UnicodeCharacter{x016D}{\u{u}} +\UnicodeCharacter{x016E}{\r{U}} +\UnicodeCharacter{x016F}{\r{u}} +\UnicodeCharacter{x0170}{\H{U}} +\UnicodeCharacter{x0171}{\H{u}} +\UnicodeCharacter{x0172}{\k{U}} +\UnicodeCharacter{x0173}{\k{u}} +\UnicodeCharacter{x0174}{\^{W}} +\UnicodeCharacter{x0175}{\^{w}} +\UnicodeCharacter{x0176}{\^{Y}} +\UnicodeCharacter{x0177}{\^{y}} +\UnicodeCharacter{x0178}{\"{Y}} +\UnicodeCharacter{x0179}{\'{Z}} +\UnicodeCharacter{x017A}{\'{z}} +\UnicodeCharacter{x017B}{\.{Z}} +\UnicodeCharacter{x017C}{\.{z}} +\UnicodeCharacter{x017D}{\v{Z}} +\UnicodeCharacter{x017E}{\v{z}} + +\endinput |