diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:08:30 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:08:30 +0000 |
commit | 9c2380f55c4f48aeafffc091b5aee38295a12da4 (patch) | |
tree | 4758028c96fd928b7d557b7fd8ab194ae06e713a /Master/texmf-dist/tex/latex/t2/misccorr.sty | |
parent | a81f8bb58bc6bf52d25a58b67a4d1ccf5e58d9ea (diff) |
t2
git-svn-id: svn://tug.org/texlive/trunk@1368 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/t2/misccorr.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/t2/misccorr.sty | 311 |
1 files changed, 311 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/t2/misccorr.sty b/Master/texmf-dist/tex/latex/t2/misccorr.sty new file mode 100644 index 00000000000..e95f3c5c0f3 --- /dev/null +++ b/Master/texmf-dist/tex/latex/t2/misccorr.sty @@ -0,0 +1,311 @@ +% 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.0a + 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}} +% два пробела после точки заменены на один +\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 +\@ifundefined{abstractname}{% book +}{% report +\let\if@mainmatter\iftrue +}} + +% \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 |