summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ncclatex/ncctitle.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/ncclatex/ncctitle.sty')
-rw-r--r--macros/latex/contrib/ncclatex/ncctitle.sty233
1 files changed, 233 insertions, 0 deletions
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