%PDF- %PDF-
| Direktori : /proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/ncctools/ |
| Current File : //proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/ncctools/nccsect.sty |
%%
%% This is file `nccsect.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% nccsect.dtx (with options: `package')
%%
%% IMPORTANT NOTICE:
%%
%% This file is a generated file from the sources of the `ncctools'
%% bundle.
%%
%% You are not allowed to modify this file.
%%
%% You are allowed to distribute this file if and only if
%% it is distributed with the corresponding source files in
%% the `ncctools' bundle.
%%
%% For the copying and distribution conditions of the source files,
%% see the README file distributed with the ncctools bundle.
%%
%% File: nccsect.dtx Copyright (C) 2002--2006 by Alexander I. Rozhenko
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{nccsect}
[2006/01/19 v1.5 Extended Section, Caption, and TOC Handling (NCC)]
\RequirePackage{afterpackage}
\@ifpackageloaded{nccthm}{}{%
\def\NCC@secskip#1{%
\if@noskipsec \leavevmode \fi \par
\if@nobreak \everypar{}\else
\addpenalty\@secpenalty
\addvspace{#1}%
\fi
}
\def\NCC@runskip{2.75ex \@plus 1ex \@minus .2ex}
}
\newcommand{\runinsectionskip}{\NCC@secskip{\NCC@runskip}}
\newif\ifNCC@nosectag
\newif\ifNCC@secstartag
\newif\ifNCC@nosecmark
\newif\ifNCC@noaux
\let\NCC@global\global
\def\NCC@sec@reset@controls{%
\NCC@global\NCC@nosectagfalse
\NCC@global\NCC@secstartagfalse
\NCC@global\let\NCC@sectag\relax
\NCC@global\NCC@nosecmarkfalse
\NCC@global\let\NCC@secmark\relax
\NCC@global\NCC@noauxfalse
}
\NCC@sec@reset@controls
\newcommand{\norunninghead}{\NCC@global\NCC@nosecmarktrue}
\newcommand*{\runninghead}[1]{\NCC@global\def\NCC@secmark##1{##1{#1}}}
\newcommand{\noheadingtag}{\NCC@global\NCC@nosectagtrue}
\newcommand{\headingtag}{%
\@ifstar{\NCC@global\NCC@secstartagtrue\NCC@setsectag}{\NCC@setsectag}%
}
\def\NCC@setsectag#1{\NCC@global\def\NCC@sectag{#1}}
\newcommand{\skipwritingtoaux}{\NCC@global\NCC@noauxtrue}
\def\NCC@makesection#1#2#3#4{%
\ifNCC@secstartag
\let\@svsec\NCC@sectag
\NCC@make{}%
\else
\ifx\NCC@sectag\relax
\ifNCC@nosectag
\edef\NCC@restsec{%
\noexpand\c@secnumdepth \the\c@secnumdepth\relax
}%
\c@secnumdepth -1000
\else
\let\NCC@restsec\relax
\ifnum#2>\c@secnumdepth \else\refstepcounter{#1}\fi
\fi
\else
\expandafter\let\expandafter\NCC@thesec\csname the#1\endcsname
\def\NCC@restsec{%
\expandafter\let\csname the#1\endcsname\NCC@thesec
}%
\expandafter\let\csname the#1\endcsname\NCC@sectag
\protected@edef\@currentlabel{\NCC@sectag}%
\fi
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\protected@edef\@svsec{%
\protect\NCC@makesectag{\csname the#1\endcsname}%
}%
\fi
\let\NCC@makemark\@empty
\@ifundefined{#1mark}{}{%
\ifx\NCC@secmark\relax
\ifNCC@nosecmark \else
\def\NCC@makemark{\csname #1mark\endcsname{#3}}%
\fi
\else
\let\NCC@savesecmark\NCC@secmark
\def\NCC@makemark{%
\NCC@savesecmark{\csname #1mark\endcsname}%
\let\NCC@savesecmark\relax
}%
\fi
}%
\ifNCC@noaux
\NCC@make{\NCC@makemark \NCC@restsec}%
\else
\NCC@make{\NCC@makemark #4\NCC@restsec}%
\fi
\fi
\NCC@sec@reset@controls
}
\newcommand{\indentaftersection}{\@afterindenttrue}
\newcommand{\noindentaftersection}{\@afterindentfalse}
\newcommand*{\SectionTagSuffix}[1]{\def\NCC@asecnum{#1}}
\@onlypreamble\SectionTagSuffix
\newcommand*\sectiontagsuffix[2][]{%
\expandafter\def\csname NCC@asecnum@#1\endcsname{\def\NCC@asecnum{#2}}%
}
\let\NCC@asecnum@\@empty
\def\NCC@setsectionsuffix#1{%
\edef\@tempa{NCC@asecnum@\NCC@secname{#1}}%
\@ifundefined{\@tempa}{%
\let\NCC@asecnumset\NCC@asecnum@
}{%
\expandafter\let\expandafter\NCC@asecnumset\csname\@tempa\endcsname
}%
}
\newcommand*{\RunningSectionSuffix}[1]{\def\NCC@asectitle{\unskip#1}}
\@onlypreamble\RunningSectionSuffix
\def\NCC@preparesectag#1#2{\def\NCC@makesectag##1{#1#2##1\NCC@asecnum}}
\def\NCC@secname#1{%
\ifcase#1main\or section\or subsection\or subsubsection\or
paragraph\or subparagraph\else section@\romannumeral#1\fi
}
\def\NCC@startsection#1#2#3#4#5#6{%
\@tempskipa #4\relax
\ifdim \@tempskipa <\z@ \@temskipa -\@tempskipa \fi
\NCC@secskip \@tempskipa
\secdef{\NCC@sect{#1}{#2}{#3}{#4}{#5}{#6}}{\NCC@ssect{#3}{#4}{#5}{#6}}%
}
\def\NCC@ssect#1#2#3#4#5{%
\let\@svsec\@empty
\NCC@makesec{#1}{#4}{#5}{#3}{}%
\NCC@sec@reset@controls
}
\def\NCC@sect#1#2#3#4#5#6[#7]#8{%
\def\NCC@make{\NCC@makesec{#3}{#6}{#8}{#5}}%
\NCC@makesection{#1}{#2}{#7}{%
\addcontentsline{toc}{\NCC@secname{#2}}{%
\ifnum #2>\c@secnumdepth \else
\numberline{\csname the#1\endcsname}%
\fi
#7%
}%
}%
}
\def\NCC@makesect#1#2#3#4#5{%
\@tempskipa #4\relax
\ifdim \@tempskipa>\z@
\begingroup \normalfont
\NCC@asecnumset
\NCC@secttitle{#2}{\NCC@hangfrom{\hskip #1\relax\@svsec}}%
{\interlinepenalty \@M\ignorespaces #3\@@par}
\endgroup
#5%
\else
\def\@svsechd{{\normalfont
\NCC@asecnumset
\def\norunningsuffix{\protect\NCC@nosecsuffix}%
\NCC@secptitle{#2}{\hskip #1\relax{\@svsec}}%
{\ignorespaces #3\NCC@asectitle}#5}}%
\fi
\@xsect{#4}%
}
\def\NCC@secttitle#1#2#3{#1{#2#3}}
\def\NCC@secptitle#1#2#3{#1{#2#3}}
\newcommand*\norunningsuffix{}
\def\NCC@nosecsuffix{\let\NCC@asectitle\@empty}
\def\NCC@hangfrom{%
\NCC@setsecmargins{\z@skip}{\z@skip}\NCC@hangsecstyle{\z@}{}%
}
\def\NCC@setsecmargins#1#2{%
\leftskip\z@skip \rightskip\z@skip
\parfillskip\@flushglue
\let\\\@normalcr
\NCC@adjsecmargins{#1}{#2}%
\NCC@secmarginshook
}
\def\NCC@adjsecmargins#1#2{%
\setlength\@tempskipa{#1}\advance\leftskip\@tempskipa
\setlength\@tempskipb{#2}\advance\rightskip\@tempskipb
\advance\@tempskipa -1\@tempskipa \advance\@tempskipb -1\@tempskipb
\advance\@tempskipa -\@tempskipb \advance\parfillskip\@tempskipa
}
\def\NCC@hangsecstyle#1#2#3{%
\setlength\@tempdima{#1}%
\setbox\@tempboxa\hbox{#3}%
\ifdim \wd\@tempboxa > \@tempdima
\hangindent\wd\@tempboxa \noindent \box\@tempboxa
\else
\hangindent\@tempdima
\noindent \makebox[\@tempdima][#2]{\unhbox\@tempboxa}%
\fi
}
\newcommand*\adjustsectionmargins[2]{%
\NCC@global\def\NCC@secmarginshook{\NCC@adjsecmargins{#1}{#2}}
}
\g@addto@macro\NCC@sec@reset@controls{%
\NCC@global\let\NCC@secmarginshook\@empty
}
\let\NCC@secmarginshook\@empty
\newcommand*\newplainsectionstyle[2]{%
\@ifnextchar[{\NCC@newplainsec{#1}{#2}}{\NCC@newplainsec{#1}{#2}[l]}%
}
\def\NCC@newplainsec#1#2[#3]#4#5{%
\def\@tempa{#3}\def\@tempb{c}%
\ifx\@tempa\@tempb
\expandafter\newcommand\csname NCC@sec@#1\endcsname
{\def\NCC@sec{\NCC@setsecmargins{#4}{#5}%
\let\\\@centercr \advance\parfillskip -\@flushglue
\setlength\parindent{#2}}}%
\else
\def\@tempb{r}%
\ifx\@tempa\@tempb
\expandafter\newcommand\csname NCC@sec@#1\endcsname
{\def\NCC@sec{\NCC@setsecmargins{#4}{#5}%
\let\\\@centercr \advance\parfillskip -\@flushglue
\advance\parfillskip -\@flushglue
\setlength\parindent{#2}}}%
\else
\expandafter\newcommand\csname NCC@sec@#1\endcsname
{\def\NCC@sec{\NCC@setsecmargins{#4}{#5}\setlength\parindent{#2}}}%
\fi
\fi
}
\@onlypreamble\newplainsectionstyle
\@onlypreamble\NCC@newplainsec
\newcommand*\newhangsectionstyle[2]{%
\@ifnextchar[{\NCC@newhangsec{#1}{#2}}{\NCC@newhangsec{#1}{#2}[l]}%
}
\def\NCC@newhangsec#1#2[#3]#4#5{%
\expandafter\newcommand\csname NCC@sec@#1\endcsname
{\def\NCC@sec{\NCC@setsecmargins{#4}{#5}\NCC@hangsecstyle{#2}{#3}}}%
}
\@onlypreamble\newhangsectionstyle
\@onlypreamble\NCC@newhangsec
\newhangsectionstyle{hangindent}{\z@}{\z@skip}{\z@skip}
\newhangsectionstyle{hangindent*}{\z@}{\z@skip}{\@flushglue}
\newhangsectionstyle{hangparindent}{\z@}{\parindent}{\z@skip}
\newhangsectionstyle{hangparindent*}{\z@}{\parindent}{\@flushglue}
\newplainsectionstyle{parindent}{\z@}{\parindent}{\z@skip}
\newplainsectionstyle{parindent*}{\z@}{\parindent}{\@flushglue}
\newplainsectionstyle{center}{\z@}[c]{\@flushglue}{\@flushglue}
\newplainsectionstyle{centerlast}{\z@}[c]{\@flushglue}{-\@flushglue}
\newcommand*{\sectionstyle}[2][]{%
\@ifundefined{NCC@sec@#2}{%
\PackageError{nccsect}{Unknown section style `#2'}{}%
}{%
\expandafter\def\csname NCC@secstyle@#1\endcsname{%
\csname NCC@sec@#2\endcsname
}%
}%
}
\def\NCC@setsectionstyle#1{%
\edef\@tempa{NCC@secstyle@\NCC@secname{#1}}%
\@ifundefined{\@tempa}{\NCC@secstyle@}{\csname\@tempa\endcsname}%
}
\def\NCC@makesecx#1#2#3#4#5{%
\begingroup\normalfont
\NCC@asecnumset
\NCC@secxtitle{#2}{\protect\NCC@sec{\@svsec}}
{\interlinepenalty \@M\ignorespaces #3\@@par}%
\endgroup #5%
\par \nobreak \vskip #4\relax \@afterheading \ignorespaces
}
\def\NCC@secxtitle#1#2#3{#1{#2#3}}
\providecommand*\partmark[1]{\markboth{}{}}
\@ifundefined{chapter}{%
\def\NCC@startmainsec#1#2#3#4#5{%
\NCC@preparesectag{\leavevmode#2}{\partname\nobreakspace}%
\NCC@secskip{#3}%
\secdef{\NCC@part{#1}{#4}{#5}}{\NCC@spart{#1}{#4}{#5}}%
}
\def\NCC@spart#1#2#3#4{%
\let\@svsec\@empty
\NCC@makepart{#1}{#3}{#4}{#2}{}%
\NCC@sec@reset@controls
}
\def\NCC@part#1#2#3[#4]#5{%
\def\NCC@make{\NCC@makepart{#1}{#3}{#5}{#2}}%
\NCC@makesection{part}{\z@}{#4}{%
\addcontentsline{toc}{part}{%
\ifnum \c@secnumdepth>\m@ne \numberline{\thepart}\fi
#4%
}%
}%
}
\def\NCC@makepart#1#2#3#4#5{%
\begingroup \normalfont
\NCC@asecnumset
\NCC@makeparttitle{#1}{#2}{#3}%
\endgroup
#5%
\par\nobreak \vskip #4\relax \@afterheading \ignorespaces
}
\def\NCC@makeparttitle#1#2#3{%
\ifx\@svsec\@empty \else
\NCC@secmain#1{\let\NCC@asecnum\@empty\@svsec\@@par}\nobreak
\fi
\interlinepenalty \@M \NCC@secmain#1{#2{#3\@@par}}%
}
\def\NCC@partsection{\NCC@mainsection}
}{
\def\NCC@startmainsec#1#2#3#4#5{%
\NCC@startchap
\NCC@preparesectag{\leavevmode#2}{\@chapapp\nobreakspace}%
\secdef{\NCC@chapter{#1}{#3}{#4}{#5}}{\NCC@schapter{#1}{#3}{#4}{#5}}%
}
\def\NCC@startchap{%
\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}\global\@topnum\z@
}
\def\NCC@schapter#1#2#3#4#5{%
\let\@svsec\@empty
\NCC@makechapter{#1}{#2}{#4}{#5}{#3}{}%
\NCC@sec@reset@controls
}
\def\NCC@chapter#1#2#3#4[#5]#6{%
\@ifundefined{if@mainmatter}{}{\if@mainmatter\else\noheadingtag\fi}%
\def\NCC@make{\NCC@makechapter{#1}{#2}{#4}{#6}{#3}}%
\NCC@makesection{chapter}{\z@}{#5}{%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}{%
\ifnum \c@secnumdepth>\m@ne
\numberline{\NCC@thetocchapter}\fi
#5%
}%
\NCC@infloats{\addtocontents{\@nameuse{ext@\@captype}}%
{\protect\runinsectionskip}}%
}%
}
\newcommand\beforechapter[1]{\gdef\NCC@beforechapter{#1}}
\beforechapter{}
\def\NCC@thetocchapter{\thechapter}
\def\NCC@makechapter#1#2#3#4#5#6{%
\if@twocolumn
\@topnewpage[\NCC@makechaphead{#1}{#2}{#3}{#4}{#5}]%
\else
\NCC@makechaphead{#1}{#2}{#3}{#4}{#5}%
\fi
\NCC@makechapfinal{#6}%
\@afterheading
\ignorespaces
}
\let\NCC@makechapfinal\@firstofone
\def\NCC@makechapfinalgobble#1{%
\let\NCC@makechapmark\NCC@makemark
\def\NCC@makemark{%
\let\NCC@temp\@chapapp
\let\@chapapp\@gobble
\NCC@makechapmark
\let\@chapapp\NCC@temp
}%
#1%
}
\@onlypreamble\NCC@makechapfinalgobble
\def\NCC@makechaphead#1#2#3#4#5{%
\ifx\NCC@beforechapter\@empty
\StartFromTextArea \vskip #2%
\else
\begingroup
\@twocolumnfalse
\let\NCC@global\@empty
\NCC@sec@reset@controls
\normalfont \NCC@beforechapter \par
\endgroup
\beforechapter{}%
\fi
\begingroup \normalfont
\NCC@asecnumset
\NCC@makechaptitle{#1}{#3}{#4}%
\endgroup
\par\nobreak \vskip #5\relax
}
\def\NCC@makechaptitle#1#2#3{%
\ifx\@svsec\@empty \else
\NCC@secmain#1{\let\NCC@asecnum\@empty\@svsec\@@par}%
\fi
\interlinepenalty \@M \NCC@secmain#1{#2{#3\@@par}}%
}
\newcommand*\epigraph[1][\NCC@epigraphwidth]{\NCC@epigraph{#1}}
\newcommand*\epigraphparameters[5]{%
\def\NCC@epigraphwidth{#2}%
\long\def\NCC@epigraph##1##2##3{
\beforechapter{\def\epigraphwidth{##1}%
#1\par
\NCC@makeepigraph{#3}{##2}{#4{##3}}\par
#5%
}%
}%
}
\long\def\NCC@makeepigraph#1#2#3{%
\@begin@tempboxa\vtop{\setlength{\hsize}{\epigraphwidth}%
\@parboxrestore{#2\@@par}#3\@@par
}%
\setlength\@tempdima{#1}\advance\@tempdima -\totalheight
\ifdim\@tempdima>\z@
\advance\@tempdima\depth
\dp\@tempboxa\@tempdima
\fi
\leavevmode\box\@tempboxa
\@end@tempboxa
}
\def\NCC@startpart{%
\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
}
\def\NCC@spart#1#2#3#4{%
\let\@svsec\@empty
\NCC@makepart{#1}{#3}{#4}{#2}{}%
\NCC@sec@reset@controls
}
\def\NCC@part#1#2#3[#4]#5{%
\def\NCC@make{\NCC@makepart{#1}{#3}{#5}{#2}}%
\NCC@makesection{part}{\m@ne}{#4}{%
\addcontentsline{toc}{part}{%
\ifnum \c@secnumdepth>-2
\numberline{\NCC@thetocpart}\fi
#4%
}%
}%
}
\def\NCC@thetocpart{\thepart}
\def\NCC@makepart#1#2#3#4#5{%
\if@twocolumn \onecolumn \@tempswatrue \else \@tempswafalse \fi
\begingroup\normalfont
\NCC@asecnum@
\NCC@makeparttitle{#1}{#2}{#3}%
\endgroup
\NCC@makepartfinal{#5}#4%
\if@tempswa \twocolumn \fi
}
\let\NCC@makepartfinal\@firstofone
\def\NCC@makepartfinalgobble#1{%
\let\NCC@makepartmark\NCC@makemark
\def\NCC@makemark{%
\let\NCC@temp\partname
\let\partname\@gobble
\NCC@makepartmark
\let\partname\NCC@temp
}%
#1%
}
\@onlypreamble\NCC@makepartfinalgobble
\def\NCC@makeparttitle#1#2#3{#1%
\ifx\@svsec\@empty \else
{\let\NCC@asecnum\@empty\@svsec\@@par}\nobreak \fi
\interlinepenalty \@M #2{#3\@@par}
}
}
\newcommand*{\CaptionTagSuffix}[1]{\def\NCC@acapnum{#1}}
\@onlypreamble\CaptionTagSuffix
\newcommand*\captiontagsuffix[2][]{%
\NCC@prepare@capkey{suffix}{#1}{\def\NCC@acapnum{#2}}%
}
\let\NCC@capsuffix@\@empty
\newcommand*\captionstyle[1][]{%
\NCC@set@capkey{style}{style}{#1}%
}
\newcommand*\captiontagstyle[1][]{%
\NCC@set@capkey{tag}{tag style}{#1}%
}
\newcommand*\captionwidth[2][]{%
\NCC@prepare@capkey{width}{#1}{\setlength{\@tempdima}{#2}}%
}
\def\NCC@set@capkey#1#2#3#4{%
\@ifundefined{NCC@makecap#1@#4}
{\PackageError{nccsect}{Unknown caption #2 `#4'}{}%
}{%
\edef\@tempa{\noexpand\NCC@prepare@capkey{#1}{#3}{%
\expandafter\noexpand\csname NCC@makecap#1@#4\endcsname
}%
}%
\@tempa
}%
}
\def\NCC@prepare@capkey#1#2{%
\def\@tempa{#2}%
\ifx\@tempa\@empty
\ifx\@captype\@undefined \else \let\@tempa\@captype \fi
\fi
\expandafter\def\csname NCC@cap#1@\@tempa\endcsname
}
\def\NCC@apply@cap#1{%
\@ifundefined{NCC@cap#1@\@captype}%
{\let\@tempa\@empty}{\let\@tempa\@captype}%
\csname NCC@cap#1@\@tempa\endcsname
}
\def\NCC@startcaption#1#2#3{%
\secdef{\NCC@caption{#1}{#2}{#3}}{\NCC@scaption{#1}{#2}{#3}}%
}
\long\def\NCC@scaption#1#2#3#4{%
\let\@svsec\@empty
\NCC@makecaption{#3}{#1}{#4}{#2}{}%
\NCC@sec@reset@controls
}
\long\def\NCC@caption#1#2#3[#4]#5{%
\def\NCC@make{\NCC@makecaption{#3}{#1}{#5}{#2}}%
\NCC@makesection{\@captype}{\z@}{#4}{%
\begingroup
\let\centering\@empty
\addcontentsline{\@nameuse{ext@\@captype}}{\@captype}{%
\ifnum \c@secnumdepth>\m@ne
\numberline{\@nameuse{the\@captype}}\fi
#4%
}%
\endgroup
}%
}
\long\def\NCC@makecaption#1#2#3#4#5{%
\begingroup\par\normalfont
#1{}\addvspace{#2}\noindent
\ifx\@svsec\@empty \@tempcnta\z@ \else \@tempcnta\@ne \fi
\def\@tempa{#3}%
\ifx\@tempa\@empty \else \advance\@tempcnta\tw@ \fi
\ifnum\@tempcnta=\z@ \else
\NCC@apply@cap{suffix}%
\NCC@apply@cap{width}%
\NCC@vtopcap{\@parboxrestore\NCC@apply@cap{tag}{#3}\@@par}\par
\setlength\@tempskipa{#4}%
\ifdim\@tempskipa=\z@ \else \vskip \@tempskipa\fi
\fi
\endgroup
#5%
}
\def\NCC@vtopcap#1{%
\ifdim\@tempdima>\linewidth
\@tempskipa \leftskip \advance\@tempskipa -1\@tempskipa
\@tempskipb \rightskip \advance\@tempskipb \parfillskip
\advance\@tempskipb -1\@tempskipb
\vtop{\hb@xt@\linewidth{%
\NCC@ifzeroskip\@tempskipa{}{\hss}%
\vtop{\hsize\@tempdima#1}%
\NCC@ifzeroskip\@tempskipb{}{\hss}%
}}%
\else
\vtop{\hsize\@tempdima#1}%
\fi
}
\def\NCC@ifzeroskip#1{%
\edef\@tempa{\the#1}\edef\@tempb{\the\z@skip}%
\ifx\@tempa\@tempb
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
}
\long\def\NCC@makecaptag@para#1{%
\ifnum\@tempcnta<\thr@@ \let\NCC@acapnum\@empty\fi
\NCC@apply@cap{style}{{\@svsec}\ignorespaces#1}%
}
\def\NCC@makecaptag@left{\NCC@separate@captag\raggedright}
\def\NCC@makecaptag@center{\NCC@separate@captag\centering}
\def\NCC@makecaptag@right{\NCC@separate@captag\raggedleft}
\long\def\NCC@separate@captag#1#2{%
\ifodd\@tempcnta
{\let\NCC@acapnum\@empty #1\@svsec\@@par}%
\fi
\ifnum\@tempcnta>\@ne
\ifnum\@tempcnta=\thr@@ \vskip .5ex\fi
\NCC@apply@cap{style}{#2}%
\fi
}
\long\def\NCC@makecapstyle@default#1{%
\setbox\@tempboxa\vtop{\hsize\linewidth\@parboxrestore#1\@@par}%
\ifdim\dp\@tempboxa<\baselineskip \centering#1%
\else \box\@tempboxa \fi
}
\long\def\NCC@makecapstyle@para#1{#1}
\long\def\NCC@makecapstyle@left#1{\raggedright#1}
\long\def\NCC@makecapstyle@right#1{\raggedleft#1}
\long\def\NCC@makecapstyle@center#1{\centering#1}
\long\def\NCC@makecapstyle@centerlast#1{%
\leftskip\@flushglue \rightskip -\@flushglue
\parfillskip\z@\@plus 2fil\relax#1%
}
\newcommand*{\RegisterFloatType}[1]{%
\edef\NCC@floatlist{\NCC@floatlist{#1}}%
}
\let\NCC@floatlist\@empty
\@onlypreamble\RegisterFloatType
\def\NCC@infloats#1{%
\@tempcnta\z@
\let\NCC@temp \@captype
\expandafter \@tfor \expandafter \@captype
\expandafter :\expandafter =\NCC@floatlist \do
{\advance\@tempcnta\@ne #1}%
\let\@captype\NCC@temp
}
\newcommand{\DeclareSection}{\@ifstar{\NCC@dsecx}{\NCC@dsec}}
\def\NCC@dsec#1#2{%
\@ifnextchar[{\NCC@dsect{#1}{#2}}{\NCC@dsect{#1}{#2}[\z@skip]}%
}
\@onlypreamble\DeclareSection
\@onlypreamble\NCC@dsec
\def\NCC@dsect#1#2[#3]#4#5#6#7{%
\ifnum#1>\z@
\expandafter\def\csname NCC@section\romannumeral#1\endcsname{%
\NCC@setsectionsuffix{#1}%
\NCC@preparesectag{#4}{}%
\let\NCC@makesec\NCC@makesect
\NCC@startsection{#2}{#1}{#3}{#5}{#6}{#7}}%
\else
\ifnum#1=\z@
\def\NCC@mainsection{%
\NCC@setsectionsuffix\z@
\let\NCC@secmain\@empty
\NCC@startmainsec{%
\NCC@hangfrom{\hskip #3}\NCC@adjsecmargins{}\@flushglue
\ignorespaces}%
{#4}{#5}{#6}{#7}%
}%
\else
\NCC@dsecf{#2}{#4}{#5}{#6}{#7}%
\fi
\fi
}
\@onlypreamble\NCC@dsect
\def\NCC@dsecx#1#2#3#4#5#6{%
\ifnum#1>\z@
\expandafter\def\csname NCC@section\romannumeral#1\endcsname{%
\NCC@setsectionsuffix{#1}%
\NCC@setsectionstyle{#1}%
\NCC@preparesectag{#3}{}%
\let\NCC@makesec\NCC@makesecx
\NCC@startsection{#2}{#1}{\z@}{#4}{#5}{#6}}%
\else
\ifnum#1=\z@
\def\NCC@mainsection{%
\NCC@setsectionsuffix\z@
\NCC@setsectionstyle\z@
\let\NCC@secsave\NCC@sec \let\NCC@sec\NCC@secflush
\def\NCC@secmain{\protect\NCC@sec{}}%
\NCC@startmainsec{}{#3}{#4}{#5}{#6}%
}%
\else
\NCC@dsecf{#2}{#3}{#4}{#5}{#6}%
\fi
\fi
}
\@onlypreamble\NCC@dsecx
\def\NCC@secflush#1{\NCC@secsave{#1}%
\@tempskipa\leftskip \advance\@tempskipa\rightskip
\advance\@tempskipa -1\@tempskipa
\NCC@ifzeroskip\@tempskipa{%
\@tempskipa 1\rightskip \advance\@tempskipa -\rightskip
\advance\@tempskipa \@flushglue
\advance\rightskip \@tempskipa
\advance\parfillskip -\@tempskipa
}{}%
\ignorespaces
}
\def\NCC@dsecf#1#2#3#4#5{%
\expandafter\def\csname NCC@cap@#1\endcsname{%
\def\NCC@makesectag####1{#2{\csname #1name\endcsname}%
\nobreakspace####1\NCC@acapnum}%
\NCC@startcaption{#3}{#4}{#5}%
}%
}
\@onlypreamble\NCC@dsectf
\@ifundefined{chapter}{}{%
\newcommand\DeclarePart[4]{%
\def\NCC@partsection{%
\NCC@startpart
\NCC@preparesectag{\leavevmode#3}{\partname\nobreakspace}%
\secdef{\NCC@part{#1}{#2}{#4}}{\NCC@spart{#1}{#2}{#4}}%
}%
}
\@onlypreamble\DeclarePart
}
\long\def\@makecaption#1#2{%
\begingroup
\skipwritingtoaux
\addtocounter\@captype\m@ne
\csname NCC@cap@\@captype\endcsname[]{#2}%
\endgroup
}
\AfterPackage{supertabular}{%
\long\def\ST@caption#1[#2]#3{\par%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
\begingroup\centering
\def\@captype{#1}%
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
\endgroup
}
}
\AfterPackage{xtab}{%
\long\def\ST@caption#1[#2]#3{\par%
\@initisotab
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
\begingroup\centering
\def\@captype{#1}%
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
\endgroup
\global\advance\ST@pageleft -\PWSTcapht
\ST@trace\tw@{Added caption. Space left for xtabular: \the\ST@pageleft}%
}
}
\AfterPackage{longtable}{%
\def\LT@makecaption#1#2#3{%
\LT@mcol\LT@cols c{\hbox to\z@{\hss
\parbox[t]\LTcapwidth{\centering\def\@captype{table}%
\ifx#1\@gobble \NCC@cap@table*{#3}%
\else \@makecaption{\fnum@table}{#3}%
\fi
}%
\hss
}}%
}
}
\newcommand*{\DeclareTOCEntry}[5]{%
\@ifnextchar[{\NCC@dtoc{#1}{#2}{#3}{#4}{#5}}%
{\NCC@dtoc{#1}{#2}{#3}{#4}{#5}[\NCC@nexttocnum{#3}{#4}]}%
}
\def\NCC@dtoc#1#2#3#4#5[#6]{%
\ifnum#1<\z@
\@tempswatrue
\NCC@infloats{%
\ifnum#1=-\@tempcnta
\expandafter\def\csname l@\@captype\endcsname
{\NCC@tocentry\z@{#2}{#3}{#4}{#5}}%
\@tempswafalse
\@break@tfor
\fi
}%
\if@tempswa
\@tempcnta#1\relax
\@tempcnta -\@tempcnta
\PackageError{nccsect}%
{Float type registration number \the\@tempcnta\space
is out of range}{}%
\fi
\else
\ifnum#1>\z@
\edef\@tempa{\noexpand\def\expandafter\noexpand
\csname l@\NCC@secname{#1}\endcsname}%
\else
\@ifundefined{chapter}{\def\@tempa{\def\l@part}}%
{\def\@tempa{\def\l@chapter}}%
\fi
\@tempa{\NCC@tocentry{#1}{#2}{#3}{#4}{#5}}%
\@tempcnta #1\relax \advance\@tempcnta\@ne
\expandafter\def\csname l@tocskip@\romannumeral\@tempcnta
\endcsname{\NCC@tocadj{\NCC@tocnumprototype{#5}{#6}}}%
\fi
}
\@onlypreamble\DeclareTOCEntry
\@onlypreamble\NCC@dtoc
\def\NCC@nexttocnum#1#2{#1#2\NCC@atocnum}
\def\NCC@tocnumprototype#1#2{\let\applystyle\@firstoftwo#1{#2}}
\def\NCC@tocadj#1{%
\settowidth\@tempdima{\let\NCC@atocdo\@firstoftwo#1}%
\advance\@tempdimb\@tempdima
}
\@ifundefined{chapter}{}{%
\newcommand*\DeclareTOCPart[1]{%
\@ifnextchar[{\NCC@dtocpart{#1}}{\NCC@dtocpart{#1}[\NCC@runskip]}%
}
\def\NCC@dtocpart#1[#2]#3#4#5{%
\def\l@part##1##2{%
\NCC@tocentry{-1}{%
\TOCMarginDrift{1fil}%
\addpenalty{-\@highpenalty}#1%
}{#3}{#4}{#5}{##1}{\hss##2}%
\nobreak \vskip #2\relax
\@nobreaktrue
\everypar{\@nobreakfalse\everypar{}}%
}%
}
\@onlypreamble\DeclareTOCPart
\@onlypreamble\NCC@dtocpart
}
\def\NCC@tocentry#1#2#3#4#5#6#7{%
\ifnum #1>\c@tocdepth \else
\par\begingroup\normalfont #2%
\let\applystyle\@firstoftwo
\@tempdimb\z@ \@tempcnta #1\relax
\@whilenum \@tempcnta >\z@\do
{\@nameuse{l@tocskip@\romannumeral \@tempcnta}%
\advance\@tempcnta\m@ne}%
\NCC@preparetocnum{#5}{#3}%
\settowidth\@tempdima{\let\NCC@atocdo\@firstoftwo\NCC@maketocnum{#4}}%
\@dottedtocline{#1}{\@tempdimb}{\@tempdima}%
{\let\NCC@atocdo\@secondoftwo\NCC@tocentrytitle{#5}{#6\unskip}}%
{\let\applystyle\@secondoftwo#5{#7}}%
\@nobreakfalse
\endgroup
\fi
}
\def\NCC@preparetocnum#1#2{%
\def\NCC@maketocnum##1{\NCC@atocdo{#1}{}{#2##1\NCC@atocnum}}%
}
\def\NCC@tocentrytitle#1#2{#1{\ignorespaces#2}}
\DeclareRobustCommand*\numberline[1]{%
\setbox\@tempboxa\hbox{\NCC@maketocnum{#1}}%
\ifdim \wd\@tempboxa > \@tempdima
\box\@tempboxa
\else
\hb@xt@\@tempdima{\unhbox\@tempboxa\hfil}%
\fi
\ignorespaces
}
\def\NCC@maketocnum#1{#1\NCC@atocnum}
\let\NCC@atocdo\@secondoftwo
\newcommand*{\NumberlineSuffix}[2]{\def\NCC@atocnum{\NCC@atocdo{#1}{#2}}}
\@onlypreamble\NumberlineSuffix
\newcommand*\TOCMarginDrift[1]{%
\def\@tempa{#1}%
\ifx\@tempa\@empty \let\NCC@tocdrift\@empty
\else \def\NCC@tocdrift{\@plus #1\relax}\fi
}
\newcommand*{\PnumPrototype}[1]{\def\NCC@pnum{#1}\NCC@setpnum}
\@onlypreamble\PnumPrototype
\def\NCC@setpnum{%
\settowidth\@tempdima{\NCC@pnum}%
\edef\@pnumwidth{\the\@tempdima}%
\advance\@tempdima 1em
\edef\@tocrmarg{\the\@tempdima \noexpand\NCC@tocdrift}%
}
\newcommand*{\SetTOCStyle}[1]{\def\NCC@tocstyle{#1}}
\@onlypreamble\SetTOCStyle
\let\NCC@latexstarttoc\@starttoc
\def\@starttoc#1{%
\begingroup
\normalfont \NCC@tocstyle \NCC@setpnum
\NCC@latexstarttoc{#1}%
\endgroup
}
\@ifpackageloaded{textarea}{}{%
\newcommand\StartFromTextArea{\par
{\parskip\z@ \strut\par}\vskip -\baselineskip
}
\newcommand\StartFromHeaderArea{%
\StartFromTextArea
\vskip -\headsep \vskip -\ht\strutbox
}
}
\newcommand{\bff}{\normalfont\bfseries\mathversion{bold}}
\newcommand*\aftersectionvspace[1]{%
\ifvmode \if@nobreak
\vskip -\lastskip \vskip #1\relax
\fi \fi
}
\newcommand*{\startsection}[1]{%
\ifnum#1>\z@
\def\@tempa{\csname NCC@section\romannumeral#1\endcsname}%
\else
\ifnum#1=\z@
\def\@tempa{\NCC@mainsection}%
\else
\def\@tempa{\NCC@partsection}%
\fi
\fi
\@tempa
}
\def\part{\startsection\m@ne}
\def\section{\startsection\@ne}
\def\subsection{\startsection\tw@}
\def\subsubsection{\startsection\thr@@}
\def\paragraph{\startsection4}
\def\subparagraph{\startsection5}
\AtBeginDocument{%
\def\caption{%
\ifx\@captype\@undefined
\@latex@error{\noexpand\caption outside float}\@ehd
\expandafter\@gobble
\else
\expandafter\@firstofone
\fi
{\csname NCC@cap@\@captype\endcsname}%
}%
\@ifundefined{abovecaptionskip}{\def\abovecaptionskip{\z@}}%
{\abovecaptionskip\z@}%
\@ifundefined{belowcaptionskip}{\def\belowcaptionskip{\z@}}%
{\belowcaptionskip\z@}%
}
\RegisterFloatType{figure}
\RegisterFloatType{table}
\DeclareSection{-2}{table}{}{\z@}{10pt}{}
\DeclareSection{-1}{figure}{}{10pt}{\z@}{}
\DeclareSection*1{section}{}%
{3.5ex \@plus 1ex \@minus .2ex}%
{2.3ex \@plus .2ex}{\Large\bff}
\DeclareSection*2{subsection}{}%
{3.25ex \@plus 1ex \@minus .2ex}%
{1.5ex \@plus .2ex}{\large\bff}
\DeclareSection*3{subsubsection}{}%
{3ex \@plus 1ex \@minus .2ex}%
{1.5ex \@plus .2ex}{\normalsize\bff}
\DeclareSection4{paragraph}{}%
{\NCC@runskip}{-1em}{\normalsize\bff}
\DeclareSection5{subparagraph}[\parindent]{}%
{\NCC@runskip}{-1em}{\normalsize\bff}
\@ifundefined{chapter}{
\DeclareSection*0{part}{\Large\bff}%
{5ex \@plus 1ex \@minus .2ex}%
{4ex \@plus .2ex}{\huge\bff}
\DeclareTOCEntry{-2}{}{}{9}{}% table
\DeclareTOCEntry{-1}{}{}{9}{}% figure
\DeclareTOCEntry0{\runinsectionskip\def\@dotsep{1000}}{}{III}{\bff}[]
\DeclareTOCEntry1{\runinsectionskip}{}{9}{}
\DeclareTOCEntry2{}{}{9.9}{}
\DeclareTOCEntry3{}{}{9.9.9}{}
}{
\newcommand*{\ChapterPrefixStyle}[1]{%
\def\NCC@thetocchapter{\thechapter}%
\let\NCC@makechapfinal\NCC@makechapfinalgobble
\@for\@tempa:=#1\do{%
\@ifundefined{NCC@chapin@\@tempa}{%
\PackageError{nccsect}{Unknown style `\@tempa'\MessageBreak
Only the `toc' and `header' styles are allowed}{}%
}{\csname NCC@chapin@\@tempa\endcsname}%
}%
}
\def\NCC@chapin@toc{\def\NCC@thetocchapter{\@chapapp\ \thechapter}}
\def\NCC@chapin@header{\let\NCC@makechapfinal\@firstofone}
\@onlypreamble\ChapterPrefixStyle
\@onlypreamble\NCC@chapin@toc
\@onlypreamble\NCC@chapin@header
\def\chapter{\startsection\z@}
\DeclarePart{\StartFromTextArea\vfil\centering}%
{\vfil\newpage \if@twoside\if@openright
\mbox{}\thispagestyle{empty}\newpage\fi\fi}%
{\vspace{4ex}\huge\bff}{\Huge\bff}
\DeclareSection*0{chapter}{\vspace{3ex}\huge\bff}{10ex}%
{8ex \@plus .2ex}{\Huge\bff}
\DeclareTOCEntry{-2}{}{}{9.9}{}% table
\DeclareTOCEntry{-1}{}{}{9.9}{}% figure
\DeclareTOCPart{\NCC@secskip{4ex \@plus .2ex}\def\@dotsep{1000}}
{}{II}{\large\bff}
\DeclareTOCEntry0{\runinsectionskip\def\@dotsep{1000}%
\aftergroup\penalty\aftergroup\@highpenalty}{}{9}{\bff}
\DeclareTOCEntry1{}{}{9.9}{}[9.9]
\DeclareTOCEntry2{}{}{9.9.9}{}[9.9.9]
\DeclareTOCEntry3{}{}{}{}[\qquad]
\epigraphparameters{\StartFromHeaderArea\small\raggedleft}%
{.45\linewidth}{5\baselineskip}%
{\raggedleft\itshape}{\vspace{2ex}}
}
\DeclareTOCEntry4{}{}{}{}[\qquad]
\DeclareTOCEntry5{}{}{}{}[\qquad]
\noindentaftersection
\sectionstyle{hangindent}
\SectionTagSuffix{\quad}
\RunningSectionSuffix{}
\captionwidth{\linewidth}
\captionstyle{default}
\captiontagstyle{para}
\CaptionTagSuffix{:\hskip .7em \@plus .2em \@minus .1em}
\NumberlineSuffix{\quad}{\enskip}
\PnumPrototype{99}
\TOCMarginDrift{}
\SetTOCStyle{}
\endinput
%%
%% End of file `nccsect.sty'.