From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/ncclatex/README | 65 ++ macros/latex/contrib/ncclatex/changes.txt | 363 +++++++ macros/latex/contrib/ncclatex/cp1251-light.def | 133 +++ macros/latex/contrib/ncclatex/manifest.txt | 50 + macros/latex/contrib/ncclatex/ncc.cls | 451 ++++++++ macros/latex/contrib/ncclatex/ncc10.clo | 88 ++ macros/latex/contrib/ncclatex/ncc11.clo | 88 ++ macros/latex/contrib/ncclatex/ncc12.clo | 88 ++ macros/latex/contrib/ncclatex/ncc14.clo | 88 ++ macros/latex/contrib/ncclatex/nccart.clo | 61 ++ macros/latex/contrib/ncclatex/nccbiblist.sty | 50 + macros/latex/contrib/ncclatex/nccbook.clo | 31 + macros/latex/contrib/ncclatex/nccdefaults.sty | 131 +++ macros/latex/contrib/ncclatex/nccfit.clo | 43 + macros/latex/contrib/ncclatex/ncchdr.sty | 59 ++ macros/latex/contrib/ncclatex/nccheadings.sty | 74 ++ macros/latex/contrib/ncclatex/nccindex.sty | 41 + macros/latex/contrib/ncclatex/ncclatex.pdf | Bin 0 -> 187689 bytes macros/latex/contrib/ncclatex/ncclatex.sty | 160 +++ macros/latex/contrib/ncclatex/ncclatex.tex | 1336 ++++++++++++++++++++++++ macros/latex/contrib/ncclatex/nccltrus.sty | 54 + macros/latex/contrib/ncclatex/nccnews.pdf | Bin 0 -> 431196 bytes macros/latex/contrib/ncclatex/nccold.sty | 37 + macros/latex/contrib/ncclatex/nccproc.cls | 68 ++ macros/latex/contrib/ncclatex/nccsections.sty | 220 ++++ macros/latex/contrib/ncclatex/ncctheorems.sty | 82 ++ macros/latex/contrib/ncclatex/ncctitle.clo | 19 + macros/latex/contrib/ncclatex/ncctitle.sty | 233 +++++ macros/latex/contrib/ncclatex/ncctitlepage.sty | 44 + macros/latex/contrib/ncclatex/sibjnm.cls | 124 +++ 30 files changed, 4281 insertions(+) create mode 100644 macros/latex/contrib/ncclatex/README create mode 100644 macros/latex/contrib/ncclatex/changes.txt create mode 100644 macros/latex/contrib/ncclatex/cp1251-light.def create mode 100644 macros/latex/contrib/ncclatex/manifest.txt create mode 100644 macros/latex/contrib/ncclatex/ncc.cls create mode 100644 macros/latex/contrib/ncclatex/ncc10.clo create mode 100644 macros/latex/contrib/ncclatex/ncc11.clo create mode 100644 macros/latex/contrib/ncclatex/ncc12.clo create mode 100644 macros/latex/contrib/ncclatex/ncc14.clo create mode 100644 macros/latex/contrib/ncclatex/nccart.clo create mode 100644 macros/latex/contrib/ncclatex/nccbiblist.sty create mode 100644 macros/latex/contrib/ncclatex/nccbook.clo create mode 100644 macros/latex/contrib/ncclatex/nccdefaults.sty create mode 100644 macros/latex/contrib/ncclatex/nccfit.clo create mode 100644 macros/latex/contrib/ncclatex/ncchdr.sty create mode 100644 macros/latex/contrib/ncclatex/nccheadings.sty create mode 100644 macros/latex/contrib/ncclatex/nccindex.sty create mode 100644 macros/latex/contrib/ncclatex/ncclatex.pdf create mode 100644 macros/latex/contrib/ncclatex/ncclatex.sty create mode 100644 macros/latex/contrib/ncclatex/ncclatex.tex create mode 100644 macros/latex/contrib/ncclatex/nccltrus.sty create mode 100644 macros/latex/contrib/ncclatex/nccnews.pdf create mode 100644 macros/latex/contrib/ncclatex/nccold.sty create mode 100644 macros/latex/contrib/ncclatex/nccproc.cls create mode 100644 macros/latex/contrib/ncclatex/nccsections.sty create mode 100644 macros/latex/contrib/ncclatex/ncctheorems.sty create mode 100644 macros/latex/contrib/ncclatex/ncctitle.clo create mode 100644 macros/latex/contrib/ncclatex/ncctitle.sty create mode 100644 macros/latex/contrib/ncclatex/ncctitlepage.sty create mode 100644 macros/latex/contrib/ncclatex/sibjnm.cls (limited to 'macros/latex/contrib/ncclatex') 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 Binary files /dev/null and b/macros/latex/contrib/ncclatex/ncclatex.pdf 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 Binary files /dev/null and b/macros/latex/contrib/ncclatex/nccnews.pdf 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 -- cgit v1.2.3