summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ncclatex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ncclatex
Initial commit
Diffstat (limited to 'macros/latex/contrib/ncclatex')
-rw-r--r--macros/latex/contrib/ncclatex/README65
-rw-r--r--macros/latex/contrib/ncclatex/changes.txt363
-rw-r--r--macros/latex/contrib/ncclatex/cp1251-light.def133
-rw-r--r--macros/latex/contrib/ncclatex/manifest.txt50
-rw-r--r--macros/latex/contrib/ncclatex/ncc.cls451
-rw-r--r--macros/latex/contrib/ncclatex/ncc10.clo88
-rw-r--r--macros/latex/contrib/ncclatex/ncc11.clo88
-rw-r--r--macros/latex/contrib/ncclatex/ncc12.clo88
-rw-r--r--macros/latex/contrib/ncclatex/ncc14.clo88
-rw-r--r--macros/latex/contrib/ncclatex/nccart.clo61
-rw-r--r--macros/latex/contrib/ncclatex/nccbiblist.sty50
-rw-r--r--macros/latex/contrib/ncclatex/nccbook.clo31
-rw-r--r--macros/latex/contrib/ncclatex/nccdefaults.sty131
-rw-r--r--macros/latex/contrib/ncclatex/nccfit.clo43
-rw-r--r--macros/latex/contrib/ncclatex/ncchdr.sty59
-rw-r--r--macros/latex/contrib/ncclatex/nccheadings.sty74
-rw-r--r--macros/latex/contrib/ncclatex/nccindex.sty41
-rw-r--r--macros/latex/contrib/ncclatex/ncclatex.pdfbin0 -> 187689 bytes
-rw-r--r--macros/latex/contrib/ncclatex/ncclatex.sty160
-rw-r--r--macros/latex/contrib/ncclatex/ncclatex.tex1336
-rw-r--r--macros/latex/contrib/ncclatex/nccltrus.sty54
-rw-r--r--macros/latex/contrib/ncclatex/nccnews.pdfbin0 -> 431196 bytes
-rw-r--r--macros/latex/contrib/ncclatex/nccold.sty37
-rw-r--r--macros/latex/contrib/ncclatex/nccproc.cls68
-rw-r--r--macros/latex/contrib/ncclatex/nccsections.sty220
-rw-r--r--macros/latex/contrib/ncclatex/ncctheorems.sty82
-rw-r--r--macros/latex/contrib/ncclatex/ncctitle.clo19
-rw-r--r--macros/latex/contrib/ncclatex/ncctitle.sty233
-rw-r--r--macros/latex/contrib/ncclatex/ncctitlepage.sty44
-rw-r--r--macros/latex/contrib/ncclatex/sibjnm.cls124
30 files changed, 4281 insertions, 0 deletions
diff --git a/macros/latex/contrib/ncclatex/README b/macros/latex/contrib/ncclatex/README
new file mode 100644
index 0000000000..9040ac83fe
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/README
@@ -0,0 +1,65 @@
+
+README for the `ncclatex' bundle
+================================
+
+This `bundle' consists of LaTeX2e classes and packages written
+and supported by Alexander I. Rozhenko.
+
+To install the bungle, the files with extensions `.cls', `.clo',
+and `.sty' and the `cp1251-light.def' file should be moved to a
+directory on LaTeX's standard input path.
+
+***NOTE****
+Copyright is maintained by A. Rozhenko.
+
+All the classes and packages in this bundle are released under
+the restrictions detailed below.
+
+The file manifest.txt contains a list of files in the
+distribution together with short summary of each file.
+
+License Agreement
+=================
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
+
+Reporting Bugs
+==============
+
+To report a problem or bug in any of these classes or packages,
+describe it in free form and send it me to e-mail address
+
+ rozhenko@oapmg.sscc.ru
+
+When reporting bugs, please produce a small test file that shows the
+problem, and ensure that you are using the current version of the
+package, and of the base LaTeX software.
+
+
+Distribution of unchanged versions
+==================================
+
+ Redistribution of unchanged files is allowed provided that this
+ readme file is included and all the files for a package are
+ distributed together.
+
+
+Generation and distribution of changed versions
+===============================================
+
+ The generation of changed versions of the files included in these
+ packages is allowed under the restrictions listed in the file
+ legal.txt in the base LaTeX distribution. In particular you should:
+
+ - rename the file before you make any changes to it.
+
+ - change the error report address so that I do not get sent error
+ reports for files *not* maintained by me.
+
+ The distribution of changed versions of the files included in these
+ packages is allowed under the restrictions listed in the file
+ legal.txt in the base LaTeX distribution. In particular you should:
+
+ - also distribute the unmodified version of the file.
diff --git a/macros/latex/contrib/ncclatex/changes.txt b/macros/latex/contrib/ncclatex/changes.txt
new file mode 100644
index 0000000000..484ccc6968
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/changes.txt
@@ -0,0 +1,363 @@
+
+This file lists changes to the LaTeX2e files of `ncclatex' bundle in
+reverse chronological order.
+
+=======================================================================
+
+Jan 19, 2006 (Release 1.5)
+
+nccsections.sty Add modification of \NCC@secflush hook.
+
+Jan 17, 2006
+
+ncc.cls, nccdefaults.sty, ncclatex.sty, nccsections.sty, ncctheorems.sty:
+ Changes concerning with renaming the `addtopackage' package to
+ `afterpackage'.
+
+Jan 06, 2006
+
+nccdefaults.sty: Remove \SetTOCStyle and \ChapterPrefixStyle commands.
+ They are now moved to the `nccsect' package of the `ncctools'
+ bundle.
+
+=======================================================================
+
+Jan 05, 2006 (Release 1.4)
+
+nccdefaults.sty: The \SetTOCStyle command is placed here. It was moved
+ from the `ncc' class.
+
+ncc.cls: Remove the \SetTOCStyle command.
+
+Jan 01, 2006
+
+nccsections.sty: A new package. Applies a customization to sectioning
+ technique. Six customization options are allowed now with this
+ package: newsecstyle, newtocstyle, chapterinline, chaptersection,
+ partinline, partsection.
+
+ncclatex.sty: Minor changes. Remove some spaces.
+
+Dec 30, 2005
+
+nccdefaults.sty: Minor changes
+
+Dec 29, 2005
+
+nccbook.clo: Remove \DeclarePart and \DeclareTOCPart commands. They
+ are placed now in the `nccsect' package. Remove settings of
+ defaults for a part and its toc-entry.
+
+ncclatex.sty: Add default settings for a part.
+
+Dec 27, 2005
+
+nccdefaults.sty: A new package. It contains general default settings for
+ NCC-LaTeX. It is based on \AddToPackage command from the
+ `addtopackage' package of `ncctools'.
+
+ncctheorems.sty: A new package. It specifies NCC-LaTeX's theorem-like
+ environments when the nccthm package is loaded. It is based on
+ \AddToPackage command from the `addtopackage' package of `ncctools'.
+
+ncc.cls: Code revized. Minor changes.
+
+nccltrus.sty: Move some code to newly created packages.
+
+ncclatex.sty: Move some code to newly created packages and reorganize the
+ package. A new `minimize' option is introduced that does not load
+ some optional packages.
+
+nccproc.cls: Allows 11pt option.
+
+nccheadings.sty: A new package. It contains definition of `headings' and
+ `myheadings' page styles in NCC-style.
+
+ncchdr.sty: It is now based on the nccheadings package.
+
+nccart.clo: Remove page styles definition.
+
+nccbook.clo: Remove page styles definition.
+
+Dec 26, 2005
+
+ncctitlepage.sty: A new package. Its code was extracted from the `ncc'
+ class to allow use ncc-style title pages.
+
+ncctitle.sty: The class option file `ncctitle.clo' was renamed to this
+ package. Its contents was a bit modified to be independent on
+ `ncc' class. The `ncctitle.clo' file is obsolete now.
+
+ncc.cls: Remove titlepage and \ExpandTextArea definitions and replace
+ them with loading corresponding packages. Load now `ncctitle'
+ package instead of `ncctitle.clo' file.
+
+Dec 24, 2005
+
+cp1251-light.def: Bug fix. To be sure that \cyrillicencoding is not
+ specified, we now compare it with \undefined command. In previous
+ version, the \@ifundefined macro was used instead. The side effect
+ of this macro is that it lets an undefined command to be \relax.
+ This leads to a bug when a cyrillic font encoding does not loaded
+ before the russian style of babel.
+
+nccbiblist.sty: A new package. It defines the biblist environment and
+ redefines thebibliography environment. The definition of these
+ environments was extracted from the ncc class and made
+ class-independent on the base of the `topsection' package from
+ `ncctools'.
+
+ncc.cls: Use now the `nccbiblist' package for bibliography support. The
+ related staff was removed from the class, `nccart.clo', and
+ `nccbook.clo'. Preparing of tocs and indices is simplified on the
+ base of the `topsection' package from `ncctools'.
+
+nccindex.sty: Made independent on ncc class on the base of the `topsection'
+ package from `ncctools'.
+
+nccltrus.sty: Remove latest Babel's ``improvements'' to \flqq and \frqq
+ commands. The result of these improvements is that russian corner
+ quotes are taken from another font encoding than T2 and look very bad.
+
+=======================================================================
+
+Jul 25, 2005 (Release 1.3)
+
+ncctitle.clo: Fix the abstract environment (adjust end of abstract
+ with \vfill)
+
+Jul 02, 2005
+
+ncc.cls: Improve \ExpandTextArea command (take into account reverse-margin
+ mode when expand the text area on margins).
+
+nccltrus: Change \kern in \glqq shorthand with nonbreakable \hskip to allow
+ hyphenation a word going after.
+
+Jun 19, 2005
+
+ nccbook.clo: A page break after part-entry in toc is forbidden.
+ Add an optional afterskip parameter to \DeclareTOCPart command.
+
+Jun 18, 2005
+
+ ncc.cls: Introduce titlepage* environment, \ExpandTextArea and
+ \RestoreTextArea.
+ ncctitle.clo: Modify title area selection method on the base of
+ \ExpandTextArea command. Introduce \titleareadefault macro.
+
+=======================================================================
+
+Jun 08, 2005 (Release 1.2)
+
+ nccbook.clo: Fix bug with misusing chapter name instead of part name
+ in the \part command. Introduce the \DeclarePart and
+ \DeclareTOCPart commands.
+
+May 20, 2005
+
+ ncc: The \StartFromTextArea and \StratFromHeaderArea commands are
+ moved to the `nccsect' package of the `ncctools' bundle.
+
+ ncclatex: Change the required date in using the `nccsect' package.
+
+
+Apr 25, 2005
+
+ ncclatex: Declare equation counter in dynamic style using the new
+ emulation feature of the `dcounter' package.
+
+Apr 13, 2005
+
+ nccltrus: Add a small kern to German left double quote shorthand.
+
+Mar 30, 2005
+
+ ncc: Fix a bug in the \preprint command.
+
+Mar 24, 2005
+
+ A new package, `nccindex', is introduced.
+
+Mar 23, 2005
+
+ ncc.cls: Add an optional [num] parameter to \alloweqbreak command.
+ ncclatex.sty: Add the \NCC logo.
+ nccbook.clo, nccart.clo: Remove \skipwritingtoaux in index head.
+
+Feb 21, 2005
+
+ ncc: Set tbtags as the default positioning in split environment
+
+Feb 15, 2005
+
+ ncclatex: Redefinition of equation tag in \mathrm mode is moved from
+ the `nccmath' to this package.
+
+Feb 07, 2005
+
+ ncclatex: Remove \tr, \tl, and \tc commands. The \tc command
+ is moved to the nccboxes package from ncctools bundle.
+
+Jan 14, 2005
+
+ nccproc: Remove `small', `fleqn', and `leqno' options.
+
+Jan 12, 2005
+
+ ncc: Remove `small', `fleqn', `leqno', and `russian' options because
+ they are passed to loaded packages as global options and we need
+ not define them in the class.
+
+ ncchdr: Bug fix: \PassOptionToPackage replace with \PassOptionsToPackage.
+
+Jan 11, 2005
+
+ sibjnm: Remove `small', `fleqn', and `leqno' options bacause their
+ definition as nonused options doesn't work.
+
+Jan 09, 2005
+
+ Minor change in cp1251-light.def: replace \textrm{\normalfont...}
+ with \textnormal{...}. Test the \encodingdefault instead of
+ \cyrillicencoding if the last one is undefined.
+
+ ncclatex: add `T2A', `T2B', and `T2C' options. Load the `fontenc'
+ package if `russian' option is selected.
+
+ nccltrus: Improve the definition of \No command.
+
+=======================================================================
+
+Dec 17, 2004 (Release 1.1)
+
+ Fix ncclatex.tex guide to comply ncctools 3.0.
+
+Dec 16, 2004
+
+ ncc.cls: Remove \NCC@gempty command.
+
+ nccart.clo, ncctitle.clo: Replace \NCC@gempty to \@empty.
+
+Dec 12, 2004
+
+ ncclatex.sty: The latest version [2004/12/11] of nccsect.sty
+ from the ncctools bungle is required.
+
+ nccbook.clo: Modify the \part making command in correspondence
+ with the latest nccsect.sty.
+
+Dec 07, 2004
+
+ ncctitle.clo: Add \NCC@abstractstyle hook. Introduce commands
+ \abstractstyle, \bibindex, \copyrighttable, \fulltitle,
+ \makelastpage, \lastpagestretch, \lastpagestyle, \lastpagehead,
+ \lastpageinfo.
+
+Dec 06, 2004
+
+ nccart.clo, nccbook.clo, sibjnm.cls: Replace \NCC@null with
+ \StartFromTextArea.
+
+Nov 30, 2004
+
+ ncc.cls: Introduce \StartFromTextArea and \StartFromHeaderArea
+ commands. Inner changes in the titlepage environment, \preprint and
+ \bookeditor commands.
+
+ ncctitle.clo: Add \NCC@titlestyle hook. Introduce commands
+ \titlestretch, \titlehead, \titlesign, \titlefoot, \titlecomment.
+
+Sep 30, 2004
+
+ sibjnm.cls: Bug with omitted \@thanks fixed.
+
+=======================================================================
+
+Sep 23, 2004 (Release 1.05)
+
+ Introduce the `cp1251-light.def' file specifying the light version
+ of the CP1251 encoding. The light encoding allows using common
+ cyrillic letters in names of labels and in math mode.
+
+ ncc.cls: Making index commands are now loaded via the makeidx package.
+ In the previous version they were defined in the ncc class and an
+ error appeared if somebody tried to use the makeidx package together
+ with ncc class.
+
+ nccltrus.sty: Activate the CP1251-light encoding if cyrillic support
+ is loaded and no input encoding was specified. Remove a warning
+ appearing in Babel if the russian option specified but an input
+ encoding is undefined yet. This warning is not necessary now,
+ because the input encoding is specified later. Protect cyrillic
+ alpha-numbering with the \text command to avoid disappearing
+ a number in math mode.
+
+ sibjnm.cls: In English papers, load the nccltrus package instead
+ of Babel. Remove unnecessary \frenchspacing.
+
+=======================================================================
+
+Sep 18, 2004 (Release 1.04)
+
+ nccproc.cls: Inner documentation was corrected.
+
+Jul 13, 2004
+
+ nccart.clo: Replace \vskip in \@maketitle with \addvspace. Move
+ \@thanks from \maketitle to \@maketitle just before \addvspace.
+ These changes decrease a vertical space skipped after title in
+ article style if \section command goes next.
+
+Apr 24, 2004
+
+ nccltrus.sty: Protect the package from use out of NCC;
+ Partial activation of useful CP1251 symbols
+ (\CYRYO, \cyryo, and \textnumero).
+
+=======================================================================
+
+Apr 08, 2004 (Release 1.03)
+
+ The `russian' option processing is improved in `ncc.cls',
+ `ncclatex.sty', `nccltrus.sty', and `sibjnm.cls'.
+
+ The `nccproc.cls' class is introduced.
+
+Jan 12, 2003
+
+ nccbook.clo: Bug with \ChapterPrefixStyle{toc} fixed
+
+=======================================================================
+
+May 19, 2002 (Release 1.02)
+
+ A vertical skip after table's caption was reduced a bit.
+
+May 17, 2002
+
+ Bug fix in `nccart.clo': an extra space after abstract name removed.
+
+ The `ncclatex' package loads `extdash' package with `cyremdash' option now.
+
+ The `equation' counter is declared dynamically in `ncclatex' package now.
+
+ File `nccnews.dvi' introduced. It contains an overview for NCC-LaTeX
+ in Russian.
+
+Apr 25, 2002
+
+ Bug fix in `ncchdr' package: the right mark was shown in the left header.
+
+=======================================================================
+
+Apr 04, 2002 (Release 1.01)
+
+ Bug in loading `book' and `report' style of `ncc' class fixed.
+
+=======================================================================
+
+Mar 24, 2002 (Release 1.00)
+
+ The `ncclatex' bundle is submitted to CTAN. It requires `ncctools'
+ bungle, release 2.03 or greater.
diff --git a/macros/latex/contrib/ncclatex/cp1251-light.def b/macros/latex/contrib/ncclatex/cp1251-light.def
new file mode 100644
index 0000000000..8fb2c361dc
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/cp1251-light.def
@@ -0,0 +1,133 @@
+\ProvidesFile{cp1251-light.def}
+ [2005/12/24 v1.2 Light input encoding file]
+%
+% \changes{v1.0}{2004/09/23}{This version was uploaded to CTAN}
+% \changes{v1.1}{2005/01/09}{Replace \textrm{\normalfont...} to \textnormal}
+% \changes{v1.1}{2005/01/09}{More comprehensive test of font encoding}
+% \changes{v1.2}{2005/12/24}{Test the \cyrillicencoding to be \undefined}
+%
+% Using of cyrillic input encodings has two major disadvantages:
+%
+% * cyrillic letters are forbidden in names of labels because
+% they are active and
+% * cyrillic letters disappear in math mode because they do not
+% belong to ordinary math fonts.
+%
+% The light version of the CP1251 input encoding partially removes both
+% these disadvantages: it declares common cyrillic letters in the range
+% of \CYRA--\cyrya as `other' symbols (with catcode 12), activates them in
+% math mode only (with mathcode "8000), and typesets common cyrillic letters
+% in math mode with the default text font. All these actions are applied
+% if the output cyrillic encoding is one of T2A, T2B, T2C, or X2 for
+% which the input and output codes of common cyrillic letters coinside.
+% Otherwise, the cp1251-light works as cp1251.
+%
+\input{cp1251.def}
+%
+% Test the font encoding to have a valid type
+%
+\makeatletter
+\ifx\cyrillicencoding\undefined
+ \let\@tempa\encodingdefault%
+\else
+ \let\@tempa\cyrillicencoding
+\fi
+\expandafter\in@\expandafter{\@tempa}{T2A,T2B,T2C,X2}
+\ifin@ \else
+ \PackageWarning{inputenc}%
+ {Cannot apply cp1251-light encoding\MessageBreak
+ to the font encoding \@tempa.\MessageBreak
+ The cp1251 encoding is in use.\MessageBreak}%
+ \makeatother
+ \endinput
+\fi
+%
+% The macro \@tempa{code}{command} declares a symbol with
+% specified code as math-active symbol and prints its command
+% with the default text font (this is the usual practice for
+% typesetting cyrillic in math indices).
+%
+\def\@tempa#1#2{%
+ \@tempcnta#1\relax
+ \catcode\@tempcnta 12
+ \mathcode\@tempcnta "8000
+ \bgroup
+ \uccode`\~#1%
+ \uppercase{%
+ \egroup
+ \def~%
+ }{{\textnormal{#2}}}%
+}
+%
+% Redefine catcodes and mathcodes of common cyrillic letters
+% Do them active in mathmode only.
+%
+\@tempa{192}{\CYRA}
+\@tempa{193}{\CYRB}
+\@tempa{194}{\CYRV}
+\@tempa{195}{\CYRG}
+\@tempa{196}{\CYRD}
+\@tempa{197}{\CYRE}
+\@tempa{198}{\CYRZH}
+\@tempa{199}{\CYRZ}
+\@tempa{200}{\CYRI}
+\@tempa{201}{\CYRISHRT}
+\@tempa{202}{\CYRK}
+\@tempa{203}{\CYRL}
+\@tempa{204}{\CYRM}
+\@tempa{205}{\CYRN}
+\@tempa{206}{\CYRO}
+\@tempa{207}{\CYRP}
+\@tempa{208}{\CYRR}
+\@tempa{209}{\CYRS}
+\@tempa{210}{\CYRT}
+\@tempa{211}{\CYRU}
+\@tempa{212}{\CYRF}
+\@tempa{213}{\CYRH}
+\@tempa{214}{\CYRC}
+\@tempa{215}{\CYRCH}
+\@tempa{216}{\CYRSH}
+\@tempa{217}{\CYRSHCH}
+\@tempa{218}{\CYRHRDSN}
+\@tempa{219}{\CYRERY}
+\@tempa{220}{\CYRSFTSN}
+\@tempa{221}{\CYREREV}
+\@tempa{222}{\CYRYU}
+\@tempa{223}{\CYRYA}
+\@tempa{224}{\cyra}
+\@tempa{225}{\cyrb}
+\@tempa{226}{\cyrv}
+\@tempa{227}{\cyrg}
+\@tempa{228}{\cyrd}
+\@tempa{229}{\cyre}
+\@tempa{230}{\cyrzh}
+\@tempa{231}{\cyrz}
+\@tempa{232}{\cyri}
+\@tempa{233}{\cyrishrt}
+\@tempa{234}{\cyrk}
+\@tempa{235}{\cyrl}
+\@tempa{236}{\cyrm}
+\@tempa{237}{\cyrn}
+\@tempa{238}{\cyro}
+\@tempa{239}{\cyrp}
+\@tempa{240}{\cyrr}
+\@tempa{241}{\cyrs}
+\@tempa{242}{\cyrt}
+\@tempa{243}{\cyru}
+\@tempa{244}{\cyrf}
+\@tempa{245}{\cyrh}
+\@tempa{246}{\cyrc}
+\@tempa{247}{\cyrch}
+\@tempa{248}{\cyrsh}
+\@tempa{249}{\cyrshch}
+\@tempa{250}{\cyrhrdsn}
+\@tempa{251}{\cyrery}
+\@tempa{252}{\cyrsftsn}
+\@tempa{253}{\cyrerev}
+\@tempa{254}{\cyryu}
+\@tempa{255}{\cyrya}
+\let\@tempa\relax
+\makeatother
+\endinput
+%%
+%% End of file `cp1251-light.def'.
diff --git a/macros/latex/contrib/ncclatex/manifest.txt b/macros/latex/contrib/ncclatex/manifest.txt
new file mode 100644
index 0000000000..76562b5fc8
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/manifest.txt
@@ -0,0 +1,50 @@
+%
+% NCCLATEX, Release 1.5
+%======================
+
+The `ncclatex' bundle contains LaTeX2e version of the `ncc' class
+and auxiliary packages of NCC-LaTeX developed by A. Rozhenko in
+1992--2006.
+
+This version of NCC-LaTeX requires NCCTOOLS bungle, release 3.5 or greater.
+
+%
+% CONTENTS OF THE NCCLATEX BUNDLE
+% ===============================
+
+cp1251-light.def Light version of the CP1251 input encoding
+ncc.cls NCC class
+ncc10.clo The `10pt' option for the NCC class
+ncc11.clo The `11pt' option for the NCC class
+ncc12.clo The `12pt' option for the NCC class
+ncc14.clo The `14pt' option for the NCC class
+nccart.clo Support for `article' and `preprint' subclasses of the NCC
+nccbiblist.sty The bibliography without title
+nccbook.clo Support for `book' and `report' subclasses of the NCC
+nccdefaults.sty NCC-LaTeX default settings
+nccfit.clo The `fittopage' option for the NCC class
+ncchdr.sty Fancy headers for the NCC class
+nccindex.sty Multicolumn index for the NCC class
+ncclatex.sty The kernel of NCC class
+nccltrus.sty Support for the `russian' option in the NCC-LaTeX
+nccold.sty Obsolete commands from the NCC-LaTeX
+nccproc.cls Generic class for NCC Proceedings
+nccsections.sty Customization for sectioning technique
+ncctheorems.sty NCC-LaTeX's theorem-like environments
+ncctitle.clo Obsolete class option (ncctitle package is used now)
+ncctitle.sty Title pages support for the NCC class
+ncctitlepage.sty The titlepage environment in NCC style
+sibjnm.cls A class for submission articles to
+ `Siberian Journal on Numerical Mathematics'
+
+%
+% OTHER FILES
+%=============
+
+changes.txt The list of changes
+manifest.txt This file
+ncclatex.pdf User's manual for NCC-LaTeX
+ncclatex.tex User's manual for NCC-LaTeX (TeX source)
+nccnews.pdf Short manual in Russian
+README Describes installation and bug reporting procedures.
+ Contains copyright notes and distribution rules.
diff --git a/macros/latex/contrib/ncclatex/ncc.cls b/macros/latex/contrib/ncclatex/ncc.cls
new file mode 100644
index 0000000000..ffc2a048e2
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncc.cls
@@ -0,0 +1,451 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{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}
+% \changes{v1.03}{2004/04/08}{The processing of 'russian' option is improved}
+% \changes{v1.04}{2004/09/23}{Provide index making commands via the makeidx}
+% \changes{v1.05}{2004/11/30}{Remove \NCC@null from the titlepage env.}
+% \changes{v1.05}{2004/11/30}{Rename \NCC@null to \StartFromTextArea}
+% \changes{v1.05}{2004/11/30}{Add the \StartFromHeaderArea command}
+% \changes{v1.06}{2004/12/16}{Remove \NCC@gempty command}
+% \changes{v1.07}{2005/01/12}{Remove options passed to packages}
+% \changes{v1.07}{2005/02/21}{Set tbtags as default option}
+% \changes{v1.07}{2005/03/23}{Add optional arg. to \alloweqbreak}
+% \changes{v1.07}{2005/03/30}{Fix bug in the \preprint command}
+% \changes{v1.07}{2005/05/20}{Move \StartFromTextArea to the nccsect package}
+% \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\@ptsize{}
+\newif\if@restonecol
+\newif\if@openright
+%
+% What goes first in title: author or title?
+%
+\newif\ifNCC@authorbeforetitle
+\newcommand{\AuthorBeforeTitle}{\NCC@authorbeforetitletrue}
+\newcommand{\TitleBeforeAuthor}{\NCC@authorbeforetitlefalse}
+\@onlypreamble\AuthorBeforeTitle
+\@onlypreamble\TitleBeforeAuthor
+%
+% Paper size options
+%
+\DeclareOption{a4paper}
+ {\setlength\paperheight {297mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{a5paper}
+ {\setlength\paperheight {210mm}%
+ \setlength\paperwidth {148mm}}
+\DeclareOption{a5a4paper}
+ {\setlength\paperheight {210mm}%
+ \setlength\paperwidth {210mm}}
+\DeclareOption{b5paper}
+ {\setlength\paperheight {250mm}%
+ \setlength\paperwidth {176mm}}
+\DeclareOption{letterpaper}
+ {\setlength\paperheight {11in}%
+ \setlength\paperwidth {8.5in}}
+\DeclareOption{legalpaper}
+ {\setlength\paperheight {14in}%
+ \setlength\paperwidth {8.5in}}
+\DeclareOption{executivepaper}
+ {\setlength\paperheight {10.5in}%
+ \setlength\paperwidth {7.25in}}
+\DeclareOption{landscape}
+ {\setlength\@tempdima {\paperheight}%
+ \setlength\paperheight {\paperwidth}%
+ \setlength\paperwidth {\@tempdima}}
+\DeclareOption{fittopage}{}
+%
+% Base font size options
+%
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+\DeclareOption{14pt}{\renewcommand\@ptsize{4}%
+ \PassOptionsToPackage{small}{ncclatex}}
+%
+% Layout options
+%
+\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
+\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+\DeclareOption{openany}{\@openrightfalse}
+\DeclareOption{openright}{\@openrighttrue}
+\DeclareOption{onecolumn}{\@twocolumnfalse}
+\DeclareOption{twocolumn}{\@twocolumntrue}
+%
+% Special openbib option
+%
+\DeclareOption{openbib}{%
+ \AtEndOfPackage{%
+ \renewcommand\@openbib@code{%
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ }
+ \renewcommand\newblock{\par}
+ }%
+}
+%
+% \setyear{year} command defines \theyear
+%
+\newcommand*{\setyear}[1]{\gdef\theyear{#1}}
+\newcommand\theyear{\number\year}
+%
+% Subclass selection options
+%
+\DeclareOption{article}{%
+ \def\NCC@clsload{%
+ \TitleBeforeAuthor
+ \input{nccart.clo}%
+ \newcommand*{\setseries}[1]{\gdef\theseries{##1}}%
+ \newcommand*{\setvolume}[1]{\gdef\thevolume{##1}}%
+ \newcommand*{\setissue}[1]{\gdef\theissue{##1}}%
+ \setseries{}\setvolume{}\setissue{}%
+ \AtEndDocument{%
+ \clearpage
+ \if@filesw \advance\c@page\m@ne
+ \immediate\write\@mainaux{\string\newlabel
+ {NCC@lastpage}{{}{\thepage}}}%
+ \advance\c@page\@ne
+ \fi
+ \openrightorany
+ }%
+ \pagestyle{myheadings}%
+ \countstyle{}%
+ \InputIfFileExists{nccadd.sty}{}{}%
+ }%
+ \let\chapter\relax
+ \let\thechapter\relax
+}
+\DeclareOption{preprint}{%
+ \def\NCC@clsload{%
+ \AuthorBeforeTitle
+ \input{nccart.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
+ \titlecomment{}%
+ \else
+ \titlecomment{\bfseries \preprintname\\[1.5ex]\thepreprint}%
+ \fi
+ }%
+ \preprint{}%
+ \pagestyle{headings}%
+ \countstyle{}%
+ }%
+ \let\chapter\relax
+ \let\thechapter\relax
+}
+\DeclareOption{book}{%
+ \def\NCC@clsload{%
+ \AuthorBeforeTitle
+ \input{nccbook.clo}%
+ \RequirePackage{ncctitle}%
+ \let\bookeditor\titlecomment
+ \pagestyle{headings}%
+ \countstyle{chapter}%
+ }%
+ \let\chapter\@empty % nccsect and russianb packages test an existence of
+ \let\thechapter\@empty % \thechapter and \chapter to understand what class
+} % was loaded
+\DeclareOption{report}{\ExecuteOptions{book,oneside}}
+%
+% We set tbtags as the default tags positioning in split environment
+%
+\def\NCC@temp{\PassOptionsToPackage{tbtags}{nccmath}}
+\DeclareOption{centertags}{\let\NCC@temp\relax}
+%
+% Process options and load size option file
+%
+\ExecuteOptions{a4paper,10pt,article,twoside,onecolumn,final,openany}
+\ProcessOptions\relax
+\NCC@temp \let\NCC@temp\relax
+\input{ncc1\@ptsize.clo}
+\@ifclasswith{ncc}{fittopage}{\input{nccfit.clo}}{}
+%
+% Center text on the page taking into account the header only,
+% because default NCC-LaTeX style is headings or myheadings and
+% marginal notes are useless. The top margin is bounded by 1.5in.
+%
+\RequirePackage{tocenter}
+\ToCenter[h]{\textwidth}{\textheight}
+\ifdim\topmargin >.5in \topmargin=.5in \fi
+%
+% Set list margins
+%
+\if@twocolumn
+ \setlength\leftmargini {2em}
+ \setlength\leftmarginii {1.7em}
+ \setlength\leftmarginiii{1.5em}
+ \setlength\leftmarginiv {1.2em}
+ \setlength\leftmarginv {.5em}
+ \setlength\leftmarginvi {.5em}
+\else
+ \setlength\leftmargini {2.5em}
+ \setlength\leftmarginii {2.2em}
+ \setlength\leftmarginiii{1.87em}
+ \setlength\leftmarginiv {1.7em}
+ \setlength\leftmarginv {1em}
+ \setlength\leftmarginvi {1em}
+\fi
+\setlength\labelsep{.5em}
+\leftmargin\leftmargini
+\def\NCC@labelwidth{\labelwidth\leftmargin\advance\labelwidth-\labelsep}
+\NCC@labelwidth
+%
+% Set enumeration styles
+%
+\renewcommand\theenumi{\@arabic\c@enumi}
+\renewcommand\theenumii{\@alph\c@enumii}
+\renewcommand\theenumiii{\@roman\c@enumiii}
+\renewcommand\theenumiv{\@Alph\c@enumiv}
+\renewcommand\p@enumii{\theenumi}
+\renewcommand\p@enumiii{\theenumi(\theenumii)}
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}
+\newcommand\labelenumi{\theenumi.}
+\newcommand\labelenumii{(\theenumii)}
+\newcommand\labelenumiii{\theenumiii.}
+\newcommand\labelenumiv{\theenumiv.}
+\newcommand\labelitemi{\textbullet}
+\newcommand\labelitemii{\normalfont\bfseries \textendash}
+\newcommand\labelitemiii{\textasteriskcentered}
+\newcommand\labelitemiv{\textperiodcentered}
+%
+% Set other dimensions, skips, and penalties
+%
+\if@twocolumn \setlength\parindent{1em}
+\else \setlength\parindent{1.5em}
+\fi
+\setlength\smallskipamount{3\p@ \@plus \p@ \@minus \p@}
+\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
+\setlength\maxdepth{.5\topskip}
+\setlength\lineskip{\p@}
+\setlength\normallineskip{\p@}
+\renewcommand\baselinestretch{}
+\setlength\columnseprule{0\p@}
+\setlength\parskip{\z@ \@plus \p@}
+\@lowpenalty 51
+\@medpenalty 151
+\@highpenalty 301
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\setcounter{topnumber}{4}
+\renewcommand\topfraction{.8}
+\setcounter{bottomnumber}{2}
+\renewcommand\bottomfraction{.6}
+\setcounter{totalnumber}{6}
+\renewcommand\textfraction{.2}
+\renewcommand\floatpagefraction{.5}
+\setcounter{dbltopnumber}{4}
+\renewcommand\dbltopfraction{.8}
+\renewcommand\dblfloatpagefraction{.5}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\def\@dotsep{4.5}
+%
+% Declare old font selection commands
+%
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+%
+% Create section counters. We use \countstyle command from dcounter package.
+%
+\RequirePackage{dcounter}
+\newcounter{part}
+\renewcommand\thepart{\@Roman\c@part}
+\@ifundefined{chapter}{
+ \countstyle[section]{}
+}{
+ \countstyle[chapter]{}
+ \countstyle[section]{chapter}
+}
+\countstyle[subsection]{section}
+\countstyle[subsubsection]{subsection}
+\countstyle[paragraph]{subsubsection}
+\countstyle[subparagraph]{paragraph}
+%
+% Declare floats
+%
+\DeclareDynamicCounter{figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
+\newenvironment{figure}{\@float{figure}}{\end@float}
+\newenvironment{figure*}{\@dblfloat{figure}}{\end@dblfloat}
+\DeclareDynamicCounter{table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\nobreakspace\thetable}
+\newenvironment{table}{\@float{table}}{\end@float}
+\newenvironment{table*}{\@dblfloat{table}}{\end@dblfloat}
+%
+% Names of standard english captions
+%
+\newcommand\prefacename{Preface}
+\newcommand\contentsname{Contents}
+\newcommand\listfigurename{List of Figures}
+\newcommand\listtablename{List of Tables}
+\newcommand\refname{References}
+\newcommand\bibname{Bibliography}
+\newcommand\indexname{Index}
+\newcommand\glossaryname{Glossary}
+\newcommand\figurename{Figure}
+\newcommand\tablename{Table}
+\newcommand\partname{Part}
+\newcommand\chaptername{Chapter}
+\newcommand\appendixname{Appendix}
+\newcommand\abstractname{Abstract}
+%
+% English version of \today
+%
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+%
+% Prepare commands for making indices
+%
+\RequirePackage{makeidx}
+\newcommand\printglossary{\@input@{\jobname.gls}}
+%
+% Load remaining packages
+%
+\RequirePackage{ncclatex}
+\RequirePackage{topsection}
+\RequirePackage{watermark}
+\RequirePackage{ncctitlepage}
+\RequirePackage{nccheadings}
+\RequirePackage{nccold}
+%
+% 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
+% (default is alloweqbreak[4])
+%
+\newenvironment{noeqbreak}{\predisplaypenalty\@M
+ \ignorespaces
+}{\ignorespacesafterend}
+\newenvironment*{alloweqbreak}[1][4]{%
+ \predisplaypenalty
+ \ifcase #1\@highpenalty
+ \or \@lowpenalty
+ \or \z@
+ \or \@beginparpenalty
+ \else \@secpenalty
+ \fi
+ \ignorespaces
+}{\ignorespacesafterend}
+\alloweqbreak % Break before display formulas is allowed
+\allowdisplaybreaks % Breaks in display formulas are allowed
+%
+% Verse, quotation, quote. The description is already defined in ncclatex
+%
+\newenvironment{verse}{%
+ \let\\\centercr
+ \list{}{\itemsep \z@ \itemindent -1.5em \listparindent\itemindent
+ \rightmargin \leftmargin \advance\leftmargin 1.5em}%
+ \item\relax
+}{\endlist}
+\newenvironment{quotation}{%
+ \list{}{\listparindent 1.5em \itemindent \listparindent
+ \rightmargin \leftmargin \parsep \z@ \@plus \p@}%
+ \item\relax
+}{\endlist}
+\newenvironment{quote}{%
+ \list{}{\rightmargin\leftmargin}\item\relax
+}{\endlist}
+%
+% Footnote making commands
+%
+\renewcommand{\footnoterule}{%
+ \kern-3\p@ \hrule\@width .4\columnwidth \kern2.6\p@
+}
+\newcommand{\@makefntext}[1]{%
+ \parindent 1em \noindent
+ \hb@xt@ 1.8em{\hss\@makefnmark}#1}
+%
+% \tableofcontents, \listoffigures, \listoftables
+%
+\newcommand{\tableofcontents}{\NCC@toc\contentsname{toc}}
+\newcommand{\listoffigures}{\NCC@toc\listfigurename{lof}}
+\newcommand{\listoftables}{\NCC@toc\listtablename{lot}}
+\def\NCC@toc#1{\skipwritingtoaux\topsection{#1}\@starttoc}
+%
+% 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@
+ \@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}
+\newcommand\@idxitem{\par\hangindent 5em}
+\newcommand\subitem{\@idxitem \hspace*{2em}}
+\newcommand\subsubitem{\@idxitem \hspace*{4em}}
+\newcommand\indexspace{\par \addvspace{4ex \@plus 1ex \@minus .5ex}}
+%
+% Final actions
+%
+\pagenumbering{arabic}
+\NCC@clsload % load specified subclass
+\let\NCC@clsload\relax
+\if@twocolumn
+ \twocolumn \sloppy \flushbottom
+\else
+ \onecolumn
+ \if@twoside \flushbottom \else \raggedbottom \fi
+\fi
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncc10.clo b/macros/latex/contrib/ncclatex/ncc10.clo
new file mode 100644
index 0000000000..2492379aac
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncc10.clo
@@ -0,0 +1,88 @@
+\ProvidesFile{ncc10.clo}
+ [2002/01/25 v1.00 Size option (NCC)]
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus 2\p@ \@minus 5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand\small{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus 2\p@ \@minus 4\p@
+ \abovedisplayshortskip \z@ \@plus 2\p@
+ \belowdisplayshortskip 4\p@ \@plus 2\p@ \@minus 2\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 2\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\footnotesize{%
+ \@setfontsize\footnotesize\@viiipt{9.5}%
+ \abovedisplayskip 6\p@ \@plus 1.5\p@ \@minus 3\p@
+ \abovedisplayshortskip \z@ \@plus \p@
+ \belowdisplayshortskip 3\p@ \@plus \p@ \@minus \p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 3\p@ \@plus \p@ \@minus \p@
+ \parsep 2\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
+\newcommand\large{\@setfontsize\large\@xiipt{14.5}}
+\newcommand\Large{\@setfontsize\Large\@xivpt{17.5}}
+\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{21}}
+\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
+\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
+%
+\setlength\topskip {10\p@}
+\setlength\headheight{12\p@}
+\setlength\headsep {20\p@}
+\setlength\footskip {30\p@}
+%
+\setlength\textwidth {110mm}
+\setlength\textheight{157mm}
+\setlength\columnsep {10\p@}
+%
+\setlength\marginparwidth{90\p@}
+\if@twocolumn \setlength\marginparsep{10\p@}
+\else \setlength\marginparsep{7\p@}\fi
+\setlength\marginparpush{5\p@}
+%
+\setlength\footnotesep {6.65\p@}
+\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {10\p@ \@plus 3\p@ \@minus 2\p@}
+\setlength\textfloatsep {18\p@ \@plus 2\p@ \@minus 6\p@}
+\setlength\intextsep {\floatsep}
+\setlength\dblfloatsep {\floatsep}
+\setlength\dbltextfloatsep{\textfloatsep}
+\setlength\@fptop {0\p@ \@plus 1fil}
+\setlength\@fpsep {8\p@ \@plus 2fil}
+\setlength\@fpbot {0\p@ \@plus 1fil}
+\setlength\@dblfptop {\@fptop}
+\setlength\@dblfpsep {\@fpsep}
+\setlength\@dblfpbot {\@fpbot}
+%
+\setlength\partopsep{2\p@ \@plus \p@ \@minus \p@}
+\def\@listi{\leftmargin\leftmargini
+ \topsep 7\p@ \@plus 3\p@ \@minus 3\p@
+ \parsep 4\p@ \@plus 2\p@ \@minus \p@
+ \itemsep \z@skip}
+\let\@listI\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \topsep 4\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 2\p@ \@plus \p@ \@minus \p@
+ \itemsep\z@skip \NCC@labelwidth}
+\def\@listiii{\leftmargin\leftmarginiii
+ \partopsep \p@ \@plus \z@ \@minus \p@
+ \topsep 2\p@ \@plus \p@ \@minus \p@
+ \parsep \z@ \@plus \p@
+ \itemsep\z@skip \NCC@labelwidth}
+\def\@listiv {\leftmargin\leftmarginiv \NCC@labelwidth}
+\def\@listv {\leftmargin\leftmarginv \NCC@labelwidth}
+\def\@listvi {\leftmargin\leftmarginvi \NCC@labelwidth}
+\@listi
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncc11.clo b/macros/latex/contrib/ncclatex/ncc11.clo
new file mode 100644
index 0000000000..67ef390c1b
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncc11.clo
@@ -0,0 +1,88 @@
+\ProvidesFile{ncc11.clo}
+ [2002/01/25 v1.00 Size option (NCC)]
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xipt{13.15}%
+ \abovedisplayskip 11\p@ \@plus 3\p@ \@minus 5.5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 7\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand\small{%
+ \@setfontsize\small\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus 2\p@ \@minus 5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus 3\p@ \@minus 3\p@
+ \parsep 4\p@ \@plus 2\p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\footnotesize{%
+ \@setfontsize\footnotesize\@ixpt{11}%
+ \abovedisplayskip 8\p@ \@plus 2\p@ \@minus 4\p@
+ \abovedisplayshortskip \z@ \@plus \p@
+ \belowdisplayshortskip 4\p@ \@plus 2\p@ \@minus 2\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 4\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 2\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand\large{\@setfontsize\large\@xiipt{14.5}}
+\newcommand\Large{\@setfontsize\Large\@xivpt{17.5}}
+\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{21}}
+\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
+\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
+%
+\setlength\topskip {11\p@}
+\setlength\headheight{12\p@}
+\setlength\headsep {22\p@}
+\setlength\footskip {30\p@}
+%
+\setlength\textwidth {126.5mm}
+\setlength\textheight{199mm}
+\setlength\columnsep {10\p@}
+
+\setlength\marginparwidth{83\p@}
+\if@twocolumn \setlength\marginparsep{10\p@}
+\else \setlength\marginparsep{7\p@}\fi
+\setlength\marginparpush{5\p@}
+%
+\setlength\footnotesep {7.7\p@}
+\setlength{\skip\footins} {10\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {11\p@ \@plus 3\p@ \@minus 3\p@}
+\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 6\p@}
+\setlength\intextsep {\floatsep}
+\setlength\dblfloatsep {\floatsep}
+\setlength\dbltextfloatsep{\textfloatsep}
+\setlength\@fptop {0\p@ \@plus 1fil}
+\setlength\@fpsep {8\p@ \@plus 2fil}
+\setlength\@fpbot {0\p@ \@plus 1fil}
+\setlength\@dblfptop {\@fptop}
+\setlength\@dblfpsep {\@fpsep}
+\setlength\@dblfpbot {\@fpbot}
+%
+\setlength\partopsep{3\p@ \@plus \p@ \@minus 2\p@}
+\def\@listi{\leftmargin\leftmargini
+ \topsep 8\p@ \@plus 4\p@ \@minus 4\p@
+ \parsep 4.5\p@ \@plus 2\p@ \@minus \p@
+ \itemsep \z@skip}
+\let\@listI\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \topsep 4.5\p@ \@plus 2\p@ \@minus 2\p@
+ \parsep 2\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiii{\leftmargin\leftmarginiii
+ \partopsep\p@ \@plus \z@ \@minus \p@
+ \topsep 2\p@ \@plus \p@ \@minus \p@
+ \parsep \z@ \@plus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiv {\leftmargin\leftmarginiv \NCC@labelwidth}
+\def\@listv {\leftmargin\leftmarginv \NCC@labelwidth}
+\def\@listvi {\leftmargin\leftmarginvi \NCC@labelwidth}
+\@listi
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncc12.clo b/macros/latex/contrib/ncclatex/ncc12.clo
new file mode 100644
index 0000000000..4e4028b706
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncc12.clo
@@ -0,0 +1,88 @@
+\ProvidesFile{ncc12.clo}
+ [2002/01/25 v1.00 Size option (NCC)]
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xiipt{14.5}%
+ \abovedisplayskip 12\p@ \@plus 3\p@ \@minus 7\p@
+ \abovedisplayshortskip \z@ \@plus 4\p@
+ \belowdisplayshortskip 7\p@ \@plus 4\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand\small{%
+ \@setfontsize\small\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus 3\p@ \@minus 5.5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 6.5\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6.5\p@ \@plus 3\p@ \@minus 3\p@
+ \parsep 4.5\p@ \@plus 2\p@ \@minus\p@
+ \itemsep \z@skip}%
+}
+\newcommand\footnotesize{%
+ \@setfontsize\footnotesize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus 2\p@ \@minus 5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 6\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 6\p@ \@plus 3\p@ \@minus 3\p@
+ \parsep 4\p@ \@plus 2\p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
+\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\newcommand\large{\@setfontsize\large\@xivpt{17.5}}
+\newcommand\Large{\@setfontsize\Large\@xviipt{21}}
+\newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
+\newcommand\huge{\@setfontsize\huge\@xxvpt{30}}
+\let\Huge=\huge
+%
+\setlength\topskip {12\p@}
+\setlength\headheight{12\p@}
+\setlength\headsep {25\p@}
+\setlength\footskip {30\p@}
+%
+\setlength\textwidth {145mm}
+\setlength\textheight{233mm}
+\setlength\columnsep {10\p@}
+%
+\setlength\marginparwidth{68\p@}
+\if@twocolumn \setlength\marginparsep{10\p@}
+\else \setlength\marginparsep{7\p@}\fi
+\setlength\marginparpush{7\p@}
+%
+\setlength\footnotesep {8.4\p@}
+\setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {12\p@ \@plus 3\p@ \@minus 3\p@}
+\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {\floatsep}
+\setlength\dblfloatsep {\floatsep}
+\setlength\dbltextfloatsep{\textfloatsep}
+\setlength\@fptop {0\p@ \@plus 1fil}
+\setlength\@fpsep {8\p@ \@plus 2fil}
+\setlength\@fpbot {0\p@ \@plus 1fil}
+\setlength\@dblfptop {\@fptop}
+\setlength\@dblfpsep {\@fpsep}
+\setlength\@dblfpbot {\@fpbot}
+%
+\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+\def\@listi{\leftmargin\leftmargini
+ \topsep 8\p@ \@plus 4\p@ \@minus 4\p@
+ \parsep 4.5\p@ \@plus 2.5\p@ \@minus \p@
+ \itemsep\z@skip}
+\let\@listI\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \topsep 4.5\p@ \@plus 2.5\p@ \@minus 2\p@
+ \parsep 2.5\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiii{\leftmargin\leftmarginiii
+ \partopsep \p@ \@plus \z@ \@minus \p@
+ \topsep 2.5\p@ \@plus \p@ \@minus \p@
+ \parsep \z@ \@plus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiv {\leftmargin\leftmarginiv \NCC@labelwidth}
+\def\@listv {\leftmargin\leftmarginv \NCC@labelwidth}
+\def\@listvi {\leftmargin\leftmarginvi \NCC@labelwidth}
+\@listi
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncc14.clo b/macros/latex/contrib/ncclatex/ncc14.clo
new file mode 100644
index 0000000000..f9475e6769
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncc14.clo
@@ -0,0 +1,88 @@
+\ProvidesFile{ncc14.clo}
+ [2002/01/28 v1.00 Size option (NCC)]
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xivpt{17.5}%
+ \abovedisplayskip 14.4\p@ \@plus 3\p@ \@minus 7\p@
+ \abovedisplayshortskip \z@ \@plus 4\p@
+ \belowdisplayshortskip 10\p@ \@plus 4\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@listI}
+\normalsize
+\newcommand\small{%
+ \@setfontsize\small\@xiipt{14.5}%
+ \abovedisplayskip 12\p@ \@plus 3\p@ \@minus 6\p@
+ \abovedisplayshortskip \z@ \@plus 4\p@
+ \belowdisplayshortskip 7\p@ \@plus 4\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 7\p@ \@plus 4\p@ \@minus 3\p@
+ \parsep 5\p@ \@plus 2\p@ \@minus \p@
+ \itemsep \z@skip}%
+}
+\newcommand\footnotesize{%
+ \@setfontsize\footnotesize\@xipt{13.6}%
+ \abovedisplayskip 11\p@ \@plus 3\p@ \@minus 5\p@
+ \abovedisplayshortskip \z@ \@plus 3\p@
+ \belowdisplayshortskip 7\p@ \@plus 3\p@ \@minus 3\p@
+ \belowdisplayskip \abovedisplayskip
+ \def\@listi{\leftmargin\leftmargini
+ \topsep 7\p@ \@plus 3\p@ \@minus 3\p@
+ \parsep 4.5\p@ \@plus 2\p@ \@minus\p@
+ \itemsep \z@skip}%
+}
+\newcommand\scriptsize{\@setfontsize\scriptsize\@ixpt{11}}
+\newcommand\tiny{\@setfontsize\tiny\@viipt{8.4}}
+\newcommand\large{\@setfontsize\large\@xviipt{21}}
+\newcommand\Large{\@setfontsize\Large\@xxpt{25}}
+\newcommand\LARGE{\@setfontsize\LARGE\@xxvpt{30}}
+\let\huge\LARGE
+\let\Huge\LARGE
+%
+\setlength\topskip {14\p@}
+\setlength\headheight{14\p@}
+\setlength\headsep {25\p@}
+\setlength\footskip {30\p@}
+%
+\setlength\textwidth {160mm}
+\setlength\textheight{240mm}
+\setlength\columnsep {10\p@}
+%
+\setlength\marginparwidth{85\p@}
+\if@twocolumn \setlength\marginparsep{10\p@}
+\else \setlength\marginparsep{7\p@}\fi
+\setlength\marginparpush{7\p@}
+%
+\setlength\footnotesep {10\p@}
+\setlength{\skip\footins} {13\p@ \@plus 4\p@ \@minus 2\p@}
+\setlength\floatsep {14\p@ \@plus 3\p@ \@minus 3\p@}
+\setlength\textfloatsep {25\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {\floatsep}
+\setlength\dblfloatsep {\floatsep}
+\setlength\dbltextfloatsep{\textfloatsep}
+\setlength\@fptop {0\p@ \@plus 1fil}
+\setlength\@fpsep {8\p@ \@plus 2fil}
+\setlength\@fpbot {0\p@ \@plus 1fil}
+\setlength\@dblfptop {\@fptop}
+\setlength\@dblfpsep {\@fpsep}
+\setlength\@dblfpbot {\@fpbot}
+%
+\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
+\def\@listi{\leftmargin\leftmargini
+ \topsep 10\p@ \@plus 4\p@ \@minus 3\p@
+ \parsep 6\p@ \@plus 3\p@ \@minus \p@
+ \itemsep\z@skip}
+\let\@listI\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \topsep 6\p@ \@plus 3\p@ \@minus 2\p@
+ \parsep 3\p@ \@plus \p@ \@minus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiii{\leftmargin\leftmarginiii
+ \partopsep \p@ \@plus \z@ \@minus \p@
+ \topsep 3\p@ \@plus \p@ \@minus \p@
+ \parsep \z@ \@plus \p@
+ \itemsep \z@skip \NCC@labelwidth}
+\def\@listiv {\leftmargin\leftmarginiv \NCC@labelwidth}
+\def\@listv {\leftmargin\leftmarginv \NCC@labelwidth}
+\def\@listvi {\leftmargin\leftmarginvi \NCC@labelwidth}
+\@listi
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccart.clo b/macros/latex/contrib/ncclatex/nccart.clo
new file mode 100644
index 0000000000..95abb246ed
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccart.clo
@@ -0,0 +1,61 @@
+\ProvidesFile{nccart.clo}
+ [2005/12/27 v1.06 Article subclass (NCC)]
+%
+% \changes{v1.01}{2002/02/19}{This version is uploaded to CTAN}
+% \changes{v1.02}{2002/05/17}{Bug in abstract fixed. Extra space removed.}
+% \changes{v1.03}{2004/07/13}{\vskip in title replaced with \addvspace}
+% \changes{v1.04}{2004/12/06}{Replace \NCC@null with \StartFromTextArea}
+% \changes{v1.04}{2004/12/16}{Replace \NCC@gempty with \@empty}
+% \changes{v1.05}{2005/03/23}{Remove \skipwritingtoaux in index head}
+% \changes{v1.06}{2005/12/24}{Definition of |thebibliography| removed}
+% \changes{v1.06}{2005/12/24}{Remove \NCC@tochead, \NCC@idxhead macros}
+% \changes{v1.06}{2005/12/27}{Remove headings support}
+%
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{3}
+%
+% \maketitle
+%
+\newcommand\maketitle{\par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \if@twocolumn \twocolumn[\@maketitle]
+ \else \clearpage \global\@topnum\z@ \@maketitle\fi
+ \NCC@articlehead
+ \endgroup
+ \gdef\@thanks{}%
+ \setcounter{footnote}{0}%
+}
+\def\@maketitle{
+ \begingroup
+ \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \normalsize\normalfont
+ \StartFromTextArea\vskip 2em\centering
+ \ifNCC@small \let\@tempa\Large \else \let\@tempa\LARGE \fi
+ \ifx\@author\@empty {\@tempa\bff \@title \par}%
+ \else
+ \ifNCC@authorbeforetitle \else
+ {\@tempa\bff \@title \par}\vspace{1.5em \@minus .3em}%
+ \fi
+ {\large\tabcolsep\z@ \lineskip .5em \pbox{\@author}\par}%
+ \ifNCC@authorbeforetitle
+ \vskip .5em {\@tempa\bff \@title \par}%
+ \fi
+ \fi
+ \endgroup
+ \@thanks
+ \addvspace{2em \@minus .5em}%
+}
+\def\NCC@articlehead{\thispageheading{}}% to be redefined in local macros
+%
+% abstract
+%
+\newenvironment{abstract}{\small\likeremark{\bf\abstractname}{}}{\qef}
+%
+% \appendix
+%
+\newcommand\appendix{\par
+ \setcounter{section}{-1}\stepcounter{section}%
+ \gdef\thesection{\@Alph\c@section}%
+}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccbiblist.sty b/macros/latex/contrib/ncclatex/nccbiblist.sty
new file mode 100644
index 0000000000..758293992a
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccbiblist.sty
@@ -0,0 +1,50 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccbiblist}
+ [2005/12/24 v1.00 Bibliography list (NCC)]
+%
+% \changes{v1.00}{2005/12/24}{This version is uploaded to CTAN}
+%
+\RequirePackage{topsection}
+%
+% Bibliography without header. It is possible to set starting number
+% for the bibliography counter. If starting number is less that zero,
+% the numbering will be continued from the previous biblist.
+%
+% \begin{biblist}[starting number]{prototype} ... \end{biblist}
+%
+% The biblist style is specified in the \bibliststyle macro.
+% It is equal to \small by default.
+%
+\newcommand{\bibliststyle}{\small}
+\providecommand*\@openbib@code{}
+\def\NCC@bibliststart{0}
+\def\NCC@biblisthook{}
+\newenvironment*{biblist}[2][0]{
+ \bibliststyle
+ \list{\@biblabel{\@arabic\c@enumiv}}{%
+ \settowidth\labelwidth{\@biblabel{#2}}%
+ \leftmargin\labelwidth \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}\let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}%
+ \NCC@biblisthook
+ }%
+ \setcounter{enumiv}{#1}%
+ \ifnum \c@enumiv <\z@ \setcounter{enumiv}{\NCC@bibliststart}\fi
+ \sloppy \widowpenalty 4000
+ \clubpenalty 4000 \@clubpenalty \clubpenalty
+ \sfcode`\.\@m
+}{\def\@noitemerr{\@latex@warning{Empty `biblist' environment}}%
+ \xdef\NCC@bibliststart{\the\c@enumiv}
+ \endlist
+}
+%
+% We also redefine |thebibliography| environment to be based on the
+% biblist environment.
+%
+\def\thebibliography{%
+ \@iftopchapter{\topsection{\bibname}}{\topsection{\refname}}%
+ \biblist[0]%
+}
+\let\endthebibliography=\endbiblist
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccbook.clo b/macros/latex/contrib/ncclatex/nccbook.clo
new file mode 100644
index 0000000000..dbc0424337
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccbook.clo
@@ -0,0 +1,31 @@
+\ProvidesFile{nccbook.clo}
+ [2005/12/29 v1.06 Book subclass (NCC)]
+%
+% \changes{v1.00}{2002/03/24}{This version is uploaded to CTAN}
+% \changes{v1.01}{2003/01/12}{Bug in \ChapterPrefixStyle{toc} fixed}
+% \changes{v1.02}{2004/12/06}{Replace \NCC@null with \StartFromTextArea}
+% \changes{v1.03}{2004/12/12}{Modify part generation commands}
+% \changes{v1.04}{2005/03/23}{Remove \skipwritingtoaux in index head}
+% \changes{v1.04}{2005/06/08}{Introduce the \DeclarePart command}
+% \changes{v1.04}{2005/06/08}{Introduce the \DeclareTOCPart command}
+% \changes{v1.05}{2005/06/19}{Page break after \l@part is forbidden}
+% \changes{v1.05}{2005/06/19}{New optional parameter in \DeclareTOCPart}
+% \changes{v1.06}{2005/12/24}{Definition of |thebibliography| removed}
+% \changes{v1.06}{2005/12/24}{Remove \NCC@tochead, \NCC@idxhead macros}
+% \changes{v1.06}{2005/12/27}{Move \ChapterPrefixStyle to nccdefaults}
+% \changes{v1.06}{2005/12/27}{Remove headings support}
+% \changes{v1.06}{2005/12/29}{Remove part declaration commands}
+%
+\@addtoreset{footnote}{chapter}
+\setcounter{tocdepth}{2}
+\setcounter{secnumdepth}{2}
+%
+% \appendix
+%
+\newcommand\@chapapp{\chaptername}
+\newcommand{\appendix}{\par
+ \setcounter{chapter}{-1}\stepcounter{chapter}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@Alph\c@chapter}%
+}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccdefaults.sty b/macros/latex/contrib/ncclatex/nccdefaults.sty
new file mode 100644
index 0000000000..1ac2ebdb1e
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccdefaults.sty
@@ -0,0 +1,131 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccdefaults}
+ [2006/01/17 v1.03 NCC-LaTeX default settings (NCC)]
+%
+% \changes{v1.01}{2006/01/05}{This version is uploaded to CTAN}
+% \changes{v1.02}{2006/01/06}{Remove \SetTOCStyle and \ChapterPrefixStyle}
+% \changes{v1.03}{2006/01/17}{addtopackage -> afterpackage}
+%
+% The package specifies default settings to be applied to some packages
+% from ncctools collection when they will be loaded. All this technique
+% is based on the `afterpackage' package from ncctools.
+%
+\RequirePackage{afterpackage}
+%
+% Declare the equation counter to be dynamic and specify the default
+% count style depending on class in use.
+%
+\AfterPackage{dcounter}{%
+ \DeclareDynamicCounter{equation}
+ \@ifundefined{chapter}{\countstyle{}}{\countstyle{chapter}}
+}
+%
+% The default style of table headers is \scriptsize
+%
+\AfterPackage{nccboxes}{\renewcommand{\cboxstyle}{\scriptsize}}
+%
+% Change defaults for the nccsect package
+%
+\AfterPackage{nccsect}{%
+%
+% Specify section, toc, and caption syffices and default section style.
+%
+ \SectionTagSuffix{.\hskip .6em}
+ \CaptionTagSuffix{.\hskip .6em \@plus .2em \@minus .1em}
+ \NumberlineSuffix{.\hskip .6em}{.\hskip .4em}
+ \sectionstyle{hangindent*}
+%
+% \openrightorany clears page or double page depending on openright
+% mode selected.
+%
+ \@ifundefined{if@openright}{%
+ \newcommand\openrightorany{\clearpage}%
+ }{%
+ \newcommand\openrightorany{\clearpage
+ \if@openright \if@twoside
+ \begingroup\let\leftmark\relax \cleardoublepage\endgroup
+ \fi\fi
+ }%
+ }
+ \@ifundefined{chapter}{}{%
+%
+% The following hooks are specified in books and reports only.
+%
+% Redefine the start-part and start-chapter hooks:
+%
+ \RequirePackage{watermark}
+ \def\NCC@startpart{\openrightorany\thispageheading{}}
+ \def\NCC@startchap{\openrightorany\thispageheading{}%
+ \global\@topnum\z@
+ }
+%
+% Specify the appearance of part and chapter prefices
+%
+ \def\NCC@thetocpart{\partname\ \thepart}
+ \ChapterPrefixStyle{}% no prefix by default
+%
+% Provide \frontmatter, \mainmatter, and \backmatter commands
+%
+ \@ifundefined{if@mainmatter}{%
+ \newif\if@mainmatter \@mainmattertrue
+ }{}
+ \providecommand\frontmatter{%
+ \@mainmatterfalse\pagenumbering{roman}%
+ }
+ \providecommand\mainmatter{%
+ {\@openrighttrue\openrightorany}%
+ \@mainmattertrue
+ \pagenumbering{arabic}%
+ }
+ \providecommand\backmatter{%
+ \openrightorany \@mainmatterfalse
+ }
+ }
+}
+%
+% Specify default styles for theorems
+%
+\AfterPackage{nccthm}{%
+ \renewtheoremtype{remark}{\bfseries}{}{}
+ \TheoremCommentDelimiters{}{}
+ \AfterTheoremHeaderChar{.}
+ \AfterTheoremHeaderSkip{\hskip .7em \@plus .2em \@minus .1em}
+ \AparStyleParameters{\bfseries\mathversion{bold}}%
+ {\bfseries\mathversion{bold}}{.\enskip}
+ \ProofStyleParameters{\bfseries\mathversion{bold}}{\proofname}
+ \newcommand\proofname{Proof}
+ \AfterPackage{babel}{%
+ \addto\captionsrussian{%
+ \def\proofname{%
+ {\cyr\CYRD\cyro\cyrk\cyra\cyrz\cyra\cyrt\cyre\cyrl\cyrsftsn%
+ \cyrs\cyrt\cyrv\cyro}}%
+ }
+ }
+}
+%
+% Patch to the russian style of babel
+%
+\AfterPackage{babel}{%
+ \ifx\cyrillicencoding\undefined \else
+%
+% Add a small kern to German left double quote shorthand
+%
+ \declare@shorthand{russian}{"`}{\glqq\nobreak\hskip.0166667em }
+%
+% Remove last Babel's ``improvements'' to \flqq and \frqq commands.
+% The result of these improvements is that russian corner quotes
+% are taken from another font encoding than T2 and look very bad.
+%
+ \DeclareRobustCommand{\flqq}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+ \DeclareRobustCommand{\frqq}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+%
+% Redefine the numero sign to work in any encoding
+%
+ \DeclareRobustCommand{\No}{%
+ \ifmmode{\nfss@text{\textnumero}}\else{\cyr\textnumero}\fi
+ }
+ \fi
+}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccfit.clo b/macros/latex/contrib/ncclatex/nccfit.clo
new file mode 100644
index 0000000000..4bf31fc1d3
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccfit.clo
@@ -0,0 +1,43 @@
+\ProvidesFile{nccfit.clo}
+ [2002/01/25 v1.00 Fit to page option (NCC)]
+%
+% Fits \textwidth, \textheight, and \marginparwidth to paper size.
+% Got from standard size options.
+%
+\ifcase\@ptsize \setlength\textwidth{345\p@}
+\or \setlength\textwidth{360\p@}
+\or \setlength\textwidth{390\p@}
+\or\or \setlength\textwidth{470\p@}
+\fi
+\if@twocolumn
+ \setlength\textwidth{2\textwidth}
+ \addtolength\textwidth{\columnsep}
+\fi
+\setlength\@tempdima{\paperwidth}
+\addtolength\@tempdima{-2in}
+\ifdim\@tempdima<\textwidth \setlength\textwidth{\@tempdima} \fi
+\@settopoint\textwidth
+%
+\setlength\@tempdima{\paperheight}
+\addtolength\@tempdima{-3.5in}
+\divide\@tempdima\baselineskip
+\@tempcnta=\@tempdima
+\setlength\textheight{\@tempcnta\baselineskip}
+\addtolength\textheight{\topskip}
+%
+\if@twoside
+ \setlength\@tempdima {\paperwidth}
+ \addtolength\@tempdima {-\textwidth}
+ \setlength\marginparwidth {.6\@tempdima}
+ \addtolength\marginparwidth {-\marginparsep}
+ \addtolength\marginparwidth {-.4in}
+\else
+ \setlength\@tempdima {\paperwidth}
+ \addtolength\@tempdima {-\textwidth}
+ \setlength\marginparwidth {.5\@tempdima}
+ \addtolength\marginparwidth {-\marginparsep}
+ \addtolength\marginparwidth {-.8in}
+\fi
+\ifdim \marginparwidth >2in \setlength\marginparwidth{2in}\fi
+\@settopoint\marginparwidth
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncchdr.sty b/macros/latex/contrib/ncclatex/ncchdr.sty
new file mode 100644
index 0000000000..49d03ba041
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncchdr.sty
@@ -0,0 +1,59 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ncchdr}
+ [2005/12/27 v1.04 Fancy headers for NCC class (NCC)]
+%
+% \changes{v1.01}{2002/02/14}{This version is uploaded to CTAN}
+% \changes{v1.02}{2002/04/25}{Bug in left header fixed}
+% \changes{v1.03}{2005/01/12}{Bug in \PassOptionsToPackage command fixed}
+% \changes{v1.04}{2005/12/27}{It is based now on the nccheadings package}
+%
+% This package redefines NCC page styles to fancy styles
+% and defines the fancy `title' page style if the `title' option is used.
+% This style has three header marks:
+% \lefttitlemark, \titlemark (in center), and \righttitlemark.
+%
+\RequirePackage{nccheadings}
+\def\NCC@temp{%
+ \def\NCC@setpsheading{\ps@fancy
+ \fancyhead[CO]{%
+ \fancycenter{}%
+ {\small\itshape\ignorespaces\rightmark\unskip}%
+ {\thepage}%
+ }%
+ \fancyhead[CE]{%
+ \fancycenter{\thepage}%
+ {\small\itshape\ignorespaces\leftmark\unskip}%
+ {}%
+ }%
+ }%
+}%
+\DeclareOption{empty}{%
+ \PassOptionsToPackage{\CurrentOption}{nccfancyhdr}%
+ \AtEndOfPackage{\pagestyle{empty}}%
+}
+\DeclareOption{plain}{%
+ \PassOptionsToPackage{\CurrentOption}{nccfancyhdr}%
+ \AtEndOfPackage{\pagestyle{plain}}%
+}
+\DeclareOption{myheadings}{%
+ \NCC@temp
+ \AtEndOfPackage{\pagestyle{myheadings}}%
+}
+\DeclareOption{headings}{%
+ \NCC@temp
+ \AtEndOfPackage{\pagestyle{headings}}%
+}
+\DeclareOption{title}{%
+ \def\ps@title{\ps@fancy
+ \fancyhead[L]{\ignorespaces\lefttitlemark\unskip}%
+ \fancyhead[C]{\ignorespaces\titlemark\unskip}%
+ \fancyhead[R]{\ignorespaces\righttitlemark\unskip}%
+ }%
+ \newcommand\lefttitlemark{}%
+ \newcommand\titlemark{}%
+ \newcommand\righttitlemark{}%
+ \AtEndOfPackage{\pagestyle{title}}%
+}
+\ProcessOptions*
+\RequirePackage{nccfancyhdr}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccheadings.sty b/macros/latex/contrib/ncclatex/nccheadings.sty
new file mode 100644
index 0000000000..c97e7deb60
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccheadings.sty
@@ -0,0 +1,74 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccheadings}
+ [2005/12/28 v1.00 Headings in ncc-style (NCC)]
+%
+% \changes{v1.00}{2005/12/28}{This version is uploaded to CTAN}
+%
+% NCC page style with headings support
+%
+\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}}
+%
+% Specify `headings' and `myheadings' page styles
+%
+\@ifundefined{chapter}{%
+%
+% Styles for article-like classes
+%
+ \def\ps@headings{\NCC@setpsheading
+ \def\partmark##1{%
+ \NCC@firstmark{\ifnum \c@secnumdepth>\m@ne\thepart.\enskip \fi
+ \ignorespaces##1}}%
+ \def\sectionmark##1{%
+ \NCC@firstmark{\ifnum \c@secnumdepth>\z@\thesection.\enskip \fi
+ \ignorespaces##1}}%
+ \def\subsectionmark##1{%
+ \NCC@secondmark{\ifnum\c@secnumdepth>\@ne\thesubsection.\enskip\fi
+ \ignorespaces##1}}%
+ }
+ \def\ps@myheadings{\NCC@setpsheading
+ \let\partmark \@gobble
+ \let\sectionmark \@gobble
+ \let\subsectionmark\@gobble
+ }
+ \ps@myheadings
+}{%
+%
+% Styles for book-like classes
+%
+ \@ifundefined{if@mainmatter}{%
+ \newif\if@mainmatter \@mainmattertrue
+ }
+ \def\ps@headings{\NCC@setpsheading
+ \def\partmark##1{%
+ \NCC@firstmark{\ifnum \c@secnumdepth>-2\relax
+ \partname\ \thepart.\enskip \fi
+ \ignorespaces##1}}%
+ \def\chaptermark##1{%
+ \NCC@firstmark{\ifnum \c@secnumdepth>\m@ne
+ \if@mainmatter \@chapapp\ \thechapter.\enskip \fi \fi
+ \ignorespaces##1}}%
+ \def\sectionmark##1{%
+ \NCC@secondmark{\ifnum\c@secnumdepth>\z@\thesection.\enskip\fi
+ \ignorespaces##1}}%
+ }
+ \def\ps@myheadings{\NCC@setpsheading
+ \let\partmark \@gobble
+ \let\chaptermark\@gobble
+ \let\sectionmark\@gobble
+ }
+ \ps@headings
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/ncclatex/nccindex.sty b/macros/latex/contrib/ncclatex/nccindex.sty
new file mode 100644
index 0000000000..551ec19633
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccindex.sty
@@ -0,0 +1,41 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccindex}
+ [2005/12/24 v1.01 Multicolumn index for NCC class (NCC)]
+%
+% \changes{v1.00}{2005/03/24}{This version is uploaded to CTAN}
+% \changes{v1.01}{2005/12/24}{Do package independent on ncc class}
+%
+% The package redefines index on the base of multicol
+% package. Some index control commands are specified here.
+%
+\RequirePackage{topsection}
+\RequirePackage{multicol}
+\def\NCC@index#1{%
+ \if@twocolumn \onecolumn \fi
+ \topsection{#1}%
+ \columnseprule\z@ \columnsep 2em
+ \parindent\z@ \parskip\z@ \@plus .3\p@
+ \NCC@index@
+ \NCC@indexstart
+}
+\def\endNCC@index{\end{multicols}}
+\renewenvironment{theindex}{\NCC@index\indexname}{\endNCC@index}
+%
+% \indexparameters{columns}{indexspace}{margin1}{margin2}{margin3}{style}
+%
+\newcommand*\indexparameters[6]{%
+ \def\NCC@index@{#6\begin{multicols}{#1}%
+ \def\indexspace{\par\addvspace{#2}}%
+ \def\@idxitem{\par\hangindent #5\relax}%
+ \def\item{\@idxitem\pagebreak[0]\leavevmode\nopagebreak\ignorespaces}%
+ \def\subitem{\@idxitem \hspace*{#3}}%
+ \def\subsubitem{\@idxitem \hspace*{#4}}%
+ }%
+}
+\indexparameters{2}{4ex \@plus 1ex \@minus .5ex}{2em}{4em}{5em}{\small}
+%
+% \startindexwith{text}
+%
+\newcommand\startindexwith{\long\def\NCC@indexstart}
+\startindexwith{}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncclatex.pdf b/macros/latex/contrib/ncclatex/ncclatex.pdf
new file mode 100644
index 0000000000..270c9e2692
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncclatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/ncclatex/ncclatex.sty b/macros/latex/contrib/ncclatex/ncclatex.sty
new file mode 100644
index 0000000000..dc7903bfa5
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncclatex.sty
@@ -0,0 +1,160 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ncclatex}
+ [2006/01/17 v1.07 NCC-LaTeX Extension Package (NCC)]
+%
+% \changes{v1.00}{2002/03/16}{This version is uploaded to CTAN}
+% \changes{v1.01}{2002/05/17}{Package extdash is loaded with cyremdash}
+% \changes{v1.01}{2002/05/17}{The equation counter is dynamic now}
+% \changes{v1.02}{2002/05/19}{Vskip after table's caption is reduced}
+% \changes{v1.03}{2004/04/08}{The processing of 'russian' option is improved}
+% \changes{v1.04}{2004/12/12}{Require the latest version of nccsect}
+% \changes{v1.05}{2005/01/09}{Add options T2A, T2B, T2C}
+% \changes{v1.05}{2005/02/07}{Remove |\tr|, |\tl|, and |\tc| commands}
+% \changes{v1.05}{2005/02/15}{Prepare equations tag in |\mathrm|)
+% \changes{v1.05}{2005/03/23}{Add \NCC logo}
+% \changes{v1.05}{2005/04/25}{Declare equation counter as dynamic one}
+% \changes{v1.05}{2005/05/20}{Change nccsect package date to 2005/05/20}
+% \changes{v1.06}{2005/12/27}{Reorganize the package!!!}
+% \changes{v1.06}{2005/12/27}{The `minimize' option is introduced}
+% \changes{v1.06}{2005/12/29}{Add defaults for parts in books}
+% \changes{v1.06}{2006/01/01}{Minor changes}
+% \changes{v1.07}{2006/01/17}{addtopackage -> afterpackage}
+%
+% Load basic packages
+%
+\RequirePackage{nccdefaults}
+\RequirePackage{dcounter}[2005/04/25]
+\RequirePackage{desclist}
+\RequirePackage[shortcuts,cyremdash]{extdash}
+\RequirePackage{nccmath}
+\def\maketag@@@#1{\hbox{$\m@th\mathrm{#1}$}}
+\RequirePackage{nccsect}[2005/05/20]
+%
+% Russian headings (Babel needed)
+%
+\newif\ifNCC@rus \NCC@rusfalse
+\DeclareOption{russian}{\NCC@rustrue}
+\DeclareOption{T2C}{\def\NCC@cyrenc{T2C}}
+\DeclareOption{T2B}{\def\NCC@cyrenc{T2B}}
+\DeclareOption{T2A}{\def\NCC@cyrenc{T2A}}
+%
+% Smaller section titles
+%
+\newif\ifNCC@small \NCC@smallfalse
+\DeclareOption{small}{\NCC@smalltrue}
+%
+% The `minimize' option does not load the optional packages:
+%
+\def\NCC@temp{%
+ \RequirePackage{ncctheorems}
+ \RequirePackage{nccthm}
+ \RequirePackage{nccboxes}
+ \RequirePackage{nccfoots}
+ \RequirePackage{nccpic}
+ \RequirePackage{nccfloats}
+}
+\DeclareOption{minimize}{\let\NCC@temp\relax}
+%
+% Process options
+%
+\ExecuteOptions{T2A}
+\ProcessOptions\relax
+\NCC@temp \let\NCC@temp\relax
+%
+% \acknow starts acknowledgements
+%
+\newcommand\acknowname{Acknowledgements}
+\AfterPackage{babel}{%
+ \addto\captionsrussian{%
+ \def\acknowname{%
+ {\cyr\CYRB\cyrl\cyra\cyrg\cyro\cyrd\cyra\cyrr\cyrn\cyro\cyrs\cyrt\cyri}}%
+ }
+}
+\newcommand{\acknow}{%
+ \NCC@secskip{\NCC@runskip}\@nobreakfalse
+ \noindent\normalfont\textit\acknowname.\enskip
+}
+%
+% Language specific actions
+%
+\ifNCC@rus
+ \RequirePackage[\NCC@cyrenc]{fontenc}
+ \RequirePackage[russian]{nccltrus}
+\else
+ \def\tg{\qopname\relax o{tg}}
+ \def\arctg{\qopname\relax o{arctg}}
+ \def\ctg{\qopname\relax o{ctg}}
+ \def\arcctg{\qopname\relax o{arcctg}}
+ \@ifundefined{No}{\def\No{\mbox{No.}}}{}
+\fi
+\let\NCC@cyrenc\relax
+%
+% \cref{label} is cite without square brackets
+%
+\newcommand*{\cref}[1]{{\def\@cite##1##2{##1}\cite{#1}}}
+%
+% \mop{FOO} is equivalent to \operatorname{FOO}
+%
+\newcommand{\mop}{\operatorname}
+%
+% Define NCC logo
+%
+\DeclareRobustCommand{\NCC}{{\protect\AmSfont
+ N\kern-.05em\lower.5ex\hbox{C}\kern.05emC}%
+}
+%
+% Customize sections and captions
+%
+\def\NCC@runskip{2.3ex \@plus 1ex \@minus .2ex}
+\DeclareSection{-2}{table}{\bfseries}{\z@}{1.3ex}{\small}
+\DeclareSection{-1}{figure}{\bfseries}{2ex}{\z@}{\small}
+\ifNCC@small
+ \@ifundefined{chapter}{%
+ \DeclareSection*0{part}{\large\bff}%
+ {4ex \@plus 1ex \@minus .2ex}%
+ {2.8ex \@plus .2ex}{\LARGE\bff}
+ }{%
+ \DeclarePart{\StartFromTextArea\vspace{\stretch{.5}}\centering}%
+ {\vfill\newpage}{\vspace{1.5em}\Large\bff}{\huge\bff}
+ \DeclareSection*0{chapter}{\vspace{1.5ex}\large\bff}{\z@}%
+ {6ex \@plus .2ex}{\LARGE\bff}
+ }
+ \DeclareSection*1{section}{}%
+ {3.1ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\large\bff}
+ \DeclareSection*2{subsection}{}%
+ {2.7ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\normalsize\bff}
+ \DeclareSection*3{subsubsection}{}%
+ {\NCC@runskip}%
+ {1.5ex \@plus .2ex}{\normalsize\bff\itshape}
+\else
+ \@ifundefined{chapter}{%
+ \DeclareSection*0{part}{\Large\bff}%
+ {5ex \@plus 1ex \@minus .2ex}%
+ {3.8ex \@plus .2ex}{\huge\bff}
+ }{%
+ \DeclarePart{\StartFromTextArea\vspace{\stretch{.5}}\centering}%
+ {\vfill\newpage}{\vspace{2em}\LARGE\bff}{\Huge\bff}
+ \DeclareSection*0{chapter}{\vspace{2ex}\Large\bff}{\z@}%
+ {8ex \@plus .2ex}{\huge\bff}
+ }
+ \DeclareSection*1{section}{}%
+ {3.5ex \@plus 1ex \@minus .2ex}%
+ {2.3ex \@plus .2ex}{\Large\bff}
+ \DeclareSection*2{subsection}{}%
+ {3.1ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\large\bff}
+ \DeclareSection*3{subsubsection}{}%
+ {2.7ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\normalsize\bff}
+\fi
+\DeclareSection4{paragraph}{}{\NCC@runskip}%
+ {-.6em \@plus -.2em \@minus -.1em}{\normalsize\bff}
+\DeclareSection5{subparagraph}[\parindent]{}{\NCC@runskip}%
+ {-.6em \@plus -.2em \@minus -.1em}{\normalsize\bff}
+%
+% Millimeters are default units in NCC-LaTeX
+%
+\unitlength=1mm
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncclatex.tex b/macros/latex/contrib/ncclatex/ncclatex.tex
new file mode 100644
index 0000000000..f157e444fe
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncclatex.tex
@@ -0,0 +1,1336 @@
+\documentclass[11pt]{ncc}
+\ToCenter[h]{160mm}{240mm}
+
+\title{\Huge NCC-\LaTeX}
+\author{by Alexander I. Rozhenko}
+\usepackage[headings]{ncchdr}
+
+\TitleBeforeAuthor
+\sectionstyle{center}
+\indentaftersection
+
+\newcommand*\package[1]{\textbf{#1}}
+\newcommand*\bungle[1]{\textit{#1}}
+\newcommand*\Opt[1]{\texttt{\textbf{#1}}}
+
+\newcommand*\Meta[1]{\texttt{\upshape#1}}
+\newcommand*\com[1]{\Meta{\symbol{"5C}#1}}
+\newcommand*\meta[1]{\Meta{\symbol{"7B}{\itshape #1}\symbol{"7D}}}
+\newcommand*\opt[1]{\Meta{[{\itshape #1}]}}
+
+\begin{document}
+\maketitle
+
+\thispageheading{\footnotesize This document was prepared in
+\com{sectionstyle}\meta{\upshape center} with \com{indentaftersection}.\\
+This heading was printed with \com{thispageheading} command from
+the \package{watermark} package}
+
+\begin{abstract}
+This document describes classes and packages from NCC-\LaTeX. We
+compare the \package{ncc} class with standard \LaTeX's classes
+and point out a difference between the \package{ncc} class and
+\package{ncclatex} package. Packages from the \bungle{ncclatex}
+and \bungle{ncctools} bungles are partially described here.
+\end{abstract}
+
+\tableofcontents
+\newpage
+
+\section{The ncc class}
+
+To mark out features of the \package{ncc} class, we compare it
+with standard \LaTeX\ classes \package{article}, \package{book},
+and \package{report}. The first and the main distinction is that
+preparing of articles, books, and reports in NCC-\LaTeX\ is
+provided with special options (called \textbf{styles}) of the
+\package{ncc} class instead of using different classes. The
+following style options are allowed for this:
+
+\begin{description}[\Opt{preprint}]
+\item[\Opt{article}] prepares an article.
+
+\item[\Opt{preprint}] prepares an article with a title going on a separate page. The
+\com{preprint}\meta{No} command allows inserting a preprint
+number under the preprint title.
+
+\item[\Opt{book}] prepares a book. The \com{bookeditor}\meta{text}
+command allows inserting a text under the book title.
+
+\item[\Opt{report}] is equivalent to the \Opt{book} option used
+together with the \Opt{oneside} option.
+\end{description}
+
+The \Opt{titlepage} and \Opt{notitlepage} options are not used in
+the \package{ncc} class. The appearance of a title on a separate
+page is controlled in a style used. An \Opt{article} style
+specifies running title and others specify a title on a separate
+page. The \Meta{abstract} environment is defined in all styles.
+It is prepared on a separate page if a title is prepared on a
+separate page.
+
+The page style \Meta{headings} is set by default in all styles except
+articles for which the \Meta{myheadings} style is used.
+
+The default options for the \package{ncc} class are \Opt{10pt},
+\Opt{a4paper}, \Opt{article}, \Opt{twoside}, \Opt{onecolumn},
+\Opt{final}, \Opt{openany}.
+
+The class sets \com{unitlength} to 1~mm (i.e. all coordinates in
+the \Meta{picture} environment are calculated in millimeters).
+
+\subsection{Page layout}
+
+All standard paper size options are supported, namely
+\Opt{a4paper}, \Opt{a5paper}, \Opt{b5paper},\linebreak
+\Opt{letterpaper}, \Opt{legalpaper}, \Opt{executivepaper}, and
+\Opt{landscape}. One more paper size option is introduced:
+\Opt{a5a4paper}. It is useful for printing a5 papers on a4
+printer having centered tray.
+
+In contrast to standard classes, the width and height of the text
+field isn't automatically expanded on the entire page. Text field
+dimensions are defined depending on the base point size:
+
+\begin{center}\renewcommand{\cboxstyle}{\small\bf}
+\setlength\tabcolsep{20pt}
+\begin{tabular}{|c|c|c|}\hline
+\cbox{Point size} & \cbox{Text width} & \cbox{Text height}
+\\\hline
+\Strut/1/
+ 10 pt & 110 mm & 157 mm \\
+ 11 pt & \jhbox{111}[r]{126.5} mm & 199 mm \\
+ 12 pt & 145 mm & 233 mm \\
+\bstrut
+ 14 pt & 160 mm & 240 mm \\\hline
+\end{tabular}
+\end{center}
+
+If you want to fit the text field to the entire page in the same
+manner as in standard classes, use the \Opt{fittopage} option.
+
+The text field is centered on the page taking into account the
+header field also, but the margin from the top is corrected
+to be at most 1.5~inch. If you want to center the text field
+taking into account the marginal notes, header, and footer, use
+the command
+\begin{verbatim}
+ \ToCenter[hfm]{\textwidth}{\textheight}
+\end{verbatim}
+in the preamble of a document. The optional parameter of this
+command enumerates fields counted while centering. Using this
+command, you can change the width and height of the text field
+and center the result on the page. Other way for changing the
+width and height is using the \com{FromMargins} command. For
+example, the following command
+\begin{verbatim}
+ \FromMargins[hf]{20mm}{10mm}{25mm}{15mm}
+\end{verbatim}
+calculates the text field dimensions and margins in such a way to
+provide 20~mm distance from the left border of the page, 10~mm
+distance from the right border, 25~mm distance from the top, and
+15~mm distance from the bottom in assumption that header and
+footer are in use. In two-side printing the left and right
+distances are swapped for even pages.
+
+\subsection{Base point size options}
+
+Along with standard base point size options \Opt{10pt},
+\Opt{11pt}, and \Opt{12pt}, the \Opt{14pt} size option is
+introduced. In 14~pt, font sizes \com{huge} and \com{Huge} are
+equal to \com{LARGE}.
+
+Sometimes, the standard sizes of fonts used in section markup
+commands are a bit larger than necessary. This case appears when
+a page size is small enough or a base font size is too large. The
+\Opt{small} option can be used in this cases to reduce font sizes
+used in section markup commands. The \Opt{14pt} option applies it.
+
+\subsection{Other options}
+
+The following standard options can be used with the \package{ncc}
+class: \Opt{oneside}, \Opt{twoside}, \Opt{draft}, \Opt{final},
+\Opt{openright}, \Opt{openany}, \Opt{onecolumn}, \Opt{twocolumn},
+\Opt{openbib}, \Opt{fleqn}, and \Opt{leqno}.
+
+The \Opt{russian} option loads the \package{babel} package with
+the \Meta{[russian]} optional parameter.
+
+\subsection{Packages loaded by the ncc class}\label{s:load}
+
+The \package{ncc} class loads many packages from
+\bungle{ncclatex} and \bungle{ncctools} bungles. They are:
+\begin{description}[\package{watermark}]
+\item[\package{ncclatex}] is the kernel of NCC-\LaTeX;
+
+\item[\package{nccltrus}] is loaded when the \Opt{russian} option
+is used. It redefines titles of captions to russian ones;
+
+\item[\package{nccold}] provides some obsolete commands from old
+NCC-\LaTeX, namely \com{no}, \com{eref},\linebreak \com{Eq},
+\com{Eqs}, \com{Eqalign}, \com{tbox}, \com{bbox}, \com{tbbox},
+\com{emline}, and \com{emlinewidth};
+
+\item[\package{dcounter}] provides dynamic counters;
+
+\item[\package{desclist}] improves the \Meta{description}
+environment, and provides the \Meta{desclist} environment with
+better control of marker in descriptions;
+
+\item[\package{extdash}] provides shortcut commands \com{-/}, \com{--},
+\com{---}, \com{=/}, \com{==}, and \com{===} for better control
+of hyphenation of compound words;
+
+\item[\package{nccboxes}] provides more boxes;
+
+\item[\package{nccfloats}] provides commands \com{minifig}, \com{fig},
+\com{figs}, \com{minitabl}, \com{tabl}, and \com{tabls} covering
+standard \LaTeX\ floats and preparing the floating material in
+NCC-\LaTeX\ style (a text in NCC-\LaTeX\ floats is centered and
+prepared in the \com{footnotesize}). New features, \com{sidefig}
+and \com{sidetabl}, simplify creation of minifloats posed
+on the outer side of page;
+
+\item[\package{nccfoots}] provides commands \com{Footnote},
+\com{Footnotemark}, and \com{Footnotetext} for manual management
+of footnote markers.
+
+\item[\package{nccmath}] extends the \package{amsmath} package
+with NCC-\LaTeX\ commands for preparing display equations
+(\com{eq}, \com{eqs}, \com{eqalign}), redefines the
+\Meta{eqnarray} environment to work properly together with \AmS\
+display equations, introduces the \Meta{darray}, \Meta{fleqn},
+and \Meta{ceqn} environments;
+
+\item[\package{nccpic}] is an envelop for the \package{graphicx}
+package (provides extension lists for useful dvi-drivers,
+introduces the \com{putimage} command for compatibility with old
+NCC-\LaTeX, and defines the \com{ipic} command);
+
+\item[\package{nccsect}] provides an improved section, caption,
+and TOC-entries management;
+
+\item[\package{nccthm}] theorems in NCC-\LaTeX\ style
+(customizable layout, many new features);
+
+\item[\package{tocenter}] provides the \com{ToCenter} and
+\com{FromMargins} commands;
+
+\item[\package{watermark}] provides watermarks.
+
+\end{description}
+
+The \package{ncc} class loads some standard \LaTeX\ packages.
+They are \package{amsmath}, \package{graphicx}, and \package{makeidx}. The
+\package{babel} package is also loaded if the \Opt{russian}
+option is used.
+
+\subsection{New commands of the ncc class}
+
+We describe here new commands introduced in the \package{ncc}
+class only. Other new commands are introduced in packages of
+\bungle{ncclatex} and \bungle{ncctools} bungles (most of them are
+common for the \package{ncc} class and \package{ncclatex}
+package).
+
+\begin{desclist}{}{}
+\item[\com{partmark}\meta{text}] is used for control the header and
+footer marks after a new part.
+
+\item[\com{openrightorany}] produces the \com{clearpage} or
+\com{cleardoublepage} command depending on open mode selected in
+the class options. If an empty even page is created, its header
+mark is set empty.
+
+\item[\com{AuthorBeforeTitle} and \com{TitleBeforeAuthor}] determine
+what item must go first in the title: author text or title text.
+In article style the title text goes first and in other styles
+the author goes first. These commands should be used in the
+preamble.
+
+\item[\com{noeqbreak} and \com{alloweqbreak}] manage the
+possibility of page break between a text and display equation
+following after. The first command forbids such page breaks and
+the last command allows them. The default is \com{alloweqbreak}.
+
+\item[\com{SetTOCStyle}\meta{style}] sets a style for table of
+contents, list of tables, and list of figures. The default style
+is empty. For example, the use of \verb+\SetTOCStyle{\small}+ in
+the preamble of the document sets a small font for output in TOC.
+
+\item[\com{setyear}\meta{year}, \com{theyear}:] the first command
+sets a year and the second one prints an year set before. The
+\verb+\setyear+ command doesn't change the \verb+\year+ counter.
+The default value for the \verb+\theyear+ command is the current
+value of the \verb+\year+ counter.
+
+\item[\Meta{biblist}] is a new environment:
+
+\com{begin}\meta{\upshape biblist}\opt{starting
+No}\meta{prototype} \ldots \com{end}\meta{\upshape biblist}.
+
+It prints a pure bibliography list without heading. The first
+optional parameter sets an initial value for the bibliography
+counter. The style of preparing the bibliography is controlled
+with the \com{bibliststyle} command (its default value is
+\verb+\small+). The \texttt{thebibliography} environment is
+prepared on the base of the \texttt{biblist}.
+
+\item[\Meta{theglossary}] environment is introduced. The
+\com{printindex}, \com{see}, and \com{seealso} commands are
+loaded by the \package{makeidx} package. The \com{printglossary}
+command is introduced.
+
+\end{desclist}
+
+The \Meta{figure} and \Meta{table} counters are declared
+dynamically. So, they are controlled with the \com{countstyle}
+command. The default count style for article and preprint is
+empty, and for book and report the \verb+\countstyle{chapter}+ is
+used. The \Meta{equation} counter is also controlled with the
+\com{countstyle} command.
+
+\paragraph{Specific commands for the article style.}
+Three new commands
+\begin{center}
+\com{setseries}\meta{text}, \com{setvolume}\meta{Volume No}, and
+\com{setissue}\meta{Issue No}
+\end{center}
+are allowed in the article style. They produce the commands
+\com{theseries}, \com{thevolume}, and \com{theissue} which can be
+used in publishing. In the article style the \package{ncc} class
+tries to load an \package{nccadd.sty} file. This style file is
+useful in publishing to set common information for all articles
+in a journal issue. The number of the last page is marked with the
+\Meta{NCC@lastpage} label. Its \verb+\pageref+ value can be used
+in publishing to automate the substitution of article last page
+number. If the \Opt{openright} option is used,
+\verb+\cleardoublepage+ action is applied at the end of article.
+
+\paragraph{Specific commands for the preprint style.}
+The \com{preprint}\meta{Preprint No} command is introduced. If a
+preprint number is defined, the following text
+\begin{center}\bf Preprint\\number\end{center}
+is inserted below the title of preprint.
+
+\paragraph{Specific commands for the book and report styles.}
+The \com{frontmatter}, \com{mainmatter}, and \com{backmatter}
+commands can be used. The \com{bookeditor}\meta{text} command
+inserts the specified text below the title of book. A style of
+chapter prefixing in running head and in the table of contents is
+controlled with the \com{ChapterPrefixStyle}\meta{list} command.
+The list can contain comma separated words \Meta{header} and
+\Meta{toc}. Using them you set prefix style for header and/or toc
+respectively. In prefix style the chapter number is preceded with
+the \textbf{Chapter} or \textbf{Appendix} text.
+
+\subsection{Using fancy headers with the ncc class}
+
+The headers in \package{ncc} class are maintained a bit different
+from standard classes. So, if you want to use fancy headers
+together with the \package{ncc} class, type
+\begin{quote}
+\com{usepackage}\opt{list-of-page-styles}\verb+{ncchdr}+
+\end{quote}
+in the preamble of document. The
+\Meta{\textit{list-of-page-styles}} parameter must contain a list
+of page styles to be redefined, i.e., something from \Opt{empty},
+\Opt{plain}, \Opt{headings}, and \Opt{myheadings}. The last style
+in the list is set after using of this package.
+
+Note: the \Opt{headings} and \Opt{myheadings} styles have a
+common part in the \package{ncc} class which is redefined in this
+package. So, redefining one of these page styles you automatically
+redefine another style also. Additional fancy page style
+\Opt{title} is provided with the \package{ncchdr} package. It
+uses three title marks, namely \com{lefttitlemark},
+\com{titlemark} (in center), and \com{righttitlemark}. To load
+this style use the \Opt{title} option with the package.
+
+The package is based on the \package{nccfancyhdr} package from the
+\bungle{ncctools} bungle.
+
+\section{The ncclatex package}
+
+The most part of the \package{ncc} class is loaded in the
+\package{ncclatex} package. To provide almost all functionality
+of NCC-\LaTeX\ with standard \LaTeX\ classes, you can use this
+package. The package loads many packages also. It is easy to say
+what packages it does not load from the list specified in the
+Section~\ref{s:load}. Only three of them are not loaded, namely
+\package{nccold}, \package{tocenter}, and \package{watermark}.
+
+If you want to pass additional options to a package loaded with
+\package{ncclatex}, load it in the \com{usepackage} command before
+loading the \package{ncclatex}.
+
+The \package{ncclatex} package has two options: \Opt{small} and
+\Opt{russian}. Using of the \Opt{small} option provides smaller
+fonts in section markup commands. The \Opt{russian} option tries
+to load the \package{babel} package with \Opt{[russian]} optional
+parameter, redefines captions of mathematical statements in
+Russian by loading the \package{nccltrus} package, and redefines
+\com{alph} and \com{Alph} commands to produce russian alphanumeric
+numbers. Original latin variants of alphanumeric numbering are
+saved in \com{alphlatin} and \com{Alphlatin}.
+
+The package sets \com{unitlength} to 1~mm (millimeters are
+default units in NCC-\LaTeX).
+
+\subsection{Sections, captions, and toc-entries in NCC-\LaTeX{}}
+
+\subsubsection{Sections}
+
+Section markup commands of level 0 and greater are redefined
+using the \package{nccsect} package from \bungle{ncctoools} (the
+level 0 command is \com{chapter} or \com{part} depending on class
+used; the commands of greater levels are \com{section},
+\com{subsection}, \ldots, \com{subparagraph}). All section markup
+commands are divided into two categories: display sections (until
+\com{subsubsection}) and run-in sections (\com{paragraph} and
+\com{subparagraph}).
+
+The package uses floating horizontal alignment for display sections
+which is controlled with the
+\begin{quote}
+ \com{sectionstyle}\meta{style}
+\end{quote}
+command. The following styles are allowed:
+\begin{description}[\Meta{hangindent*}]
+\item[\Meta{hangindent}] is the standard \LaTeX\ style.
+\item[\Meta{hangindent*}] is the same as \Meta{hangindent}, but ragged right.
+\item[\Meta{parindent}] sections are indented on \com{parindent} without hanged number.
+\item[\Meta{parindent*}] is the same as \Meta{parindent}, but ragged right.
+\item[\Meta{center}] section headers are centered.
+\end{description}
+The \com{indentaftersection} and \com{noindentaftersection}
+commands control indentation after sections.
+The \package{nccsect} package sets style and indentation to standard \LaTeX\ defaults,
+\verb+\sectionstyle{hangindent}+ and \com{noindentaftersection}. But the \package{ncclatex}
+package uses \verb+\sectionstyle{hangindent*}+.
+
+The \package{nccsect} package essentially improves the management
+of section number tags, running heads, and writing to aux-file:
+\begin{itemize}
+\item If you want to suppress generation of running head in a
+section markup command, type \com{norunninghead} before it.
+
+\item If you want to replace the text of running head to another
+one, type \com{runninghead}\meta{text} before a section.
+
+\item If you want to suppress a number in a section or in a caption
+of float, type \com{noheadingtag} before the section or caption
+markup command. Note that the text of used markup command goes to
+the running head and to the aux-file. This is the easier way to
+produce a section without number which must appear in the table
+of contents and in the header.
+
+\item If you want to replace a number in a section or caption to
+something else, type the \linebreak \com{headingtag}\meta{other
+number} before the section or caption markup command. Note that
+the replaced number goes to the running head and to the aux-file.
+It must contain robust commands only. Fragile commands in it must
+be protected with the \com{protect} command. The associated
+counter is not incremented in this case.
+
+\item If you want entirely replace a number in a section or
+caption (including prefix and suffix automatically inserted by
+section and caption markup commands) to something else, type
+\com{headingtag*}\meta{other number} before the section or caption
+markup command. In this case, the writing to running head and to
+aux-file is suppressed.
+
+\item If you want to suppress writing text of a section or
+caption to aux-file, type the\linebreak \com{skipwritingtoaux}
+command before the section or caption markup command.
+\end{itemize}
+
+\subsubsection{Captions}
+
+The \com{caption} command useful in floats is also redefined in
+the \package{nccsect} package. The caption creation method
+internally differs from the standard method. You can use line
+breaking commands in it, but be sure that line break in caption
+does not go to the aux-file (use an optional parameter with
+caption to define an argument going to the aux-file). The
+\com{centering} command can be used in captions without worrying
+(it is automatically suppressed while writing to aux-file). The
+\com{caption*} command is allowed to produce a caption without
+number tag (the words `Figure' or `Table' belong to the tag!). A
+text of such a caption does not go to the aux-file.
+
+The package defines \textit{different} caption commands for
+tables and figures. A table caption usually goes above a table.
+So, a vertical skip after table caption is necessary, but a skip
+before table caption is unnecessary. A figure caption usually
+goes below a figure. In this case vertical skips are different:
+skip before is needed, but skip after is unnecessary. This is the
+reason why table and figure captions are prepared differently.
+
+\subsubsection{TOC-entries}
+
+The management of toc-, lot- and lof-entries is also redefined in
+the \package{nccsect} package. Every toc-entry is specified with
+2 parameters: a left margin and a value of hang indentation. The
+\package{nccsect} package calculates the left margin for a
+toc-entry by summation of margin skips defined in toc-entries of
+lower levels. For example, if a toc-entry of 2nd level is typed
+out, its left margin will be a sum of margin skips defined in
+toc-entries of 0th and 1st levels. This is much more flexible way
+than the standard one in which the left margin was coded just in
+the toc-command.
+
+The margin skip and hang indent skip are determined using
+prototyping technique. This method provides very easy way for
+redeclaring toc-entries. For example, if your book contains not
+more than 9 sections, and more than 9 subsections in some
+sections, you can redeclare the subsection toc-entry as follows:
+\begin{verbatim}
+ \DeclareTOCEntry{2}{}{}{9.99}{}[9.99]
+\end{verbatim}
+This command contains the following parameters: the toc-entry
+level, an action applied before toc-entry (you can insert a
+vertical skip for example), a prefix before a toc-entry number (a
+section sign for example), a number prototype for calculation of
+hang indentation, and a style applied to the toc-entry. The 6th
+optional parameter in square brackets is used for calculation of
+margin skip for the next toc-level. If it is omitted,
+the skip is equal to the hang indentation value of this toc-entry.
+
+\subsubsection{Customization commands}
+
+In conclusion, we show customization commands with their default
+values for the \package{ncclatex} package:
+\begin{description}
+\item[\com{SectionTagSuffix}\meta{\upshape.\com{hskip} .6em}] is a suffix
+inserted after a section number tag (excluding sections of 0th
+level). Numbers in sections in NCC-\LaTeX\ are ended with the
+decimal point.
+
+\item[\com{CaptionTagSuffix}\meta{\upshape.\com{hskip} .6em plus .2em minus .1em}]
+is a suffix inserted after a caption number tag.
+
+\item[\com{NumberlineSuffix}\meta{\upshape.\com{hskip} .6em}\meta{\upshape.\com{hskip} .4em}]
+describes 2 suffices: the first one is used in calculation of
+hang indentation of toc-entries and the last one is inserted
+after a number in toc-entries. The last suffix is usually
+narrower that the first one. This allows to decrease a distance
+between number and text if the width of number exceed the
+prototype width just a little. Note: the \com{numberline} command
+from standard \LaTeX\ is modified in the \package{nccsect}
+package to prevent an overlapping of a text on a number if a
+number is wider than hung indentation value.
+
+\item[\com{PnumPrototype}\meta{\upshape99}] is a prototype of page number
+used for calculation of right margin in toc. It is supposed that a
+book contains not more than 99 pages by default. To change the
+page number width to 3-digit pattern, use the
+\com{PnumPrototype}\meta{\upshape999} command.
+
+\end{description}
+
+\subsection{Theorems in NCC-\LaTeX{}}
+
+The \package{ncclatex} package defines a number of math
+statements using the \package{nccthm} package from the
+\bungle{ncctools} bungle. A brief introduction is needed to
+explain the possibilities of the \package{nccthm} package. In
+this section we call all math statements as \textit{theorems} for
+simplicity.
+
+\subsubsection{Overview}
+
+In mathematical manuscripts, two modes of theorems numbering are
+useful. In ordinary mode, a number goes after the theorem title
+(e.g., \textbf{Theorem~1}, \textbf{Example~1},
+\textbf{Theorem~2}, etc.). In this mode, theorems with different
+titles are usually numbered independently. Another mode requires
+a number going before a theorem title. We call this mode the
+\textit{apar} mode. In apar mode, theorems with different titles
+are numbered sequentially (e.g., \textbf{1~Theorem},
+\textbf{2~Example}, \textbf{3~Theorem}, etc.). Both modes can be
+mixed together in one manuscript.
+
+Theorems with different titles can be shown differently. For
+example, a Theorem statement is shown with bold header and italic
+body (a comment after header is prepared with normal font). But
+an Example statement can be shown with italic header and normal
+body. We call a presentation of a theorem by the \textit{theorem
+type}. The \package{nccthm} package provides two default theorem
+types named \texttt{theorem} and \texttt{remark}. New theorem
+types can be created and existing theorem types can be redefined.
+
+The next parameter of theorems is the indentation style. A
+theorem can open a new paragraph without indentation (default
+behaviour) and with paragraph indentation. A theorem number in the
+apar mode can be shown on margins. The indentation style is
+controlled via options \Opt{indent}, \Opt{noindent},
+\Opt{margin}, and \Opt{nomargin} of the \package{nccthm} package.
+
+The last parameter of theorems is the break style. A line break
+after theorem header (comment included) can be used. The break and
+no break style can be coded in theorems while the definition of
+them using switches \com{TheoremBreakStyle} and
+\com{TheoremNoBreakStyle} before the definition or redefinition
+of theorems (in contrast to standard \LaTeX, the
+\com{renewtheorem} command is provided for redefinition of
+theorems). The break style of an individual theorem can be changed
+on the fly with the commands \com{breakafterheader} and
+\com{nobreakafterheader} inserted before a theorem.
+
+All described properties of theorems are provided with the
+\package{nccthm} package. Moreover, the counters used in theorems
+are declared as dynamic counters (see the \package{dcounter}
+package from \bungle{ncctools}). A dynamic counter is created at
+the first use. So, a space of \TeX\ count registers is not
+occupied with useless counters (this is too important because a
+number of counters is limited). Using dynamic counters a package
+writer can prepare some predefined theorems without worry. Since
+a dynamic counter is created at the first use, a user can control
+the numbering style for it. This is provided with the
+\com{countstyle}\meta{base-counter} command. The \Meta{\itshape
+base-counter} is the name of counter a newly created dynamic
+counter must be subordinated to. An empty parameter means no
+subordination. So, the change of numbering style for all theorems
+in a manuscript is executed with one command only! If some
+counters must have a specific count style, you can create them
+manually or using the \com{countstyle} command with an optional
+parameter,
+\begin{quote}
+\com{countstyle}\opt{list-of-counters}\meta{base-counter}
+\end{quote}
+This command creates new counters from the comma separated list
+and subordinates all counters in the list to the \Meta{\itshape
+base-counter}. It can be used for existing counters also if you
+want to \textit{change the subordination} of them to another
+counter. For example, using
+\begin{verbatim}
+ \countstyle[section]{}
+\end{verbatim}
+in a book we reject the subordination of the \Meta{section}
+counter to the \Meta{chapter} counter!
+
+\subsubsection{Predefined theorems}
+
+The \package{ncclatex} package defines 8 theorems in 3 forms each:
+theorems with automatic numbering, theorems with manual
+numbering, and theorems in the \textit{apar} mode. All the
+theorems can be used in two ways: as environments and as
+commands. In command style they must be concluded with another
+theorem, or \com{qef}, or \com{qed} command. The \com{qef}
+command finishes a paragraph, inserts a proper vertical space,
+and returns the font shape to the normal font. The \com{qed}
+command usually finishes the proof of theorem. It prints a qed
+symbol (white square) adjusted to the right margin and calls the
+\com{qef}. The \com{qed*} command prints the qed symbol only.
+
+\subsubsection{Theorems with automatic numbering}
+
+We show the using of these theorems in the environment style.
+\begin{tabbing}
+ \tt xxxxx\=\verb+\begin{proposition}+\opt{Comment}\quad \=\Meta{\itshape body}\quad\=\+\kill
+ \verb+\begin{theorem}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{theorem}+\\
+ \verb+\begin{lemma}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{lemma}+\\
+ \verb+\begin{proposition}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{proposition}+\\
+ \verb+\begin{corollary}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{corollary}+\\
+ \verb+\begin{definition}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{definition}+\\
+ \verb+\begin{statement}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{statement}+\\
+ \verb+\begin{example}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{example}+\\
+ \verb+\begin{remark}+\opt{Comment} \>\Meta{\itshape body} \>\verb+\end{remark}+
+\end{tabbing}
+In environment style, the end of theorem is equivalent to the
+\com{qef} command. Counter names coincide with the names of
+environments. First 4 environments are prepared using the
+\Meta{theorem} type and last 4 environments are prepared using
+the \Meta{remark} type.
+
+\subsubsection{Theorems with manual numbering}
+
+We show the using of these theorems in the environment style also.
+\begin{tabbing}
+ \tt xxxxx\=\verb+\begin{Proposition}+\meta{Number}\opt{Comment}\quad \=\Meta{\itshape body}\quad\=\+\kill
+ \verb+\begin{Theorem}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Theorem}+\\
+ \verb+\begin{Lemma}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Lemma}+\\
+ \verb+\begin{Proposition}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Proposition}+\\
+ \verb+\begin{Corollary}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Corollary}+\\
+ \verb+\begin{Definition}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Definition}+\\
+ \verb+\begin{Statement}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Statement}+\\
+ \verb+\begin{Example}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Example}+\\
+ \verb+\begin{Remark}+\meta{Number}\opt{Comment}\quad \>\Meta{\itshape body} \>\verb+\end{Remark}+
+\end{tabbing}
+If the \Meta{\itshape Number} parameter is empty, a theorem
+without number is prepared. These commands do not use counters at
+all. The presentation types for these theorems are the same as
+for corresponding theorems with automatic numbering.
+
+Every theorem type has the corresponding \com{like}\Meta{\itshape
+type} command used for preparing theorems of this type. For
+example, to prepare a math statement in the \Meta{theorem} type,
+write down the following:
+\begin{quote}
+\com{liketheorem}\meta{Title}\meta{Number}\opt{Comment}\quad
+\Meta{\itshape body}\quad \com{qef}
+\end{quote}
+To prepare a math statement in the \Meta{remark} type, typeset
+\begin{quote}
+\com{likeremark}\meta{Title}\meta{Number}\opt{Comment}\quad
+\Meta{\itshape body}\quad \com{qef}
+\end{quote}
+
+\subsubsection{Theorems in apar mode}
+
+We show the using of these theorems in the command style.
+\begin{tabbing}
+ \tt xxxxx\=\com{aproposition}\opt{Comment}\quad\=\Meta{\itshape body}\quad\=\+\kill
+ \com{atheorem}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{alemma}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{aproposition}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{acorollary}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{adefinition}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{astatement}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{anexample}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}\\
+ \com{aremark}\opt{Comment}\quad \>\Meta{\itshape body} \>\com{qef}
+\end{tabbing}
+These theorems are number with the \Meta{apar} counter. The
+presentation types for these theorems are the same as for
+corresponding theorems with automatic numbering. The star-forms
+of \com{liketheorem} and \com{likeremark} commands are used for
+preparing apar variants of math statements. They have no number
+parameter:
+\begin{tabbing}
+ \tt xxxxx\=\com{liketheorem*}\meta{Title}\opt{Comment}\quad\=\Meta{\itshape body}\quad\=\+\kill
+ \com{liketheorem*}\meta{Title}\opt{Comment} \>\Meta{\itshape body} \>\com{qef}\\
+ \com{likeremark*}\meta{Title}\opt{Comment} \>\Meta{\itshape body} \>\com{qef}
+\end{tabbing}
+
+One additional command, the \com{apar}, can be used in the apar
+mode. Its syntax is the following:
+\begin{quote}
+\com{apar}\opt{Header}
+\end{quote}
+It starts a new paragraph numbered with subsequent value of the
+\Meta{apar} counter. The header is prepared in bold font.
+
+\subsubsection{Proof command and support of different qed
+symbols}
+
+The \com{proof}\opt{Comment} opens the proof of a math statement.
+For example,
+\begin{verbatim}
+ \proof[of Theorem 1] Some text \qed
+\end{verbatim}
+looks as follows:
+
+\proof[of Theorem 1] Some text \qed
+
+Along with the \com{qed}, the \com{qedsymbol} command can be used
+in the case when a proof finishes with the display formula. It is
+typed with the \AmS\ \verb+\tag*{\qedsymbol}+ command within a
+display formula.
+
+The \package{nccthm} package provides now two variants of the qed
+symbol, white and black. They are requested through package options
+\Opt{whiteqed} and \Opt{blackqed} respectively. When an option is
+used, two more commands are created for it: \com{\itshape option}
+and \com{{\itshape option}symbol}. For example, the
+\Opt{whiteqed} option generates the \com{whiteqed} and
+\com{whiteqedsymbol} commands, and the \Opt{blackqed} option
+generates the \com{blackqed} and \com{blackqedsymbol} commands.
+The later option in the list of options describes the default qed
+symbol. If no options used, only \com{qed} and \com{qedsymbol}
+commands are generated.
+
+Other qed symbols are welcome!
+
+\subsubsection{Customization commands}
+
+In conclusion, we show customization commands with their default
+values for the \package{ncclatex} package:
+\begin{description}
+\item[\com{TheoremCommentDelimiters}\meta{}\meta{}] describes
+delimiters inserted before and after a theorem\linebreak comment.
+In the \package{nccthm} package the parenthesis are used, but in
+the \package{ncclatex} package the delimiters are empty.
+
+\item[\com{AfterTheoremHeaderChar}\meta{.}] describes the
+character inserted at the end of header of theorem and proof.
+
+\item[\com{AfterTheoremHeaderSkip}\meta{\upshape\com{hskip} .7em plus .2em minus
+.1em}] describes a horizontal skip inserted after a header of
+theorem and proof.
+
+\item[\com{AparStyleParameters}\meta{\com{bfseries}}\meta{\com{bfseries}}\meta{.\com{enskip}}]
+describes style parameters for\linebreak preparing apar theorems:
+the first parameter is a style used in the \com{apar} command, the
+second and third parameters describe the prefix and suffix
+inserted before and after \com{theapar} command in typeout.
+
+\item[\com{ProofStyleParameters}\meta{\com{bfseries}}\meta{\com{proofname}}]
+describes style parameters used in the\linebreak \com{proof}
+command: the first is a font style and the last is a proof title
+(it is coded here in the \com{proofname} command with the default
+definition \verb+\newcommand\proofname{Proof}+).
+
+\end{description}
+
+\subsection{Math extension}
+
+In old NCC-\LaTeX, the standard \LaTeX\ environments were used
+for preparing display formulas and some extension commands were
+developed to support manual numbering. In the new release of
+NCC-\LaTeX, it was decided to use an excellent math extension
+provided with the \package{amsmath} package and enlarge it a bit.
+The enlargement of \AmS\ package is provided with the
+\package{nccmath} package. The \package{nccmath} package passes
+all options to the \package{amsmath}.
+
+Two major enlargements were done:
+\begin{itemize}
+\item In \package{amsmath}, the \Meta{eqnarray} environment leaves
+unchanged because alternative \AmS\ environments exist. We
+redefine the \Meta{eqnarray} to work in the \AmS\ style. The
+following improvements were done in it: an equation tag is
+prepared by the same manner as in \AmS\ display formulas
+(\com{tag} and \com{tag*} are allowed); the \com{displaybreak}
+command is allowed; the intercolumn distance is reduced to the
+distance between ordinary and relational math symbols; and the
+center field is prepared in the \com{displaystyle}.
+
+\item In old NCC-\LaTeX, a display equivalent for the \Meta{array}
+environment, namely \Meta{darray}, was implemented. In the new
+release, it is implemented also but in a bit different way to
+avoid conflicts with packages that redefine the \Meta{array}
+environment. The use of column specifications in the
+\Meta{darray} environment is restricted to \Meta{l}, \Meta{c},
+\Meta{r}, \Meta{@}, and \Meta{*} commands. The intercolumn
+distance is just the same as for \Meta{eqnarray} environment and
+no space is inserted before the first and after the last column.
+
+\end{itemize}
+
+\subsubsection{NCC-\LaTeX\ equivalents to display formulas}
+
+The following NCC-\LaTeX\ equivalents are provided with
+\package{nccmath}:
+\begin{desclist}{}{\hfill\enskip=}[\com{eqalign*}\meta{formulas}]
+\raggedright
+\item[\com{eq}\meta{formula}]
+\verb+\begin{equation}+ \Meta{\itshape formula}
+\verb+\end{equation}+.
+
+\item[\com{eq*}\meta{formula}]
+\verb+\begin{equation*}+ \Meta{\itshape formula}
+\verb+\end{equation*}+.
+
+\item[\com{eqs}\meta{formulas}]
+\verb+\begin{eqnarray}+ \Meta{\itshape formulas}
+\verb+\end{eqnarray}+.
+
+\item[\com{eqs*}\meta{formulas}]
+\verb+\begin{eqnarray*}+ \Meta{\itshape formulas}
+\verb+\end{eqnarray*}+.
+
+\item[\com{eqalign}\meta{formulas}]
+\verb+\begin{equation} \begin{darray}{rcl}+ \Meta{\itshape
+formulas} \verb+\end{darray} \end{equation}+.
+
+\item[\com{eqalign*}\meta{formulas}]
+\verb+\begin{equation*} \begin{darray}{rcl}+ \Meta{\itshape
+formulas} \verb+\end{darray} \end{equation*}+.
+
+\end{desclist}
+
+The \com{eqs} and \com{eqs*} commands have an optional parameter
+describing a distance between columns. For example,
+\begin{verbatim}
+ \eqs[0mm]{&& -\Delta u = f, \\ && u|_\Gamma = 0,}
+\end{verbatim}
+removes the intercolumn distance because the 3rd column is only
+used here. The \Meta{eqnarray} environment has no optional
+parameter.
+
+The \com{eqalign} and \com{eqalign*} commands have an optional
+parameter also. Its meaning is the column specification
+parameter: \com{eqalign}\meta{formulas} =
+\verb+\eqalign[rcl]+\meta{formulas}.
+
+\subsubsection{Remarks on display equations}
+
+The alignment style in display equations (except \TeX's
+low level \verb|$$|) can be changed using the following
+environments:
+\begin{quote}
+\com{begin}\meta{fleqn}\opt{margin} \Meta{\itshape body} \com{end}\meta{fleqn}\\
+\com{begin}\meta{ceqn} \Meta{\itshape body} \com{end}\meta{ceqn}
+\end{quote}
+The \Meta{fleqn} environment sets the flush left alignment
+with the left margin specified by the optional parameter
+(default margin is \Meta{0pt}). The \Meta{ceqn} environment
+sets the centered alignment.
+
+The \com{intertext} command from \package{amsmath} now has an
+optional parameter,
+\begin{quote}
+\com{intertext}\opt{skip}\meta{text between formulas}
+\end{quote}
+The \Meta{\itshape skip} is a vertical skip value inserted before
+and after the text. If it is omitted, the standard spaces are
+inserted.
+
+In \LaTeX, it is not recommended to start a display formula from a
+new paragraph (in vertical mode in other words). This is because
+the \TeX's algorithm inserts an empty paragraph before such a
+formula. To avoid insertion of an empty paragraph, Donald Knuth
+recommended to use \com{noindent} command before a display
+formula starting in the vertical mode. This trick is used in the
+\package{nccmath} package. All display environments are slightly
+corrected with insertion of \com{NCC@ignorepar} command at their
+beginning. This command does a little more than simply applies
+this trick. It provides suppressing of the vertical space before
+a display formula if it opens a minipage. It also supports the
+use of short skip above a display environment by user's request.
+
+In \TeX, two types of skips above display formulas are used: the
+normal skip defined in the \com{abovedisplayskip} register and the
+short skip defined in the \com{abovedisplayshortskip} register.
+When a display formula is typed out, \TeX\ decides what skip to
+insert depending on width of the formula, its style (centered or
+flushed left, numbered left or right), and the width of the rest
+of text in the last line of the previous paragraph. But this
+algorithm works for ordinary formulas only. It does not work in
+multiline formulas prepared with \com{halign} command. So, a
+manual replacement of normal skip to short skip is required in
+some cases. To provides this, the \com{useshortskip} command is
+introduced in the \package{nccmath} package. It forces the use of
+short skip in a display formula going after it.
+
+\subsubsection{Other math commands}
+
+The following commands were ported from the old NCC-\LaTeX:
+\begin{description}[\com{nr}]
+\item[\com{nr}] has just the same syntax as the \verb+\\+
+but inserts an extra vertical space of \Meta{0.5ex}. It is quite
+useful in display formulas to separate some rows a bit more.
+
+\item[\com{mrel}\meta{rows}] prepares a new math relation
+symbol from one-column table of math formulas. For example, the
+command
+\verb+$\mrel{<\\[-.7ex]>}$+ produces
+$\mrel{<\\[-.7ex]>}$.
+
+\item[\com{underrel}\meta{base}\meta{bottom}] is a twin to
+\com{overrel}. For example,\\
+ \verb+$A\underrel{\longrightarrow}{x\to 0}B$+
+produces $A\underrel{\longrightarrow}{x\to 0}B$.
+
+\end{description}
+
+\subsection{Figures and tables in NCC-\LaTeX{}}
+
+The standard \LaTeX\ floating environments, namely \Meta{figure}
+and \Meta{table}, allow user to place floating material in a
+document. But they do not introduce a style in which this
+material must be prepared. In NCC-\LaTeX, envelop commands are
+developed which join a style with a float and introduce more
+features. These commands are implemented in the
+\package{nccfloats} package from the \bungle{ncctools} bungle.
+
+\subsubsection{Basic commands}
+
+The \com{FloatingStyle}\meta{style} command sets a style of
+floats in the document. It affects on the material prepared with
+commands described below. The default style is
+\begin{verbatim}
+ \FloatingStyle{\footnotesize\centering}
+\end{verbatim}
+
+We start with the basic commands, namely \com{minifig} and
+\com{minitabl}. They prepare a material in a minipage and allow
+using the \com{caption} command in the body. Their syntax is
+similar to the \com{parbox} command:
+\begin{quote}
+\com{minifig}\opt{pos}\opt{height}\opt{inner-pos}\meta{width}\meta{body}\\
+\com{minitabl}\opt{pos}\opt{height}\opt{inner-pos}\meta{width}\meta{body}
+\end{quote}
+The \Meta{\itshape pos} is a vertical alignment parameter for
+minipage (\Meta{t}, \Meta{b}, or \Meta{c}) with respect to
+surrounding text; the \Meta{\itshape height} is a minipage height
+required; the \Meta{\itshape inner-pos} is a vertical alignment
+of text inside the minipage (\Meta{t}, \Meta{b}, \Meta{c}, or
+\Meta{s}); and the \Meta{\itshape width} is the minipage width.
+The \Meta{\itshape body} is prepared in the specified style and
+can contain a \com{caption} command.
+
+All other NCC-\LaTeX\ floating extension commands are based on
+\com{minifig} and \com{minitabl}.
+
+\subsubsection{Side figure or table}
+
+For small figures and tables, it is preferable to insert them
+inside a text instead of using floating mechanism. The
+typographic rules usually require an illustrative material to
+occupy an outer side of paper. In two side printing, this means
+figure and tables should be on the right side if a page number is
+odd and on the left side if page number is even. In one side
+printing, figures and tables must occupy the right side of paper.
+
+The following commands support such a placement:
+\begin{quote}
+\com{sidefig}\opt{pos}\Meta{($w_1$)}\Meta{($w_2$)}\meta{figure body}\meta{text body}\\
+\com{sidefig*}\opt{pos}\Meta{($w_1$)}\Meta{($w_2$)}\meta{figure body}\meta{text body}\\
+\com{sidetabl}\opt{pos}\Meta{($w_1$)}\Meta{($w_2$)}\meta{table body}\meta{text body}\\
+\com{sidetabl*}\opt{pos}\Meta{($w_1$)}\Meta{($w_2$)}\meta{table body}\meta{text body}
+\end{quote}
+For simplicity, we further use the term \textit{minifloat} for the
+small illustrating material (figure or table), however
+understanding that it is not a float at all. It is inserted in
+the main flow next to a paragraph box specified in the last
+parameter of above described commands.
+
+The no-star forms of above described commands place a minifloat
+next to the specified text on the outer side of page (to the
+right for odd page and to the left for even page). In two column
+or one side mode, minifloat is always posed to the right. The
+star forms provide the reverse placement. By default, minifloat
+is vertically centered with respect to the text and the
+\com{strut} command is inserted at the beginning and at the end
+of the \Meta{\itshape text body} to provide normal baseline
+distances of the first and last lines of the text from
+surrounding text lines.
+
+All parameters in square and round brackets are optional and mean
+the following:
+\begin{desclist}{}{}[\Meta{\itshape pos}]
+\item[\Meta{\itshape pos}] specifies minifloat alignment (\Meta{t},
+\Meta{b}, or \Meta{c}; default is \Meta{c}) with respect to text
+box and can contain additional chars controlling the text body
+preparation: \Meta{j} means the last line of the text to be
+justified to the right and \Meta{n} means suppressing of struts
+insertion (they should be inserted manually if necessary);
+
+\item[$w_1$] is the width of minifloat (if units are omitted, the
+\com{unitlength} is supposed); and
+
+\item[$w_2$] is the width of the text box (if units are omitted, the
+\com{unitlength} is supposed).
+\end{desclist}
+If both width parameters are absent, the widths are calculated as
+\verb+(\linewidth-1.5em)/2+. If $w_2$ is absent, the text body
+width is calculated as \verb+\linewidth-+$w_1$\verb+-1.5em+.
+
+While preparing a side minifloat, it is sometimes necessary to
+provide conditional placement depending on the side a minifloat
+is posed. The command
+\begin{quote}
+\com{ifleftsidefloat}\meta{left-clause}\meta{right-clause}
+\end{quote}
+provides this. It is useful in parameters of \com{sidefig} or
+\com{sidetabl} and processes \Meta{\itshape left-clause} if the
+minifloat is posed to the left or \Meta{\itshape right-clause}
+otherwise.
+
+\subsubsection{Floating figure or table}
+
+\begin{quote}
+\com{fig}\opt{placement}\Meta{($w$)}\meta{body}\\
+\com{fig*}\opt{placement}\Meta{($w$)}\meta{body}\\
+\com{tabl}\opt{placement}\Meta{($w$)}\meta{body}\\
+\com{tabl*}\opt{placement}\Meta{($w$)}\meta{body}
+\end{quote}
+The \Meta{\itshape placement} is a float placement parameter
+describing places where a float can appear. The default value is
+\Meta{htp} (here, or at the top of the next page, or on the page
+with floats only). The optional \Meta{($w$)} parameter defines a
+width of box occupied by the float (the width of nested
+\com{minifig} or \com{minitabl}). If it
+is omitted, the float has the maximum width equal to
+\com{linewidth}.
+
+The \com{fig} and \com{tabl} commands envelop the \Meta{figure}
+and \Meta{table} environments respectively. Their star-forms
+envelop corresponding starred environments.
+
+\subsubsection{Two floating figures or tables side by side}
+
+\begin{quote}
+\com{figs}\opt{placement}\Meta{($w_1$)}\Meta{($w_2$)}\meta{body1}\meta{body2}\\
+\com{figs*}\opt{placement}\Meta{($w_1$)}\Meta{($w_2$)}\meta{body1}\meta{body2}\\
+\com{tabls}\opt{placement}\Meta{($w_1$)}\Meta{($w_2$)}\meta{body1}\meta{body2}\\
+\com{tabls*}\opt{placement}\Meta{($w_1$)}\Meta{($w_2$)}\meta{body1}\meta{body2}
+\end{quote}
+These commands place two figures or tables side by side. The
+\Meta{\itshape body1} is a body of the left figure or table and
+the \Meta{\itshape body2} is a body of the right figure or table.
+Other parameters are optional. The meaning and default value of
+the \Meta{\itshape placement} parameter is the same as described
+above. The \Meta{($w_1$)} and \Meta{($w_2$)} parameters are
+widths of left and right boxes. If
+they both are omitted, the left and right boxes will have the
+width equal to \Meta{(\com{linewidth}-1em)/2}. If \Meta{($w_2$)}
+is omitted, the right box will occupy the rest of horizontal space
+minus \Meta{1em}. If both parameters are specified, the rest
+space is inserted between boxes. If the total width of left and
+right floats exceeds the \com{linewidth}, the floats will overlap
+at the middle of line (a negative horizontal space is inserted
+between them).
+
+In \com{tabls} command, boxes of the left and right bodies are
+top-aligned, but in \com{figs} command, the bottom alignment is
+used.
+
+\subsection{Graphics in NCC-\LaTeX{}}
+
+The \package{nccpic} package from the \bungle{ncctools} bungle
+envelops the standard \package{graphicx} package. The package
+passes all options to the underground package.
+
+The main aim of the \package{nccpic} package is the preparing of
+graphics extensions list depending on a dvi-driver used with the
+\package{graphicx} package. This allows omit an extension of a
+graphics file in the \com{includegraphics} command. When a file
+without extension is searched, this command sequentially tries
+extensions from the list until an appropriate file will be found.
+
+Using this feature you can support multiple output from \LaTeX\
+with minimum changes in \Meta{.tex} sources. The only required
+thing is to prepare a number of versions for all graphics files
+called in a document. For example, the dvips program likes
+\Meta{.eps} files, the Yap previewer likes \Meta{.bmp} or
+\Meta{.eps} files, the pdflatex likes \Meta{.png} files. To
+satisfy their needs, you can prepare \Meta{.eps}, \Meta{.bmp},
+and \Meta{.png} versions for all pictures and pass a required
+option to the \package{nccpic} package.
+
+The graphics extensions list is customized now for most popular
+drivers, namely \Opt{dvips}, \Opt{dvipdf}, and \Opt{dvipdfm}, and
+for use with \Opt{pdftex} also. More customization is welcome!
+
+The next aim of the \package{nccpic} package is the regulation of
+placement of graphics files in the file system. It is too
+inconvenient when pictures are stored together with \Meta{.tex}
+source files. We propose to store graphics files in the
+\Meta{graphics} subdirectory of the source directory. To support
+the search in this storage, the graphics path is customized in the
+\package{nccpic} package.
+
+The following commands are introduced in the \package{nccpic}
+package:
+\begin{desclist}{}{}
+\item[\com{ipic}\meta{filename}] command loads a file having the
+name \Meta{{\itshape filename}.pic} searching it in the graphics
+path. It allow to take actual graphics inclusion commands out of
+source files for automation purposes.
+
+\item[\com{putimage}\Meta{($x,y$)[$x_r,y_r$]($x_s,y_s$)}\meta{filename}]
+command emulates a graphics inclusion technique used in the old
+NCC-\LaTeX. Look in the \package{nccpic} package file for more
+detail description.
+
+\item[\com{draftgraphics} and \com{finalgraphics}] are toggles
+between final and draft modes for preparation of graphics. In
+draft mode, a graphics object is shown as a framebox of the
+required dimensions with an object name in it. Using these
+commands, you can toggle graphics preparation mode on the fly. In
+draft mode, the \com{putimage} command does not test an existence
+of required graphics file.
+\end{desclist}
+
+\subsection{Additional boxes}
+
+The \package{nccboxes} package from the \bungle{ncctools} bungle
+provides additional boxes:
+\begin{description}
+\item[\com{jhbox}\meta{prototype}\opt{align}\meta{body}]
+horizontally aligns the body in the text box which width is
+defined by the \Meta{\itshape prototype} parameter. The optional
+\Meta{\itshape align} parameter defines a position of alignment
+(\Meta{l}, \Meta{c}, \Meta{r}, or \Meta{s}; default is \Meta{c}).
+
+\item[\com{jvbox}\meta{prototype}\opt{align}\meta{body}]
+vertically aligns the body with respect to the strut defined by
+the \Meta{\itshape prototype} parameter. The optional
+\Meta{\itshape align} parameter defines a position of alignment
+(\Meta{t}, \Meta{c}, or \Meta{b}; default is \Meta{c}). If
+\Meta{t} is used, the body is raised in such a way that its
+height will be equal to the height of the prototype's strut. For
+\Meta{b} case, the depths will be equal and, for \Meta{c} case,
+the body is vertically centered with respect to prototype's strut.
+
+\item[\com{jparbox}\meta{prototype}\opt{align}\meta{width}\meta{body}]
+prepares a paragraph box of required \Meta{\itshape width} and
+vertically aligns it with respect to the \Meta{\itshape
+prototype} by the same manner as \com{jvbox}.
+
+\item[\com{pbox}\opt{align}\meta{body}] is a simple one-column
+table. The \Meta{\itshape align} parameter may consist of two
+letters defining a relative alignment in the column (\Meta{l},
+\Meta{c}, or \Meta{r}) and the vertical alignment of the table
+with respect to surrounding text (\Meta{t}, \Meta{c}, or
+\Meta{b}). Centering is the default alignment. The distance
+between the table rows is independent on the \com{arraystretch}
+value.
+
+\item[\com{addbox}\meta{above}\meta{below}\meta{body}] prepares
+an hbox containing the \Meta{\itshape body} which height is
+adjusted to the value of the \Meta{\itshape above} length
+parameter and depth is adjusted to the value of the
+\Meta{\itshape below} length parameter. For example,
+\verb+\addbox{.5ex}{.5ex}{text}+ increases the height and depth of
+produced hbox on \Meta{0.5ex}.
+
+\item[\com{picbox}\meta{body}] = \verb+\begin{picture}(0,0)(0,0)+
+\Meta{\itshape body} \verb+\end{picture}+.
+
+\end{description}
+
+To prepare a fancy table, the following commands can be used:
+\begin{desclist}{}{}
+\item[\com{Strut}\Meta{/{\itshape value}/}] is a strut which
+height and depth are calculated from the strut prototype (letter
+\Meta{A} by default) as follows: if \Meta{{\itshape value}>0},
+the full height of the current \com{strutbox} multiplied by the
+\Meta{\itshape value} is added to the height of prototype strut,
+otherwise the depth of prototype strut is increased with the
+modulus of \Meta{\itshape value} multiplied by the full height of
+\com{strutbox}. For example, \verb+\Strut/1/+ inserts a strut
+which height exceeds the height of the letter \Meta{A} from the
+current font on the interline distance. The \com{Strut} without
+parameter is equal to \verb+\Strut/0/+.
+
+\item[\com{tstrut}, \com{bstrut}, and \com{tbstrut}] insert
+struts exceeding the height, depth, and height and depth of the
+strut prototype by a special small amount. This amount is
+calculated in such a way that the full height of \com{tbstrut}
+will be equal to 1.5 of full height of the current \com{strutbox}.
+
+\item[\com{cbox}\Meta{/{\itshape value}/}\opt{align}\meta{body}]
+prepares a box whose body is a one-column table. Its height and
+depth are enlarged using \com{tstrut} at the beginning and
+\com{bstrut} at the end of body. The horizontal alignment
+(\Meta{l}, \Meta{c}, or \Meta{r}) in the column and the vertical
+alignment (\Meta{t}, \Meta{c}, or \Meta{b}) are defined in the
+\Meta{\itshape align} parameter. Centered alignment is used by
+default. The resulting box is vertically aligned with respect to
+the \com{Strut}\Meta{/{\itshape value}/} using the \com{jvbox}
+command. The \com{cbox*} command does the same but vanishes the
+height and depth of the resulting box.
+
+\end{desclist}
+
+The \com{cbox} command is used in the headers of tables. Its star
+form is useful in cells having vertical spans. The style for
+typing its body is managed with the \com{cboxstyle} command. Its
+default value is empty but in NCC-\LaTeX\ this command is
+redefined as follows:
+\begin{verbatim}
+ \renewcommand\cboxstyle{\scriptsize}
+\end{verbatim}
+
+We demonstrate the use of struts and \com{cbox} on the example
+\begin{center}
+\renewcommand\cboxstyle{\small\bf}
+\setlength{\tabcolsep}{10pt}
+\begin{tabular}{|l|c|c|c|}\hline
+ \cbox*/-1.5/{Vertically\\spanned head} & \cbox{Simple head}
+ &\multicolumn2{c|}{\cbox{Very long head\\of two lines}}\\\cline{2-4}
+ &\cbox{subhead} &\cbox{subhead} &\cbox{subhead}\\\hline
+ \Strut/1/ Text & field & field & field \\
+ Text & field & field & field \\
+ \bstrut Text & field & field & field \\\hline
+\end{tabular}
+\end{center}
+produced by the following code:
+\begin{verbatim}
+ \begin{center}
+ \renewcommand\cboxstyle{\small\bf}
+ \setlength{\tabcolsep}{10pt}
+ \begin{tabular}{|l|c|c|c|}\hline
+ \cbox*/-1.5/{Vertically\\spanned head} & \cbox{Simple head}
+ &\multicolumn2{c|}{\cbox{Very long head\\of two lines}}\\\cline{2-4}
+ &\cbox{subhead} &\cbox{subhead} &\cbox{subhead}\\\hline
+ \Strut/1/ Text & field & field & field \\
+ Text & field & field & field \\
+ \bstrut Text & field & field & field \\\hline
+ \end{tabular}
+ \end{center}
+\end{verbatim}
+
+\subsection{Miscellaneous commands}
+
+We describe here commands provided by the \package{ncclatex}
+package itself.
+\begin{desclist}{}{}
+\item[\com{acknow}] starts a new paragraph with the
+\textit{Acknowledgements} title.
+
+\item[\com{cref}\meta{citelabel}] produces a citation without brackets to the
+specified \Meta{\itshape citelabel}. It is used in the case of
+citations containing ranges, e.g.\ [2--4, 7].
+
+\item[\com{mop}\meta{name}] is used for coding new math operations
+like $\sin$. For example, \verb+$k=\mop{sgn}x$+ produces
+$k=\mop{sgn}x$ with proper font and spaces. This command is
+equivalent to \AmS\ \com{operatorname} command.
+
+\item[\com{tg}, \com{ctg}, \com{arctg}, and \com{arcctg}] produce
+math operations for tangent, cotangent, and for their inverse
+functions in Russian typesetting tradition.
+
+\item[\com{No}] produces the numero symbol. If the \Opt{russian}
+option is not used, this command emulates the numero symbol with
+the text ``\No''.
+
+\item[\com{tc}\meta{body}] adjust the body to the center
+using \verb+\hspace*{\fill}+ glues. This
+command is useful in tables when centered alignment of a
+particular cell is required but another alignment is
+specified for the column the cell belongs to.
+
+\end{desclist}
+
+The titles of proof, predefined theorems, and acknowledgements
+are declared with commands having the \Meta{name} suffix. For
+example, the proof title is coded in the \com{proofname}, the
+title of lemmas is defined in the \com{lemmaname}, and the
+acknowledgements title is coded in the \com{acknowname} command.
+They all can be redefined to provide internationalization (the
+\Opt{russian} option redefines these titles in Russian).
+
+\section{The sibjnm class}
+
+This class describes a style used in the \textit{Siberian Journal
+of Numerical Mathematics} (SibJNM),
+\texttt{http://www.sscc.ru/SibJNM/}, email:
+\texttt{sibjnm@oapmg.sscc.ru}. We recommend to use this class for
+submitting an article to this journal.
+
+The \package{sibjnm} class is based on the \package{ncc} class.
+It sets the following options of \package{ncc} class:
+\Opt{a4paper}, \Opt{11pt}, \Opt{article}, \Opt{twoside}, and
+\Opt{onecolumn}. A user can manage the following options:
+\Opt{draft}, \Opt{final}, \Opt{openany}, \Opt{openright}, and
+\Opt{russian}. Other options are forbidden.
+
+The SibJNM is a bilingual journal. An article can be prepared in
+English or in Russian. An abstract is prepared in both languages.
+Before abstracts, one of subject classification commands must be
+used: \com{UDC}\meta{indices} or
+\com{AmSclassification}\meta{indices}. The first command sets UDC
+classification indices and the last command sets \AmS\
+classification indices of the article subject.
+
+The russian abstract must go right after the \com{maketitle}
+command. Its syntax:
+\begin{quote}
+\verb+\begin{Rabstract}+\meta{Authors}\meta{Title} \Meta{\itshape
+body} \verb+\end{Rabstract}+
+\end{quote}
+The english abstract must go after the russian one. Its syntax is
+similar:
+\begin{quote}
+\verb+\begin{Eabstract}+\meta{Authors}\meta{Title} \Meta{\itshape
+body} \verb+\end{Eabstract}+
+\end{quote}
+The text field of SibJNM article is 155$\times$225 mm.
+
+\end{document}
diff --git a/macros/latex/contrib/ncclatex/nccltrus.sty b/macros/latex/contrib/ncclatex/nccltrus.sty
new file mode 100644
index 0000000000..490693a0ae
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccltrus.sty
@@ -0,0 +1,54 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccltrus}
+ [2005/12/27 v1.07 Russian specifics (NCC)]
+%
+% \changes{v1.01}{2002/03/24}{This version is uploaded to CTAN}
+% \changes{v1.02}{2004/04/08}{All options are passed to babel}
+% \changes{v1.03}{2004/04/24}{Protect the package from use out of NCC}
+% \changes{v1.03}{2004/04/24}{Partial activation of useful CP1251 symbols}
+% \changes{v1.04}{2004/09/23}{Activate the CP1251-light input encoding}
+% \changes{v1.04}{2004/09/23}{Protect cyrillic alpha-numbering with \text}
+% \changes{v1.05}{2005/01/09}{Improve definition of \No command}
+% \changes{v1.05}{2005/04/13}{Add a small kern to \glqq shorthand}
+% \changes{v1.06}{2005/07/02}{Change kern with nonbreakable hspace in \glqq}
+% \changes{v1.07}{2005/12/24}{Undo Babel's ``improvements'' to \flqq, \frqq}
+% \changes{v1.07}{2005/12/27}{Move Babel's customization to other packages}
+%
+% The trick with temporary definition of \ver@inputenc.sty command
+% removes a warning from the [russian] option of the Babel package about
+% undefined input encoding. We do this trick because the input encoding
+% will be defined later.
+%
+\@ifpackageloaded{inputenc}{%
+ \expandafter\let\expandafter\NCC@tempa
+ \csname ver@inputenc.sty\endcsname
+}{%
+ \let\NCC@tempa\relax
+ \expandafter\let\csname ver@inputenc.sty\endcsname\@empty
+}
+\RequirePackageWithOptions{babel}
+\expandafter\let\csname ver@inputenc.sty\endcsname\NCC@tempa
+\ifx\cyrillicencoding\undefined \endinput\fi
+%
+% Load cp1251-light input encoding at the beginning of document
+% if no encoding was loaded at all
+%
+\AtBeginDocument{%
+ \@ifpackageloaded{inputenc}{}{\usepackage[cp1251-light]{inputenc}}%
+}
+\@ifundefined{ifNCC@rus}{\endinput}{\ifNCC@rus \else \endinput\fi}
+%
+% Redefine \alph and \Alph to russian alphabet and
+% save latin versions in \alphlatin and \Alphlatin
+% The redefined versions of \@alph and \@Alph commands wrap
+% contents with \text to be sure that alphabetic numbers never appear
+% in math mode.
+%
+\RequirePackage{amstext}[1995/01/25]
+\let\@alphlatin\@alph
+\newcommand*\alphlatin[1]{\expandafter\@alphlatin\csname c@#1\endcsname}
+\def\@alph#1{\text{\cyr\@asbuk{#1}}}
+\let\@Alphlatin\@Alph
+\newcommand*\Alphlatin[1]{\expandafter\@Alphlatin\csname c@#1\endcsname}
+\def\@Alph#1{\text{\cyr\@Asbuk{#1}}}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccnews.pdf b/macros/latex/contrib/ncclatex/nccnews.pdf
new file mode 100644
index 0000000000..1e9a6459ce
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccnews.pdf
Binary files differ
diff --git a/macros/latex/contrib/ncclatex/nccold.sty b/macros/latex/contrib/ncclatex/nccold.sty
new file mode 100644
index 0000000000..8cf6bc70e9
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccold.sty
@@ -0,0 +1,37 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccold}
+ [2002/02/19 v1.01 Obsolete NCC-LaTeX Commands (NCC)]
+\RequirePackage{nccboxes}
+\RequirePackage{nccmath}[2002/02/19]
+%
+% This package contains commands of NCC-LaTeX which are not remcommended
+% for use because new equivalents exist or commands depend on dvi-driver.
+%
+% \eref in NCC-LaTeX is equivalent to \eqref in AMS-LaTeX.
+% \no in NCC-LaTeX is equivalent to \tag* in AMS-LaTeX.
+% \Eq, \Eqs, and \Eqalign are equivalent to \eq*, \eqs*, and \eqalign*.
+%
+\newcommand{\eref}{\eqref}
+\newcommand{\no}{\tag*}
+\newcommand{\Eq}{\eq*}
+\newcommand{\Eqs}{\eqs*}
+\newcommand{\Eqalign}{\eqalign*}
+%
+% Support for emlines (emTeX dvi-driver specific commands)
+%
+\newcommand*{\emlinewidth}[1]{\special{em:linewidth #1}}
+\newcommand*{\emline}[6]{%
+ \put(#1,#2){\special{em:moveto}}%
+ \put(#3,#4){\special{em:lineto}}%
+}
+%
+% Use \tstrut, \bstrut, and \tbstrut instead of the following commands:
+%
+% \tbox{TEXT} = \addbox{\NCC@strutsep}{0mm}{TEXT}
+% \bbox{TEXT} = \addbox{0mm}{\NCC@strutsep}{TEXT}
+% \tbbox{TEXT} = \addbox{\NCC@strutsep}{\NCC@strutsep}{TEXT}
+%
+\def\tbox{\NCC@setstrut{\addbox\NCC@strutsep\z@}\z@}
+\def\bbox{\NCC@setstrut{\addbox\z@\NCC@strutsep}\z@}
+\def\tbbox{\NCC@setstrut{\addbox\NCC@strutsep\NCC@strutsep}\z@}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccproc.cls b/macros/latex/contrib/ncclatex/nccproc.cls
new file mode 100644
index 0000000000..bb0e94ba27
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccproc.cls
@@ -0,0 +1,68 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{nccproc}
+ [2005/12/27 v1.3 Generic Proceedings Class (NCC)]
+%
+% \changes{v1.0}{2004/04/08}{This version was uploaded to CTAN}
+% \changes{v1.1}{2004/09/18}{Documentation was corrected}
+% \changes{v1.2}{2005/01/14}{Remove small, fleqn, and leqno options}
+% \changes{v1.3}{2005/12/27}{11pt option is allowed now}
+%
+% The base class for NCC Proceedings. It supports bilingual
+% (Russian and English) proceedings.
+%
+\DeclareOption{a5paper}{\OptionNotUsed}
+\DeclareOption{a5a4paper}{\OptionNotUsed}
+\DeclareOption{b5paper}{\OptionNotUsed}
+\DeclareOption{letterpaper}{\OptionNotUsed}
+\DeclareOption{legalpaper}{\OptionNotUsed}
+\DeclareOption{executivepaper}{\OptionNotUsed}
+\DeclareOption{fittopage}{\OptionNotUsed}
+\DeclareOption{12pt}{\OptionNotUsed}
+\DeclareOption{14pt}{\OptionNotUsed}
+\DeclareOption{oneside}{\OptionNotUsed}
+\DeclareOption{twocolumn}{\OptionNotUsed}
+\DeclareOption{openbib}{\OptionNotUsed}
+\DeclareOption{preprint}{\OptionNotUsed}
+\DeclareOption{monography}{\OptionNotUsed}
+\DeclareOption{report}{\OptionNotUsed}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ncc}}
+\PassOptionsToClass{10pt,twoside,onecolumn,article,a4paper,small}{ncc}
+\ProcessOptions\relax
+\LoadClass{ncc}
+%
+% Centered sections with indentation after them
+%
+\sectionstyle{center}
+\indentaftersection
+%
+% Define page layout
+%
+\headsep=20pt
+\ToCenter[h]{126.5mm}{199mm}
+\RequirePackage[title,myheadings]{ncchdr}
+\def\NCC@articlehead{\thispagestyle{title}}
+%
+% Specify a title mark declaration command:
+%
+% \DeclareTitleMark{Proceedings title}{Location}{Page abbreviation}
+%
+\newcommand*{\DeclareTitleMark}[3]{%
+ \renewcommand\titlemark{\rm
+ \smash{\parbox[t]\linewidth{{\centering #1\endgraf}%
+ \vspace{.8mm}\small\rm #2, \theyear\hfill
+ #3~\thepage--\pageref{NCC@lastpage}}}}
+}
+\@onlypreamble\DeclareTitleMark
+%
+% Article info (it is redefined while making contents).
+% \info{Author's list}{Title}{Start page}
+% In articles, it is used for setting a starting page number
+%
+\newcommand*\info[3]{\setcounter{page}{#3}}
+%
+% Defaults
+%
+\renewcommand{\headrulewidth}{.6\p@}
+\renewcommand{\headstrutheight}{.25\normalbaselineskip}
+\DeclareTitleMark{PROCEEDINGS TITLE}{Location}{P.}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/nccsections.sty b/macros/latex/contrib/ncclatex/nccsections.sty
new file mode 100644
index 0000000000..0b1021b938
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/nccsections.sty
@@ -0,0 +1,220 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nccsections}
+ [2006/01/19 v1.01 Custom sectioning styles (NCC)]
+%
+% \changes{v1.00}{2006/01/01}{This version is uploaded to CTAN}
+% \changes{v1.01}{2006/01/17}{addtopackage -> afterpackage}
+% \changes{v1.01}{2006/01/19}{Add modification of \NCC@secflush hook}
+%
+\RequirePackage{afterpackage}
+\RequirePackage{nccsect}[2006/01/19]
+%
+% The style parameter in section declaration commands is applied
+% to the section text only
+%
+\DeclareOption{newsecstyle}{%
+ \def\NCC@preparesectag#1#2{\def\NCC@makesectag##1{#1{#2##1\NCC@asecnum}}}
+ \def\NCC@secttitle#1#2#3{#2#1{#3}}
+ \let\NCC@secptitle\NCC@secttitle
+ \let\NCC@secxtitle\NCC@secttitle
+ \DeclareSection*1{section}{\Large\bff}%
+ {3.5ex \@plus 1ex \@minus .2ex}%
+ {2.3ex \@plus .2ex}{\Large\bff}
+ \DeclareSection*2{subsection}{\large\bff}%
+ {3.25ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\large\bff}
+ \DeclareSection*3{subsubsection}{\normalsize\bff}%
+ {3ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\normalsize\bff}
+ \DeclareSection4{paragraph}{\normalsize\bff}%
+ {\NCC@runskip}{-1em}{\normalsize\bff}
+ \DeclareSection5{subparagraph}[\parindent]{\normalsize\bff}%
+ {\NCC@runskip}{-1em}{\normalsize\bff}
+ \AfterPackage{ncclatex}{%
+ \ifNCC@small
+ \DeclareSection*1{section}{\large\bff}%
+ {3.1ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\large\bff}
+ \DeclareSection*2{subsection}{\normalsize\bff}%
+ {2.7ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\normalsize\bff}
+ \DeclareSection*3{subsubsection}{\normalsize\bff\itshape}%
+ {\NCC@runskip}%
+ {1.5ex \@plus .2ex}{\normalsize\bff\itshape}
+ \else
+ \DeclareSection*1{section}{\Large\bff}%
+ {3.5ex \@plus 1ex \@minus .2ex}%
+ {2.3ex \@plus .2ex}{\Large\bff}
+ \DeclareSection*2{subsection}{\large\bff}%
+ {3.1ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\large\bff}
+ \DeclareSection*3{subsubsection}{\normalsize\bff}%
+ {2.7ex \@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}{\normalsize\bff}
+ \fi
+ \DeclareSection4{paragraph}{\normalsize\bff}{\NCC@runskip}%
+ {-.6em \@plus -.2em \@minus -.1em}{\normalsize\bff}
+ \DeclareSection5{subparagraph}[\parindent]{\normalsize\bff}{\NCC@runskip}%
+ {-.6em \@plus -.2em \@minus -.1em}{\normalsize\bff}
+ }
+}
+%
+% The style parameter in toc-entry declaration commands is applied
+% to the toc-entry text only
+%
+\DeclareOption{newtocstyle}{%
+ \let\NCC@tocnumprototype\@secondoftwo
+ \def\NCC@nexttocnum#1#2{#1{#2\NCC@atocnum}}
+ \def\NCC@preparetocnum#1#2{\def\NCC@maketocnum##1{#2{##1\NCC@atocnum}}}
+ \def\NCC@tocentrytitle#1#2{%
+ \def\@tempa##1{#1{\ignorespaces##1}}%
+ \NCC@parsetocnum#2\NCC@do
+ }
+ \def\NCC@parsetocnum{\futurelet\@tempb\NCC@testtocnum}
+ \def\NCC@testtocnum{%
+ \ifx\@tempb\numberline
+ \expandafter\NCC@gettocnum
+ \else
+ \expandafter\NCC@gettoctext
+ \fi
+ }
+ \def\NCC@gettocnum#1#2{#1{#2}\NCC@gettoctext}
+ \def\NCC@gettoctext#1\NCC@do{\@tempa{#1}}
+ \@ifundefined{chapter}{%
+ \DeclareTOCEntry0{\runinsectionskip\def\@dotsep{1000}}%
+ {\bff}{III}{\bff}[]
+ }{%
+ \DeclareTOCPart{\NCC@secskip{4ex \@plus .2ex}\def\@dotsep{1000}}%
+ {\large\bff}{II}{\large\bff}
+ \DeclareTOCEntry0{\runinsectionskip\def\@dotsep{1000}%
+ \aftergroup\penalty\aftergroup\@highpenalty}%
+ {\bff}{9}{\bff}
+ }
+}
+%
+% A chapter tag goes inline with title
+%
+\DeclareOption{chapterinline}{%
+ \@ifundefined{chapter}{\NCC@secoptionerror}{%
+ \let\NCC@chap@@gobble\@empty
+ \def\NCC@secflush{\NCC@secsave}
+ \@ifpackagewith{nccsections}{newsecstyle}{%
+ \def\NCC@makechaptitle#1#2#3{\NCC@chap@@gobble
+ \ifx\NCC@sec@@main\@empty #1\@svsec \else \NCC@sec{\@svsec}#1\fi
+ \interlinepenalty \@M #2{#3\@@par}%
+ }
+ }{%
+ \def\NCC@makechaptitle#1#2#3{\NCC@chap@@gobble
+ \ifx\NCC@sec@@main\@empty \def\NCC@sec@@main{#1\@svsec}\else
+ \def\NCC@sec@@main{\protect\NCC@sec{\@svsec}#1}\fi
+ #2{\NCC@sec@@main\interlinepenalty \@M #3\@@par}%
+ }
+ }
+ \DeclareSection*0{chapter}{\huge\bff}{10ex}%
+ {8ex \@plus .2ex}{\huge\bff}
+ \AfterPackage{ncclatex}{%
+ \ifNCC@small
+ \DeclareSection*0{chapter}{\Large\bff}{\z@}%
+ {6ex \@plus .2ex}{\Large\bff}
+ \else
+ \DeclareSection*0{chapter}{\LARGE\bff}{\z@}%
+ {8ex \@plus .2ex}{\LARGE\bff}
+ \fi
+ }
+ }
+}
+%
+% Chapter like a section
+%
+\DeclareOption{chaptersection}{%
+ \@ifundefined{chapter}{\NCC@secoptionerror}{%
+ \@ifpackagewith{nccsections}{chapterinline}{}{%
+ \ExecuteOptions{chapterinline}%
+ }
+ \def\NCC@chap@@gobble{\let\@chapapp\@gobble}
+ \AtBeginDocument{%
+ \def\NCC@thetocchapter{\thechapter}
+ \let\NCC@makechapfinal\NCC@makechapfinalgobble
+ }
+ }
+}
+%
+% A part tag goes inline with title
+%
+\DeclareOption{partinline}{%
+ \let\NCC@part@@gobble\@empty
+ \@ifundefined{chapter}{%
+ \def\NCC@secflush{\NCC@secsave}
+ \@ifpackagewith{nccsections}{newsecstyle}{%
+ \def\NCC@makeparttitle#1#2#3{\NCC@part@@gobble
+ \ifx\NCC@sec@@main\@empty #1\@svsec \else \NCC@sec{\@svsec}#1\fi
+ \interlinepenalty \@M #2{#3\@@par}%
+ }
+ }{%
+ \def\NCC@makeparttitle#1#2#3{\NCC@part@@gobble
+ \ifx\NCC@sec@@main\@empty \def\NCC@sec@@main{#1\@svsec}\else
+ \def\NCC@sec@@main{\protect\NCC@sec{\@svsec}#1}\fi
+ #2{\NCC@sec@@main\interlinepenalty \@M #3\@@par}%
+ }
+ }
+ \DeclareSection*0{part}{\LARGE\bff}%
+ {5ex \@plus 1ex \@minus .2ex}%
+ {4ex \@plus .2ex}{\LARGE\bff}
+ \AfterPackage{ncclatex}{%
+ \ifNCC@small
+ \DeclareSection*0{part}{\Large\bff}%
+ {4ex \@plus 1ex \@minus .2ex}%
+ {2.8ex \@plus .2ex}{\Large\bff}
+ \else
+ \DeclareSection*0{part}{\LARGE\bff}%
+ {5ex \@plus 1ex \@minus .2ex}%
+ {3.8ex \@plus .2ex}{\LARGE\bff}
+ \fi
+ }
+ }{%
+ \@ifpackagewith{nccsections}{newsecstyle}{%
+ \def\NCC@makeparttitle#1#2#3{#1\NCC@part@@gobble
+ \@svsec\interlinepenalty \@M #2{#3\@@par}%
+ }
+ }{%
+ \def\NCC@makeparttitle#1#2#3{#1\NCC@part@@gobble
+ #2{\@svsec\interlinepenalty \@M #3\@@par}%
+ }
+ }
+ \DeclarePart{\StartFromTextArea\vfil\centering}%
+ {\vfil\newpage \if@twoside\if@openright
+ \mbox{}\thispagestyle{empty}\newpage\fi\fi}%
+ {\huge\bff}{\huge\bff}
+ \AfterPackage{ncclatex}{%
+ \ifNCC@small
+ \DeclarePart{\StartFromTextArea\vspace{\stretch{.5}}\centering}
+ {\vfill\newpage}{\LARGE\bff}{\LARGE\bff}
+ \else
+ \DeclarePart{\StartFromTextArea\vspace{\stretch{.5}}\centering}
+ {\vfill\newpage}{\huge\bff}{\huge\bff}
+ \fi
+ }
+ }
+}
+%
+% Part like a section
+%
+\DeclareOption{partsection}{%
+ \@ifpackagewith{nccsections}{partinline}{}{%
+ \ExecuteOptions{partinline}%
+ }
+ \def\NCC@part@@gobble{\let\partname\@gobble}
+ \@ifundefined{chapter}{}{%
+ \AtBeginDocument{%
+ \def\NCC@thetocpart{\thepart}
+ \let\NCC@makepartfinal\NCC@makepartfinalgobble
+ }
+ }
+}
+\def\NCC@secoptionerror{%
+ \PackageError{nccsections}%
+ {Option `\CurrentOption' useful in book-like classes only}{}%
+}
+\@onlypreamble\NCC@secoptionerror
+\ProcessOptions\relax
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncctheorems.sty b/macros/latex/contrib/ncclatex/ncctheorems.sty
new file mode 100644
index 0000000000..adda757282
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncctheorems.sty
@@ -0,0 +1,82 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ncctheorems}
+ [2006/01/17 v1.01 NCC-LaTeX default theorems (NCC)]
+%
+% \changes{v1.00}{2005/12/27}{This version is uploaded to CTAN}
+% \changes{v1.01}{2006/01/17}{addtopackage -> afterpackage}
+%
+% The package specifies theorem-like environments to be defined when the
+% nccthm package will be loaded. It extends the default settings from
+% the nccdefaults package.
+%
+\RequirePackage{nccdefaults}
+%
+% Customize nccthm package
+%
+\AfterPackage{nccthm}{%
+%
+% Define headers for theorem-like environments.
+%
+ \newcommand{\theoremname}{Theorem}
+ \newcommand{\lemmaname}{Lemma}
+ \newcommand{\propositionname}{Proposition}
+ \newcommand{\corollaryname}{Corollary}
+ \newcommand{\definitionname}{Definition}
+ \newcommand{\statementname}{Statement}
+ \newcommand{\examplename}{Example}
+ \newcommand{\remarkname}{Remark}
+%
+% Prepare theorem-like environments
+%
+ \newtheorem{theorem}{\theoremname}
+ \newtheorem{lemma}{\lemmaname}
+ \newtheorem{proposition}{\propositionname}
+ \newtheorem{corollary}{\corollaryname}
+ \newtheorem{statement}{\statementname}[remark]
+ \newtheorem{definition}{\definitionname}[remark]
+ \newtheorem{example}{\examplename}[remark]
+ \newtheorem{remark}{\remarkname}[remark]
+%
+% Prepare APAR theorem-like environments
+%
+ \newtheorem*{atheorem}{\theoremname}
+ \newtheorem*{alemma}{\lemmaname}
+ \newtheorem*{aproposition}{\propositionname}
+ \newtheorem*{acorollary}{\corollaryname}
+ \newtheorem*{astatement}{\statementname}[remark]
+ \newtheorem*{adefinition}{\definitionname}[remark]
+ \newtheorem*{anexample}{\examplename}[remark]
+ \newtheorem*{aremark}{\remarkname}[remark]
+%
+% Prepare manual theorem-like environments
+%
+ \newenvironment{Theorem}{\liketheorem{\theoremname}}{\qef}
+ \newenvironment{Lemma}{\liketheorem{\lemmaname}}{\qef}
+ \newenvironment{Proposition}{\liketheorem{\propositionname}}{\qef}
+ \newenvironment{Corollary}{\liketheorem{\corollaryname}}{\qef}
+ \newenvironment{Statement}{\likeremark{\statementname}}{\qef}
+ \newenvironment{Definition}{\likeremark{\definitionname}}{\qef}
+ \newenvironment{Example}{\likeremark{\examplename}}{\qef}
+ \newenvironment{Remark}{\likeremark{\remarkname}}{\qef}
+}
+%
+% Specify russian versions of theorem-like titles.
+%
+\AfterPackage{babel}{%
+ \addto\captionsrussian{%
+ \def\theoremname{{\cyr\CYRT\cyre\cyro\cyrr\cyre\cyrm\cyra}}%
+ \def\lemmaname{{\cyr\CYRL\cyre\cyrm\cyrm\cyra}}%
+ \def\propositionname{%
+ {\cyr\CYRP\cyrr\cyre\cyrd\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}}%
+ \def\corollaryname{%
+ {\cyr\CYRS\cyrl\cyre\cyrd\cyrs\cyrt\cyrv\cyri\cyre}}%
+ \def\definitionname{%
+ {\cyr\CYRO\cyrp\cyrr\cyre\cyrd\cyre\cyrl\cyre\cyrn\cyri\cyre}}%
+ \def\statementname{%
+ {\cyr\CYRU\cyrt\cyrv\cyre\cyrr\cyrzh\cyrd\cyre\cyrn\cyri\cyre}}%
+ \def\examplename{{\cyr\CYRP\cyrr\cyri\cyrm\cyre\cyrr}}%
+ \def\remarkname{%
+ {\cyr\CYRZ\cyra\cyrm\cyre\cyrch\cyra\cyrn\cyri\cyre}}%
+ }
+}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/ncclatex/ncctitle.clo b/macros/latex/contrib/ncclatex/ncctitle.clo
new file mode 100644
index 0000000000..3117a064d4
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncctitle.clo
@@ -0,0 +1,19 @@
+\ProvidesFile{ncctitle.clo}
+ [2005/12/26 v1.06 Title page (NCC)]
+%
+% \changes{v1.00}{2002/02/19}{This version is uploaded to CTAN}
+% \changes{v1.01}{2004/11/30}{Add the \NCC@titlestyle hook}
+% \changes{v1.01}{2004/11/30}{Add the \StartFromHeaderArea command
+% at the beginning of title and abstract}
+% \changes{v1.01}{2004/11/30}{Service title management commands added}
+% \changes{v1.02}{2004/12/07}{Add the \NCC@abstractstyle hook}
+% \changes{v1.02}{2004/12/07}{Introduce \makelastpage command}
+% \changes{v1.02}{2004/12/07}{Add services for the abstract and last page}
+% \changes{v1.03}{2004/12/16}{Replace \NCC@gempty with \@empty}
+% \changes{v1.04}{2005/06/18}{Use \ExpandTextArea in title pages}
+% \changes{v1.04}{2005/06/18}{Introduce \titleareadefault}
+% \changes{v1.05}{2005/07/24}{Replace \vfil to \vfill in the \endabstract}
+% \changes{v1.06}{2005/12/26}{This class option is obsolete now}
+%
+\@latex@warning{Obsolete option ncctitle.clo. Use ncctitle package instead.}
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncctitle.sty b/macros/latex/contrib/ncclatex/ncctitle.sty
new file mode 100644
index 0000000000..5a38762aae
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncctitle.sty
@@ -0,0 +1,233 @@
+\ProvidesPackage{ncctitle}
+ [2005/12/26 v1.06 Title page (NCC)]
+%
+% \changes{v1.00}{2002/02/19}{This version is uploaded to CTAN}
+% \changes{v1.01}{2004/11/30}{Add the \NCC@titlestyle hook}
+% \changes{v1.01}{2004/11/30}{Add the \StartFromHeaderArea command
+% at the beginning of title and abstract}
+% \changes{v1.01}{2004/11/30}{Service title management commands added}
+% \changes{v1.02}{2004/12/07}{Add the \NCC@abstractstyle hook}
+% \changes{v1.02}{2004/12/07}{Introduce \makelastpage command}
+% \changes{v1.02}{2004/12/07}{Add services for the abstract and last page}
+% \changes{v1.03}{2004/12/16}{Replace \NCC@gempty with \@empty}
+% \changes{v1.04}{2005/06/18}{Use \ExpandTextArea in title pages}
+% \changes{v1.04}{2005/06/18}{Introduce \titleareadefault}
+% \changes{v1.05}{2005/07/24}{Replace \vfil to \vfill in the \endabstract}
+% \changes{v1.06}{2005/12/26}{Change extension from .clo to .sty}
+%
+% This package provides a title, an abstract, and a last page prepared
+% on separate title pages.
+%
+\RequirePackage{ncctitlepage}
+%
+% The expansion of the text area on these pages is specified with the
+% \titleareadefault macro.
+%
+\newcommand\titleareadefault{*}
+%
+% The \maketitle uses the following hooks:
+%
+% \NCC@titlestyle a style applied to the title
+% \NCC@titlebegin typed out at the beginning of title
+% \@maketitle prepares a title
+% \NCC@titlecomment typed out right after the title
+% \NCC@titleend typed out at the end of title
+%
+% We do not delete title specific commands because the \@maketitle
+% command can be used for preparing other special pages also.
+%
+\def\maketitle{%
+ \begin{titlepage}%
+ \NCC@titlestyle
+ \ExpandTextArea[\titleareadefault]%
+ \let\footnoterule\relax
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \begingroup
+ \def\@makefnmark{\@textsuperscript{\normalfont\@thefnmark}}%
+ \NCC@titlebegin
+ \@maketitle
+ \NCC@titlecomment
+ \NCC@titleend
+ \endgroup
+ \@thanks\setcounter{footnote}{0}\gdef\@thanks{}%
+ \end{titlepage}%
+}
+\let\NCC@titlecomment\@empty
+%
+% What goes first in title: author or title?
+%
+\@ifundefined{ifNCC@authorbeforetitle}{%
+ \newif\ifNCC@authorbeforetitle
+ \newcommand{\AuthorBeforeTitle}{\NCC@authorbeforetitletrue}
+ \newcommand{\TitleBeforeAuthor}{\NCC@authorbeforetitlefalse}
+ \@onlypreamble\AuthorBeforeTitle
+ \@onlypreamble\TitleBeforeAuthor
+ \AuthorBeforeTitle
+}
+%
+% \@maketitle makes the title itself. The \@date useless in NCC titles
+%
+\def\@maketitle{%
+ \ifx\@author\@empty {\huge\bff \@title \par}%
+ \else
+ \ifNCC@authorbeforetitle \else
+ {\huge\bff \@title \par}\vskip 3em
+ \fi
+ {\Large\bfseries \lineskip .75em \@author \par}%
+ \ifNCC@authorbeforetitle
+ \vskip 2em {\huge\bff \@title \par}%
+ \fi
+ \fi
+}
+%
+% Service hooks for the title:
+%
+% \titlestretch{value}
+% \titlestyle{A style}
+% \titlehead{A text at the top of title}
+% \titlesign{A sign of Publishing House}
+% \titlefoot{A text at the bottom of title}
+% \titlecomment{A comment below title}
+%
+% The \titlecomment is also applied to the last page
+%
+\newcommand*\titlestretch[1]{\def\NCC@titlestretch{#1}}
+\newcommand*\titlestyle[1]{\def\NCC@titlestyle{#1}}
+\newcommand\titlehead[1]{\def\NCC@titlebegin{{#1\par}\vfill}}
+\newcommand\titlesign[1]{\def\NCC@titlesign{#1}}
+\newcommand\titlefoot[1]{%
+ \def\NCC@titleend{%
+ \vspace{\stretch{\NCC@titlestretch}}%
+ {\NCC@titlesign\par}%
+ \vspace{\stretch{\NCC@titlestretch}}%
+ {#1\par}%
+ }%
+}
+\newcommand\titlecomment[1]{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \let\NCC@titlecomment\@empty
+ \else
+ \def\NCC@titlecomment{\vskip 1.5em {\large#1\par}}%
+ \fi
+}
+%
+% The abstract environment uses the following hooks:
+%
+% \NCC@abstractstyle a style applied to the abstract
+% \NCC@abstractbegin typed out at the beginning of abstract
+% \NCC@abstractend typed out at the end of abstract
+%
+% The area of the abstract page is specified with \TitleAreaDefault macro.
+%
+\def\abstract{%
+ \titlepage
+ \NCC@abstractstyle
+ \ExpandTextArea[\titleareadefault]%
+ \NCC@abstractbegin
+ \begingroup
+}
+\def\endabstract{
+ \par\endgroup
+ \vfill
+ \NCC@abstractend
+ \endtitlepage
+}
+%
+% Service hooks for the abstract:
+%
+% \abstractstyle{A style for main part of abstract}
+% \bibindex[style]{A bibliography index of the document}
+% \copyrighttable[style]{ISBN}{\item copyright\\ \item copyright ...}
+%
+% \fulltitle[style]{authors}{full title} this command is used inside
+% the abstract.
+%
+% In the \bibindex and \copyrighttable, the default style is \footnotesize.
+% In the \fulltitle, the default style is \normalsize.
+%
+\newcommand*\abstractstyle[1]{%
+ \def\NCC@abstractstyle{#1\def\qef{\par\addvspace{2.5ex \@minus .5ex}}}%
+}
+\newcommand\bibindex[2][\footnotesize]{%
+ \if!#2!%
+ \let\NCC@abstractbegin\@empty
+ \else
+ \def\NCC@abstractbegin{{\noindent#1\ignorespaces#2\par}\qef}%
+ \fi
+}
+\newcommand*\copyrighttable[3][\footnotesize]{%
+ \def\NCC@abstractend{#1\noindent
+ \pbox[lb]{#2}\hfill
+ \def\item{\llap{\copyright\ }}%
+ \pbox[lb]{#3}%
+ \par
+ }
+}
+\newcommand*\fulltitle[3][\normalsize]{%
+ {\par#1\normalfont{\bfseries#2} #3\par}%
+ \qef%
+}
+%
+% The \makelastpage uses the following hooks:
+%
+% \NCC@lastpagestyle a style applied to the last page
+% \NCC@lastpagebegin typed out at the beginning of the last page
+% \@maketitle prepares a title
+% \NCC@titlecomment typed out right after the title on the last page
+% \NCC@lastpageend typed out at the end of the last page
+%
+% The area of the last page is specified with \TitleAreaDefault macro.
+%
+\newcommand{\makelastpage}{%
+ \begin{titlepage}%
+ \NCC@lastpagestyle
+ \ExpandTextArea[\titleareadefault]%
+ \NCC@lastpagebegin
+ \@maketitle
+ \NCC@titlecomment
+ \NCC@lastpageend
+ \end{titlepage}%
+}
+%
+% Service hooks for the last page:
+%
+% \lastpagestretch{value}
+% \lastpagestyle{A style}
+% \lastpagehead{A text at the top of the last page}
+% \lastpageinfo[style]{Designers}{Publishing attributes}{Publisher}
+%
+\newcommand*\lastpagestretch[1]{\def\NCC@lastpagestretch{#1}}
+\newcommand*\lastpagestyle[1]{\def\NCC@lastpagestyle{#1}}
+\newcommand\lastpagehead[1]{\def\NCC@lastpagebegin{{#1\par}\vfill}%
+}
+\newcommand\lastpageinfo[4][\small]{%
+ \def\NCC@lastpageend{#1%
+ \vspace{\stretch{\NCC@lastpagestretch}}%
+ {#2\par}\bigskip
+ \hrule \@height .6pt\@width\linewidth
+ {\Strut/.5/\ignorespaces#3\unskip\Strut/-.5/\par}%
+ \hrule \@height .6pt\@width\linewidth
+ \bigskip{#4\par}%
+ }%
+}
+%
+% Defaults
+%
+\titlestretch{1}
+\titlestyle{\centering}
+\titlehead{}
+\titlesign{}
+\titlefoot{}
+\titlecomment{}
+%
+\abstractstyle{\small}
+\bibindex{}
+\def\NCC@abstractend{}
+%
+\lastpagestretch{1}
+\lastpagestyle{\centering}
+\lastpagehead{}
+\def\NCC@lastpageend{\vspace{\stretch{\NCC@lastpagestretch}}}
+%
+\endinput
diff --git a/macros/latex/contrib/ncclatex/ncctitlepage.sty b/macros/latex/contrib/ncclatex/ncctitlepage.sty
new file mode 100644
index 0000000000..bbcfb0a8b0
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/ncctitlepage.sty
@@ -0,0 +1,44 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ncctitlepage}
+ [2005/12/26 v1.00 The titlepage environment (NCC)]
+%
+% \changes{v1.00}{2005/12/26}{This version is uploaded to CTAN}
+%
+\RequirePackage{textarea}
+\@ifundefined{if@restonecol}{\newif\if@restonecol}
+%
+% 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
+\def\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
+}
+\def\endtitlepage{%
+ \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}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/ncclatex/sibjnm.cls b/macros/latex/contrib/ncclatex/sibjnm.cls
new file mode 100644
index 0000000000..0d56e4345e
--- /dev/null
+++ b/macros/latex/contrib/ncclatex/sibjnm.cls
@@ -0,0 +1,124 @@
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{sibjnm}
+ [2005/01/11 v1.06 Article class for SibJNM (NCC)]
+%
+% \changes{v1.01}{2002/03/24}{This version is uploaded to CTAN}
+% \changes{v1.02}{2004/04/08}{Fix bug with using russian option}
+% \changes{v1.03}{2004/09/23}{In english mode load nccltrus instead of babel}
+% \changes{v1.03}{2004/09/23}{Remove unnecessary \frenchspacing}
+% \changes{v1.04}{2004/09/30}{Bug with omitted \@thanks fixed}
+% \changes{v1.05}{2004/12/06}{Replace \NCC@null with \StartFromTextArea}
+% \changes{v1.06}{2005/01/11}{Remove small, fleqn, and leqno options}
+%
+\DeclareOption{a5paper}{\OptionNotUsed}
+\DeclareOption{a5a4paper}{\OptionNotUsed}
+\DeclareOption{b5paper}{\OptionNotUsed}
+\DeclareOption{letterpaper}{\OptionNotUsed}
+\DeclareOption{legalpaper}{\OptionNotUsed}
+\DeclareOption{executivepaper}{\OptionNotUsed}
+\DeclareOption{fittopage}{\OptionNotUsed}
+\DeclareOption{10pt}{\OptionNotUsed}
+\DeclareOption{12pt}{\OptionNotUsed}
+\DeclareOption{14pt}{\OptionNotUsed}
+\DeclareOption{oneside}{\OptionNotUsed}
+\DeclareOption{twocolumn}{\OptionNotUsed}
+\DeclareOption{openbib}{\OptionNotUsed}
+\DeclareOption{preprint}{\OptionNotUsed}
+\DeclareOption{monography}{\OptionNotUsed}
+\DeclareOption{report}{\OptionNotUsed}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ncc}}
+\PassOptionsToClass{11pt,twoside,onecolumn,article,a4paper}{ncc}
+\ProcessOptions\relax
+\LoadClass{ncc}
+%
+% Text area size
+%
+\ToCenter[h]{155mm}{225mm}
+%
+% Change TeX parameters
+%
+\setlength\smallskipamount{2pt plus 1pt minus .5pt}
+\setlength\medskipamount {4pt plus 1pt minus .5pt}
+\setlength\bigskipamount {8pt plus 1pt minus .5pt}
+\setlength\floatsep {12pt plus 1pt minus .5pt}
+\setlength\textfloatsep {12pt plus 1pt minus .5pt}
+\setlength\intextsep {\floatsep}
+%
+% Centered sections with indentation after them
+%
+\sectionstyle{center}
+\indentaftersection
+%
+% Russian and English abstracts
+%
+\ifNCC@rus
+ \def\UDCname{{\cyr\CYRU\CYRD\CYRK}}
+ %
+ % Rabstract and Eabstract
+ %
+ \newenvironment{Rabstract}{\par\addvspace\bigskipamount
+ {\footnotesize\noindent \UDCname~\SJNM@UDC}\par\smallskip
+ \SJNM@abstr{\SJNM@Rname}%
+ }{\par\addvspace{1.5\bigskipamount}}
+ \newenvironment{Eabstract}{\par\addvspace\bigskipamount
+ \begin{otherlanguage*}{english}\SJNM@abstr{\SJNM@Ename}%
+ }{\par\end{otherlanguage*}%
+ \smallskip{\centering\rule\linewidth{.5pt}\par}%
+ \addvspace{1.5\bigskipamount}%
+ }
+\else
+ \RequirePackage[russian,english]{nccltrus}
+ \def\UDCname{UDC}
+ %
+ % Rabstract and Eabstract
+ %
+ \newenvironment{Rabstract}{\par\addvspace\bigskipamount
+ {\footnotesize\noindent \UDCname~\SJNM@UDC}\par\smallskip
+ \begin{otherlanguage*}{russian}\SJNM@abstr{\SJNM@Rname}%
+ }{\par\end{otherlanguage*}%
+ \addvspace{1.5\bigskipamount}%
+ }
+ \newenvironment{Eabstract}{\par\addvspace\bigskipamount
+ \SJNM@abstr{\SJNM@Ename}%
+ }{\par\smallskip{\centering\rule\linewidth{.5pt}\par}%
+ \addvspace{1.5\bigskipamount}%
+ }
+\fi
+%
+% \SJNM@Rname and \SJNM@Ename are brief journal titles used in abstracts.
+% They are defined in the local definition file sibjnm.def.
+%
+\let\SJNM@Rname\@empty
+\let\SJNM@Ename\@empty
+\newcommand*\SJNM@abstr[3]{%
+ {\hbadness=4000 \pretolerance=1000 {\bf #2} #3~// #1\par}%
+ \bigskip\footnotesize
+}
+%
+% UDC or AMS Subject Classification can be used in articles.
+%
+\newcommand*\UDC[1]{\def\SJNM@UDC{#1}}
+\newcommand\AmSclassification{%
+ \def\UDCname{\AmS\ subject classification:\,}%
+ \let\AmSclassification\UDC
+ \UDC
+}
+%
+% Redefine title making command
+%
+\def\@maketitle{%
+ \StartFromTextArea\vskip 2em \centering
+ {\LARGE\bff \@title \par} \vskip 1.5em
+ {\large\sf \lineskip .5em \pbox{\@author}\par}%
+ \@thanks
+}
+\RequirePackage[title,myheadings]{ncchdr}
+\def\NCC@articlehead{\thispagestyle{title}}
+%
+% Defaults
+%
+\UDC{???}
+\renewcommand{\headrulewidth}{\p@}
+\renewcommand{\headstrutheight}{.2\normalbaselineskip}
+\InputIfFileExists{sibjnm.def}{}{}% Load a file of local definitions
+\endinput