elsarticle/doc/rvdtx.sty
author Alpar Juttner <alpar@cs.elte.hu>
Tue, 22 Nov 2016 13:58:09 +0100
changeset 3 550f81b2f81c
permissions -rw-r--r--
Reformat
     1 %
     2 %
     3 %  File: rvdtx.sty
     4 %  
     5 %  Auxiliary package to format *.dtx documents.
     6 % 
     7 %  Copyright (c) 2008, 2009 CV Radhakrishnan <cvr@river-valley.org>,
     8 %                     
     9 %  This file may be distributed and/or modified under the conditions
    10 %  of the LaTeX Project Public License, either version 1.2 of this
    11 %  license or (at your option) any later version.  The latest version
    12 %  of this license is in:
    13 %   
    14 %    http://www.latex-project.org/lppl.txt
    15 %   
    16 %  and version 1.2 or later is part of all distributions of LaTeX
    17 %  version 1999/12/01 or later.
    18 %
    19 %
    20 \newcounter{colorscheme}
    21 
    22 \newif\if@xcolor \@xcolorfalse
    23 \newif\if@mylogo \@mylogofalse
    24 
    25 \DeclareOption{mylogo}{\global\@mylogotrue}
    26 \DeclareOption{green}{\setcounter{colorscheme}{1}}
    27 \DeclareOption{orange}{\setcounter{colorscheme}{0}}
    28 \DeclareOption{xcolor}{\global\@xcolortrue}
    29 \DeclareOption{qone}{\AtEndOfPackage{\global\let\dtxmark\dtxmarkone}}
    30 \DeclareOption{qtwo}{\AtEndOfPackage{\global\let\dtxmark\dtxmarktwo}}
    31 
    32 \ProcessOptions
    33 \def\loadXcolor{\if@xcolor\RequirePackage[dvipsnames,svgnames]{xcolor}\fi}
    34 
    35 \loadXcolor
    36 \ifcase\thecolorscheme
    37 %
    38 %  Orange color spec (default)
    39 %
    40  \colorlet{itemcolor}{brown}
    41  \colorlet{verbcolor}{Sepia}
    42  \colorlet{botrulecolor}{orange!25}
    43  \colorlet{botbgcolor}{orange!15}
    44  \colorlet{botcolor}{orange!80}
    45  \colorlet{pgrulecolor}{orange}
    46  \colorlet{pgbgcolor}{white}
    47 
    48  \colorlet{quicklinkrulecolor}{orange!40}
    49  \colorlet{quicklinkcolor}{brown}
    50  \colorlet{topverticalrule}{brown}
    51  \colorlet{titlecolor}{brown}
    52  \colorlet{hlinkcolor}{brown}
    53  \colorlet{hlinktricolor}{orange!70}
    54  \colorlet{linkcolor}{brown}
    55  \colorlet{urlcolor}{brown}
    56 
    57 % \colorlet{arrayrulecolor}{olive!30}
    58  \colorlet{seccolor}{brown}
    59 
    60  \colorlet{toprulecolor}{orange!30}
    61  \colorlet{topbgcolor}{orange!10}
    62  \colorlet{topcolor}{brown!80}
    63 %
    64 %
    65 \or% Green color specs
    66 %
    67 %
    68  \colorlet{itemcolor}{OliveGreen}
    69  \colorlet{verbcolor}{OliveGreen}
    70  \colorlet{botrulecolor}{GreenYellow!25}
    71  \colorlet{botbgcolor}{GreenYellow!30}
    72  \colorlet{botcolor}{Green!80}
    73  \colorlet{pgrulecolor}{GreenYellow}
    74  \colorlet{pgbgcolor}{white}
    75 
    76  \colorlet{quicklinkrulecolor}{Green!40}
    77  \colorlet{quicklinkcolor}{Green}
    78  \colorlet{topverticalrule}{Green}
    79  \colorlet{titlecolor}{DarkOliveGreen}
    80  \colorlet{hlinkcolor}{DarkOliveGreen}
    81  \colorlet{hlinktricolor}{Green!70}
    82  \colorlet{linkcolor}{OliveGreen}
    83  \colorlet{urlcolor}{OliveGreen}
    84 
    85 % \colorlet{arrayrulecolor}{olive!30}
    86  \colorlet{seccolor}{OliveGreen}
    87 
    88  \colorlet{toprulecolor}{GreenYellow!50}
    89  \colorlet{topbgcolor}{GreenYellow!20}
    90  \colorlet{topcolor}{GreenYellow!80}
    91 \fi
    92 
    93 \def\floatpagefraction{.99}
    94 \usepackage{geometry}
    95 \geometry{top=2in,
    96   bottom=1in,
    97   left=2in,
    98   right=1in,
    99   a4paper}
   100 
   101 %\DeclareRobustCommand{\LaTeX}{L\kern-.25em%
   102 %   {\sbox\z@ T%
   103 %     \vbox to\ht\z@{%
   104 %     {\check@mathfonts
   105 %     \fontsize\sf@size\z@
   106 %     \math@fontsfalse\selectfont
   107 %     A}%
   108 %    \vss}%
   109 %   }%-.10em%
   110 %  \TeX
   111 %}
   112 \DeclareRobustCommand{\LaTeX}{L\kern-.25em%
   113   {\sbox\z@ T%
   114          \vbox to\ht\z@{%
   115            \hbox{%
   116              \check@mathfonts
   117               \fontsize\sf@size\z@
   118               \math@fontsfalse\selectfont
   119               A}%
   120           \vss}%
   121         }%
   122    \kern-.10em%
   123    \TeX}
   124 
   125 \RequirePackage{pdfwidgets}
   126 
   127 \RequirePackage{comment,xspace}
   128 \def\xml{\textsc{xml}\xspace}
   129 \def\latex{\LaTeX\xspace}
   130 \def\pdf{\textsc{pdf}\xspace}
   131 \def\pdfa{\textsc{pdf/a-1}b\xspace}
   132 \def\pdfx{\textsc{pdf/x-1}a\xspace}
   133 \def\xmp{\textsc{xmp}\xspace}
   134 \def\pdftex{\textsc{pdf\TeX}\xspace}
   135 \def\defmacro#1{\texttt{\@bsl#1}}
   136 \def\thanh{H\`an Th\^e Th\`anh\xspace}
   137 \def\gnulinux{\textsc{gnu/linux}\xspace}
   138 
   139 \let\@DRAFTout@Hook\@empty
   140 \newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook}
   141 \newcommand{\@DRAFTout@Out}{%
   142    \afterassignment\@DRAFTout@Test
   143    \global\setbox\@cclv=
   144    }
   145 \newcommand{\@DRAFTout@Test}{%
   146    \ifvoid\@cclv\relax
   147       \aftergroup\@DRAFTout@Output
   148    \else
   149       \@DRAFTout@Output
   150    \fi%
   151    }
   152 \newcommand{\@DRAFTout@Output}{%
   153    \@DRAFTout@Hook%
   154    \@DRAFTout@Org@Out\box\@cclv%
   155    }
   156 \newcommand{\@DRAFTout@Org@Out}{}
   157 \newcommand*{\@DRAFTout@Init}{%
   158    \let\@DRAFTout@Org@Out\shipout
   159    \let\shipout\@DRAFTout@Out
   160    }
   161 \newdimen\OHeight
   162 \setlength\OHeight{\textheight}
   163 \addtolength\OHeight{\headheight}
   164 \addtolength\OHeight{\headsep}
   165 \addtolength\OHeight{\footskip}
   166 
   167 
   168 \newif\ifoverlay\overlayfalse
   169 
   170 \AtBeginDocument{\@DRAFTout@Init}
   171 \newcommand{\@DraftOverlay@Hook}{}
   172 \newcommand{\AddToDraftOverlay}{\g@addto@macro\@DraftOverlay@Hook}
   173 \newcommand{\ClearDraftOverlay}{\let\@DraftOverlay@Hook\@empty}
   174 \newcommand{\@DraftOverlay}{%
   175   \ifx\@DraftOverlay@Hook\@empty
   176   \else
   177     \bgroup
   178       \@tempdima=1in
   179       \@tempcnta=\@tempdima
   180       \@tempcntb=-\@tempdima
   181       \advance\@tempcntb\paperheight
   182       \ifoverlay
   183        \global\setbox\@cclv\vbox{%
   184         \box\@cclv
   185         \vbox{\let\protect\relax%
   186          \unitlength=1pt%
   187          \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
   188           \@DraftOverlay@Hook%
   189          \endpicture}}%
   190      \else
   191        \global\setbox\@cclv\vbox{%
   192         \vbox{\let\protect\relax%
   193          \unitlength=1sp%
   194          \pictur@(0,0)(\@tempcnta,\@tempcntb)%
   195           \@DraftOverlay@Hook%
   196          \endpicture}%
   197          \box\@cclv}%
   198      \fi 
   199     \egroup
   200   \fi
   201 }
   202 
   203 \definecolor{gray30}{gray}{.7}
   204 \definecolor{gray20}{gray}{.8}
   205 \definecolor{gray10}{gray}{.9}
   206 
   207 \DRAFTout{\@DraftOverlay}
   208 \long\def\puttext(#1)#2{\AddToDraftOverlay{%
   209   \setlength{\unitlength}{1pt}\thinlines%
   210   \put(#1){#2}}}
   211 
   212 \RequirePackage{shortvrb}
   213 \MakeShortVerb{\|}
   214 \RequirePackage{amsfonts,amssymb}
   215 \IfFileExists{pxfonts.sty}{\RequirePackage{pxfonts}}{}
   216 %\IfFileExists{charter.sty}{\RequirePackage{charter}}{}
   217 \IfFileExists{lfr.sty}{\RequirePackage[scaled=.85]{lfr}}{}
   218 %\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{}
   219 
   220 \def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}}
   221  
   222 \def\@seccntformat#1{\llap{\csname the#1\endcsname.\hspace*{6pt}}}
   223 \def\section{\@startsection {section}{1}{\z@}%
   224       {-3.5ex \@plus -1ex \@minus -.2ex}%
   225       {2.3ex \@plus.2ex}%
   226       {\normalfont\large\bfseries\color{seccolor}}}
   227 \def\subsection{\@startsection{subsection}{2}{\z@}%
   228       {-2.25ex\@plus -1ex \@minus -.2ex}%
   229       {1.5ex \@plus .2ex}%
   230       {\normalfont\normalsize\bfseries\color{seccolor}}}
   231 \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
   232       {-1.25ex\@plus -1ex \@minus -.2ex}%
   233       {1.5ex \@plus .2ex}%
   234       {\normalfont\normalsize\bfseries\color{seccolor}}}
   235 
   236 %\RequirePackage[draft]{pdfdraftcopy}
   237 % \draftstring{}
   238  \puttext(0,36){\botstring}%
   239  \puttext(0,840){\copy\topbox}
   240 \if@mylogo
   241  \puttext(531,829){\cvrlogo}
   242 \fi
   243 
   244 \RequirePackage{colortbl}
   245 %\arrayrulecolor{arrayrulecolor}
   246 \let\shline\hline
   247 \def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}}
   248 
   249 \RequirePackage[pdftex,colorlinks]{hyperref}
   250 \def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}%
   251      $\blacktriangleright$~\color{hlinkcolor}#1}}
   252  \def\@linkcolor{linkcolor}
   253  \def\@urlcolor{urlcolor}
   254 
   255 \pagestyle{empty}
   256 \def\version#1{\gdef\@version{#1}}
   257 \def\@version{1.0}
   258 \def\contact#1{\gdef\@contact{#1}}
   259 \def\author#1{\gdef\@author{#1}}
   260 \def\@author{River Valley Technologies}
   261 \def\@contact{\texttt{support@river-valley.com}}
   262 \def\keywords#1{\gdef\@keywords{#1}}
   263 \def\@keywords{\LaTeX, \xml}
   264 
   265 \long\def\Hrule{\\[-4pt]\hspace*{-3em}%
   266      {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
   267 
   268 \long\def\dtxmarkone[#1][#2]#3#4#5{\def\next{#1}%
   269      \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi}
   270 
   271 \newcounter{dtx}
   272 
   273 \long\def\dtxmarktwo[#1][#2]#3#4#5{\def\next{#1}%
   274    \stepcounter{dtx}\parbox{.45\linewidth}%
   275     {\ifcase\next\or\Hlink{#4}{#3}\fi}%
   276    \ifodd\thedtx\relax\else\Hrule\fi}
   277 
   278 \let\dtxmark\dtxmarkone
   279 
   280 \newbox\topbox
   281 \long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth
   282     \parindent=0pt
   283     \fcolorbox{toprulecolor}{topbgcolor}%
   284     {\parbox[t][2in][c]{\paperwidth}%
   285       {\hspace*{15mm}%
   286        \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}%
   287           \raggedright\normalfont\sffamily \selectfont
   288           \color{titlecolor} \@title\\[6pt]
   289           {\normalsize\rmfamily\scshape\@author}}%
   290 %          {\footnotesize\textsc{keywords:} \@keywords}}%
   291         \hfill
   292         \parbox[c][2in][c]{1mm}{\color{topverticalrule}%
   293           \rule{.1pt}{2in}}%
   294         \hfill
   295         \parbox[c][2in][c]{.35\paperwidth}%
   296         {\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
   297            \vspace*{6pt} QUICK LINKS\Hrule
   298             \IfFileExists{tmp.out}{\input tmp.out}{}%
   299          }\hspace*{5mm}%
   300       }%
   301     }%
   302   }%
   303 }
   304 \gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}%
   305     {\parbox[t][.5in][t]{\paperwidth}%
   306       {\normalfont\sffamily\footnotesize%
   307         \color{botcolor}%
   308         \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
   309          {\raggedright \textcopyright\ 2009, Elsevier Ltd.
   310 %           \href{http://www.river-valley.com}{%
   311 %            http://www.river-valley.com}\\
   312 %            \textsc{sjp} Building, Cotton Hills, Trivandrum
   313 %           695014, India\\  9, Browns Court, Kennford,
   314 %           Exeter, United Kingdom          
   315           Bugs, feature requests, suggestions and comments\\
   316           shall be mailed to \href{mailto:elsarticle@river-valley.com}
   317           {$<$elsarticle@river-valley.com$>$}. 
   318         }\hfill%
   319        \parbox[c][.5in][c]{1cm}
   320         {\centering\sffamily\mdseries
   321           \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}%
   322         }\hfill
   323        \parbox[c][.5in][c]{.45\paperwidth}
   324         {\raggedleft\begin{tabular}{rl}%
   325           Version:&\@version\\
   326           Date:&\@date\\
   327           Contact:&\@contact
   328          \end{tabular}\hspace*{5mm}%
   329         }%
   330       }%
   331     }%
   332   }
   333 
   334 \def\MacroFont{\fontencoding\encodingdefault
   335         \fontfamily\ttdefault
   336         \fontseries\mddefault
   337         \fontshape\updefault
   338         \color{verbcolor}\small}%
   339 
   340 \def\verbatim@font{\normalfont\color{verbcolor}\ttfamily}
   341 
   342 \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
   343   \bgroup
   344     \verb@eol@error \let\do\@makeother \dospecials
   345     \verbatim@font\@noligs
   346     \@ifstar\@sverb\@verb}
   347 
   348 
   349 \def\@lbr{\expandafter\@gobble\string\{}
   350 \def\@rbr{\expandafter\@gobble\string\}}
   351 \def\@bsl{\expandafter\@gobble\string\\}
   352 \def\@Bsl#1{\texttt{\@bsl#1}\xspace}
   353 \def\trics#1{\protect\@Bsl{#1}}
   354 \def\onecs#1{\protect\@Bsl{#1}}
   355 %\let\trics\onecs
   356 \@ifundefined{c@Glossary}{}{\c@GlossaryColumns=1
   357   \c@IndexColumns=2}
   358 
   359 \def\index@prologue{\section{Index}%
   360                  \markboth{Index}{Index}%
   361 %                  Numbers written in italic refer to the page
   362 %                  where the corresponding entry is described;
   363 %                  numbers underlined refer to the
   364 %                  \ifcodeline@index
   365 %                    code line of the
   366 %                  \fi
   367 %                  definition; numbers in roman refer to the
   368 %                  \ifcodeline@index
   369 %                    code lines
   370 %                  \else
   371 %                    pages
   372 %                  \fi
   373 %                  where the entry is used.
   374                  }
   375 
   376 \@ifundefined{theglossary}{}{%
   377 \renewenvironment{theglossary}{%
   378    \glossary@prologue%][\GlossaryMin]%
   379     \GlossaryParms \let\item\@idxitem \ignorespaces}%
   380    {}}
   381 
   382 \newenvironment{decl}[1][]%
   383     {\par\small\addvspace{1.5ex plus 1ex}%
   384      \vskip -\parskip
   385      \ifx\relax#1\relax
   386         \def\@decl@date{}%
   387      \else
   388         \def\@decl@date{\NEWfeature{#1}}%
   389      \fi
   390      \noindent%\hspace{-\leftmargini}%
   391      \begin{tabular}{l}\hline\ignorespaces}%
   392     {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
   393      \vspace{0.75ex}\vskip -\parskip\ignorespacesafterend\noindent}
   394 
   395 \newif\ifhave@multicol
   396 \newif\ifcodeline@index
   397 
   398 \IfFileExists{multicol.sty}{\have@multicoltrue
   399                             \RequirePackage{multicol}%
   400                            }{}
   401 
   402 \newdimen\IndexMin         \IndexMin       = 80pt
   403 \newcount\c@IndexColumns   \c@IndexColumns = 2
   404 \ifhave@multicol
   405   \renewenvironment{theindex}
   406     {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
   407       \IndexParms \let\item\@idxitem \ignorespaces}%
   408     {\end{multicols}}
   409 \else
   410   \typeout{Can't find multicol.sty -- will use normal index layout if
   411      necessary.}
   412   \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
   413     \columnseprule \z@  \columnsep 35\p@
   414     \twocolumn[\index@prologue]%
   415     \IndexParms \let\item\@idxitem \ignorespaces}
   416   \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
   417 \fi
   418 \long\def\IndexPrologue#1{\@bsphack\def\index@prologue{#1}\@esphack}
   419 \@ifundefined{index@prologue}
   420      {\def\index@prologue{\section{Index}%
   421                  \markboth{Index}{Index}%
   422 %                  Numbers written in italic refer to the page
   423 %                  where the corresponding entry is described;
   424 %                  numbers underlined refer to the
   425 %                  \ifcodeline@index
   426 %                    code line of the
   427 %                  \fi
   428 %                  definition; numbers in roman refer to the
   429 %                  \ifcodeline@index
   430 %                    code lines
   431 %                  \else
   432 %                    pages
   433 %                  \fi
   434 %                  where the entry is used.
   435                  }}{}
   436 \@ifundefined{IndexParms}
   437     {\def\IndexParms{%
   438        \parindent \z@
   439        \columnsep 15pt
   440        \parskip 0pt plus 1pt
   441        \rightskip 15pt
   442        \mathsurround \z@
   443        \parfillskip=-15pt
   444         \footnotesize
   445        \def\@idxitem{\par\hangindent 30pt}%
   446        \def\subitem{\@idxitem\hspace*{15pt}}%
   447        \def\subsubitem{\@idxitem\hspace*{25pt}}%
   448        \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
   449       }}{}
   450 \def\efill{\hfill\nopagebreak}%
   451 \def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus  1fill}%
   452 \def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}%
   453 \def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
   454                \dotfil~\ignorespaces}%
   455 
   456 \let\scan@allowedfalse\relax
   457 
   458 \def\tlformat#1{\begingroup\Large
   459   \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
   460   \fontseries{m}%
   461   \selectfont\color{white}\huge#1}%
   462   \endgroup}
   463 \def\tlFormat#1{\begingroup\Large
   464   \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
   465   \fontseries{m}%
   466   \selectfont\color{black}\huge#1}%
   467   \endgroup}
   468 \def\cvrlogo{\begingroup\fboxsep=2pt
   469   \colorbox{olive}{\tlformat{c}}%
   470   \colorbox{blue}{\tlformat{v}}%
   471   \colorbox{red}{\tlformat{r}}
   472   \endgroup}
   473 
   474 
   475 \endinput
   476 
   477 %%
   478 %% End of file 'rvdtx.sty'
   479 %%