summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ncclatex/ncc.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/ncclatex/ncc.cls')
-rw-r--r--Master/texmf-dist/tex/latex/ncclatex/ncc.cls258
1 files changed, 45 insertions, 213 deletions
diff --git a/Master/texmf-dist/tex/latex/ncclatex/ncc.cls b/Master/texmf-dist/tex/latex/ncclatex/ncc.cls
index 3548b61f54e..ffc2a048e20 100644
--- a/Master/texmf-dist/tex/latex/ncclatex/ncc.cls
+++ b/Master/texmf-dist/tex/latex/ncclatex/ncc.cls
@@ -1,6 +1,6 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{ncc}
- [2005/07/02 v1.08 NCC-LaTeX document class (NCC)]
+ [2006/01/17 v1.10 NCC-LaTeX document class (NCC)]
%
% \changes{v1.01}{2002/03/24}{This version is uploaded to CTAN}
% \changes{v1.02}{2002/04/03}{Bug in loading book class fixed}
@@ -18,25 +18,20 @@
% \changes{v1.07}{2005/05/20}{Move \StartFromHeaderArea to the nccsect package}
% \changes{v1.08}{2005/06/18}{Add titlepage*, \ExpandTextArea, \RestoreTextArea}
% \changes{v1.08}{2005/07/02}{Improve \ExpandTextArea command}
+% \changes{v1.09}{2005/12/24}{Move biblist to a separate package}
+% \changes{v1.09}{2005/12/24}{Unify toc-headers using topsection package}
+% \changes{v1.09}{2005/12/26}{Move titlepage and text area controls to separate packages}
+% \changes{v1.09}{2005/12/26}{Loading ncctitle package instead of ncctitle.clo}
+% \changes{v1.09}{2005/12/28}{Code revision and minor changes}
+% \changes{v1.09}{2005/12/28}{More minor changes}
+% \changes{v1.09}{2006/01/05}{The \SetTOCStyle was removed from here}
+% \changes{v1.10}{2006/01/17}{addtopackage -> afterpackage}
%
-\newcommand*\partmark[1]{}
\newcommand\@ptsize{}
\newif\if@restonecol
-\newdimen\bibindent
-\setlength\bibindent{1.5em}
-\let\@openbib@code\@empty
-%
-% \openrightorany clears page or double page depending on openright
-% mode selected.
-%
\newif\if@openright
-\newcommand{\openrightorany}{\clearpage\relax
- \if@openright \if@twoside
- \begingroup\let\leftmark\relax \cleardoublepage\endgroup
- \fi\fi
-}
%
-% What goes first in title: author or title
+% What goes first in title: author or title?
%
\newif\ifNCC@authorbeforetitle
\newcommand{\AuthorBeforeTitle}{\NCC@authorbeforetitletrue}
@@ -44,12 +39,6 @@
\@onlypreamble\AuthorBeforeTitle
\@onlypreamble\TitleBeforeAuthor
%
-% \SetTOCStyle{STYLE} sets a TOC style
-%
-\newcommand*{\SetTOCStyle}[1]{\def\NCC@tocstyle{#1}}
-\SetTOCStyle{}
-\@onlypreamble\SetTOCStyle
-%
% Paper size options
%
\DeclareOption{a4paper}
@@ -107,19 +96,12 @@
\itemindent -\bibindent
\listparindent \itemindent
\parsep \z@
- }%
- \renewcommand\newblock{\par}}%
+ }
+ \renewcommand\newblock{\par}
+ }%
}
%
-% Display math options are defined in nccmath. We need not define them here,
-% because they ar passed to nccmath as global options.
-%
-%\DeclareOption{fleqn}{\PassOptionsToPackage{\CurrentOption}{nccmath}}
-%\DeclareOption{leqno}{\PassOptionsToPackage{\CurrentOption}{nccmath}}
-%
-% Small headings in sections option is also not necessary here.
-%
-%\DeclareOption{small}{\PassOptionsToPackage{\CurrentOption}{ncclatex}}
+% \setyear{year} command defines \theyear
%
\newcommand*{\setyear}[1]{\gdef\theyear{#1}}
\newcommand\theyear{\number\year}
@@ -154,10 +136,15 @@
\def\NCC@clsload{%
\AuthorBeforeTitle
\input{nccart.clo}%
- \let\maketitle\relax % Remove these commands to allow creating
- \let\abstract\relax % them with \newcommand.
- \let\endabstract\relax %
- \input{ncctitle.clo}%
+ \RequirePackage{ncctitle}%
+ \RequirePackage{afterpackage}
+ \newcommand\preprintname{Preprint}
+ \AfterPackage{babel}{%
+ \addto\captionsrussian{%
+ \def\preprintname{%
+ {\cyr\CYRP\cyrr\cyre\cyrp\cyrr\cyri\cyrn\cyrt}}%
+ }
+ }
\newcommand*{\preprint}[1]{%
\def\thepreprint{##1}%
\ifx\thepreprint\@empty
@@ -176,8 +163,8 @@
\DeclareOption{book}{%
\def\NCC@clsload{%
\AuthorBeforeTitle
- \input{nccbook.clo}
- \input{ncctitle.clo}%
+ \input{nccbook.clo}%
+ \RequirePackage{ncctitle}%
\let\bookeditor\titlecomment
\pagestyle{headings}%
\countstyle{chapter}%
@@ -187,10 +174,6 @@
} % was loaded
\DeclareOption{report}{\ExecuteOptions{book,oneside}}
%
-% The russian option is also removed because it is passed as global one.
-%
-%\DeclareOption{russian}{\PassOptionsToPackage{\CurrentOption}{ncclatex}}
-%
% We set tbtags as the default tags positioning in split environment
%
\def\NCC@temp{\PassOptionsToPackage{tbtags}{nccmath}}
@@ -337,7 +320,7 @@
\newenvironment{table}{\@float{table}}{\end@float}
\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
%
-% Names of english captions
+% Names of standard english captions
%
\newcommand\prefacename{Preface}
\newcommand\contentsname{Contents}
@@ -353,7 +336,6 @@
\newcommand\chaptername{Chapter}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract}
-\newcommand\preprintname{Preprint}
%
% English version of \today
%
@@ -369,10 +351,21 @@
%
% Load remaining packages
%
-\RequirePackage{watermark}
\RequirePackage{ncclatex}
+\RequirePackage{topsection}
+\RequirePackage{watermark}
+\RequirePackage{ncctitlepage}
+\RequirePackage{nccheadings}
\RequirePackage{nccold}
-\ifNCC@rus \frenchspacing \fi % French spacing in russian typesetting
+%
+% Define the bibliography
+%
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+\let\@openbib@code\@empty
+\newcommand\newblock{\hskip .11em\@plus .33em\@minus .07em}
+\RequirePackage{nccbiblist}
+\def\NCC@biblisthook{\itemsep\parsep}
%
% noeqbreak supresses page breaks before display equations
% alloweqbreak[number] allows page breaks before display equations
@@ -411,143 +404,7 @@
\list{}{\rightmargin\leftmargin}\item\relax
}{\endlist}
%
-% The titlepage environment. Sets the empty page style at the top-level
-% title page. We suppose that a title page can contain many pages and many
-% title pages inside. The page counter is restored to its
-% original value after leaving a top-level title page.
-%
-\newif\ifNCC@intitle \NCC@intitlefalse
-\newenvironment{titlepage}{%
- \clearpage
- \if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
- \ifNCC@intitle
- \let\NCC@restorepagecount\@empty
- \else
- \pagestyle{empty}
- \edef\NCC@restorepagecount{%
- \noexpand\global\noexpand\c@page \@arabic\c@page\relax}%
- \setcounter{page}\z@
- \c@footnote\z@ \def\thefootnote{\@fnsymbol\c@footnote}%
- \NCC@intitletrue
- \fi
- \let\NCC@restoretextarea\@empty
-}{%
- \clearpage
- \NCC@restoretextarea
- \if@restonecol\twocolumn \fi
- \NCC@restorepagecount
-}
-%
-% The star-form of the titlepage environment works as an inner one,
-% i.e. it does not change the page counter.
-\newenvironment{titlepage*}{\NCC@intitletrue
- \clearpage\pagestyle{empty}\titlepage
-}{\endtitlepage}
-%
-% A text area can be expanded on the header, footer, and margins if
-% the \ExpandTextArea[hfm] command is used at the beginning of a page
-% in one-column mode.
-% The letters in optional argument mean the following: h (header),
-% f (footer), and m (margins). If an optional argument is omitted, or equal to
-% [*] the temporary expansion to the header is applied with the
-% \StartFromHeaderArea command.
-\newcommand*\RestoreTextArea{}
-\newcommand*\ExpandTextArea[1][*]{%
- \if@twocolumn
- \ClassError{ncc}{The \string\ExpandTextArea\space command\MessageBreak
- cannot work in two-column mode}{}%
- \else
- \def\@tempa{*}\edef\@tempb{#1}%
- \ifx\@tempa\@tempb
- \StartFromHeaderArea
- \else
- \ifx\RestoreTextArea\@empty
- \let\NCC@h\@empty \global\let\NCC@restore@h\@empty
- \let\NCC@f\@empty \global\let\NCC@restore@f\@empty
- \let\NCC@m\@empty \global\let\NCC@restore@m\@empty
- \expandafter\@tfor\expandafter\@tempa\expandafter:\expandafter=#1\do{%
- \if h\@tempa
- \def\NCC@h{\NCC@adjusttoheader{}}%
- \gdef\NCC@restore@h{\NCC@adjusttoheader-}%
- \else
- \if f\@tempa
- \def\NCC@f{\NCC@adjusttofooter{}}%
- \gdef\NCC@restore@f{\NCC@adjusttofooter-}%
- \else
- \if m\@tempa
- \if@reversemargin \@tempcnta\@ne \else \@tempcnta\tw@ \fi
- \edef\NCC@m{\noexpand\NCC@adjusttomargin{}{\the\@tempcnta}}%
- \xdef\NCC@restore@m{\noexpand\NCC@adjusttomargin-{\the\@tempcnta}}%
- \fi
- \fi
- \fi
- }%
- \NCC@h\NCC@f\NCC@m
- \StartFromTextArea
- \gdef\RestoreTextArea{%
- \NCC@restore@h\NCC@restore@f\NCC@restore@m
- \global\let\RestoreTextArea\@empty
- }%
- \def\NCC@restoretextarea{\RestoreTextArea}%
- \fi
- \fi
- \fi
-}
-\def\NCC@adjusttoheader#1{%
- \@tempdima #1\headheight
- \advance\@tempdima #1\headsep
- \global\advance\textheight\@tempdima
- \global\advance\topmargin-\@tempdima
- \global\@colht\textheight
- \global\@colroom\textheight
- \global\vsize\textheight
-}
-\def\NCC@adjusttofooter#1{%
- \global\advance\textheight#1\footskip
- \global\@colht\textheight
- \global\@colroom\textheight
- \global\vsize\textheight
-}
-\def\NCC@adjusttomargin#1#2{%
- \@tempdima #1\marginparwidth
- \advance\@tempdima #1\marginparsep
- \@tempcnta#2%
- \ifodd\@tempcnta
- \global\advance\oddsidemargin -\@tempdima
- \else
- \global\advance\evensidemargin -\@tempdima
- \fi
- \global\advance\textwidth\@tempdima
- \global\columnwidth\textwidth
- \global\linewidth\textwidth
- \global\hsize\textwidth
-}
-%
-% Bibliography without header. It is possible to set starting number
-% for bibliography counter.
-%
-% \begin{biblist}[start number]{prototype} ... \end{biblist}
-%
-\newcommand{\bibliststyle}{\small}
-\newenvironment*{biblist}[2][0]{
- \bibliststyle
- \list{\@biblabel{\@arabic\c@enumiv}}{%
- \settowidth\labelwidth{\@biblabel{#2}}%
- \leftmargin\labelwidth \advance\leftmargin\labelsep \itemsep\parsep
- \@openbib@code
- \usecounter{enumiv}\let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}%
- }%
- \setcounter{enumiv}{#1}%
- \sloppy \widowpenalty 4000
- \clubpenalty 4000 \@clubpenalty \clubpenalty
- \sfcode`\.\@m
-}{\def\@noitemerr{\@latex@warning{Empty `biblist' environment}}%
- \endlist
-}
-\newcommand{\newblock}{\hskip .11em\@plus .33em\@minus .07em}
-%
-% Footnote make commands.
+% Footnote making commands
%
\renewcommand{\footnoterule}{%
\kern-3\p@ \hrule\@width .4\columnwidth \kern2.6\p@
@@ -558,28 +415,20 @@
%
% \tableofcontents, \listoffigures, \listoftables
%
-% They use the \NCC@tochead{header} command defined later in subclasses
-%
\newcommand{\tableofcontents}{\NCC@toc\contentsname{toc}}
\newcommand{\listoffigures}{\NCC@toc\listfigurename{lof}}
\newcommand{\listoftables}{\NCC@toc\listtablename{lot}}
-\def\NCC@toc#1#2{%
- \NCC@tochead{#1}%
- \begingroup
- \normalfont \NCC@tocstyle\NCC@setpnum
- \@starttoc{#2}%
- \endgroup
-}
+\def\NCC@toc#1{\skipwritingtoaux\topsection{#1}\@starttoc}
%
-% theindex and theglossary. They are based on \NCC@idxhead{header}
-% defined later in subclasses
+% theindex and theglossary
%
\newenvironment{theindex}{\NCC@index\indexname}{\endNCC@index}
\newenvironment{theglossary}{\NCC@index\glossaryname}{\endNCC@index}
\newenvironment*{NCC@index}[1]{%
\if@twocolumn \@restonecolfalse \else \@restonecoltrue \fi
\columnseprule \z@ \columnsep 35\p@
- \NCC@idxhead{#1}%
+ \@iftopchapter{\twocolumn \topsection{#1}}%
+ {\twocolumn[\topsection{#1}]\thispageheading{}}%
\parindent\z@ \parskip\z@ \@plus .3\p@
\let\item\@idxitem \small
}{\if@restonecol\onecolumn \else \clearpage\fi}
@@ -588,28 +437,11 @@
\newcommand\subsubitem{\@idxitem \hspace*{4em}}
\newcommand\indexspace{\par \addvspace{4ex \@plus 1ex \@minus .5ex}}
%
-% NCC page style with headings
-%
-\def\NCC@setpsheading{%
- \let\@oddfoot\@empty\let\@evenfoot\@empty
- \def\@evenhead{%
- \thepage\hfil
- {\small\itshape\ignorespaces\leftmark\unskip}\hfil
- }%
- \def\@oddhead{%
- \hfil{\small\itshape\ignorespaces\rightmark\unskip}\hfil
- \thepage
- }%
- \reset@font
-}
-\def\NCC@firstmark#1{\markboth{#1}{#1}}
-\def\NCC@secondmark#1{\markright{#1}}
-%
% Final actions
%
\pagenumbering{arabic}
\NCC@clsload % load specified subclass
-\@onlypreamble\NCC@clsload
+\let\NCC@clsload\relax
\if@twocolumn
\twocolumn \sloppy \flushbottom
\else