diff options
author | Karl Berry <karl@freefriends.org> | 2011-11-04 23:24:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-11-04 23:24:16 +0000 |
commit | 68e1c235b3d6d27c0b49e8a5204ad71ad1b6ed80 (patch) | |
tree | 9f4f89d5cc17628efdb360adfc9cb252b45dfb7f /Master/texmf-dist/tex/latex | |
parent | 53614d3ad7e989dd7cc187c2980aed8044688be7 (diff) |
fcltxdoc 1.0 (1nov11)
git-svn-id: svn://tug.org/texlive/trunk@24500 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/fcltxdoc/fcltxdoc.sty | 703 |
1 files changed, 703 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/fcltxdoc/fcltxdoc.sty b/Master/texmf-dist/tex/latex/fcltxdoc/fcltxdoc.sty new file mode 100644 index 00000000000..3ad877b52cc --- /dev/null +++ b/Master/texmf-dist/tex/latex/fcltxdoc/fcltxdoc.sty @@ -0,0 +1,703 @@ +%% +%% This is file `fcltxdoc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fcltxdoc.dtx (with options: `package') +%% +%% This is a generated file. +%% Copyright (FC) 2010-2011 - lppl +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% +%% This work consists of the main source file fcltxdoc.dtx +%% and the derived files +%% fcltxdoc.sty, fcltxdoc.pdf, fcltxdoc.ins, fcltxdoc.drv. +%% +%% fcltxdoc: 2011/03/12 v1.0 - Private additional ltxdoc support (FC) +%% +%% This package is not intended for public use. +%% It is required to compile some of my documentations files. +%% +%% ------------------------------------------------------------------------------ +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{fcltxdoc} + [2011/03/12 v1.0 - Private additional ltxdoc support (FC)] +\RequirePackage {etex}\def\etex@loggingall {\tracingall \tracingonline\z@ } +\reserveinserts 3 +\RequirePackage {filehook} +\RequirePackage {ltxnew,etexcmds,ltxcmds,etoolbox} % general tools (commands) +\AtEndOfPackage{\fcltx@AtEnd \let\fcltx@AtEnd \@undefined} +\def\fcltx@AtEnd {} +\def\TMP@EnsureCode#1={% + \edef\fcltx@AtEnd{\fcltx@AtEnd + \catcode#1 \the\catcode#1}% + \catcode#1=% +}% \TMP@EnsureCode +\TMP@EnsureCode 33 = 12 % ! +\TMP@EnsureCode 58 = 12 % : +\TMP@EnsureCode124 = 12 % | = text bar +\TMP@EnsureCode 36 = 3 % $ = math shift +\TMP@EnsureCode 38 = 4 % & = tab alignmment character +\TMP@EnsureCode 32 = 10 % space +\TMP@EnsureCode 94 = 7 % ^ +\TMP@EnsureCode 95 = 8 % _ +\DeclareOption {amsmath}{\AtEndOfPackage{% + \RequirePackage{amsmath,amsfonts,amsopn,amssymb} + \newrobustcmd*\dpartial [2]{\displaystyle\genfrac{}{}{}{} + {\partial\mkern.2\thinmuskip#1} + {\partial\mkern.2\thinmuskip#2}} + \newrobustcmd*\dtotal [2]{\displaystyle\genfrac{}{}{}{} + {\text d\mkern.2\thinmuskip#1} + {\text d\mkern.2\thinmuskip#2}}} +}% amsmath (package option) +\def\fcltx@articleclass {article} +\DeclareOption {scrartcl}{\def\fcltx@articleclass{scrartcl}\let\loadclass \LoadClass + \def\LoadClass #1{\let\tablename \relax \let\c@table \relax \let\fnum@table \relax + \let\abovecaptionskip \relax \let\belowcaptionskip \relax \let\@makecaption \relax + \loadclass[abstracton]{scrartcl}\let\scrmaketitle =\maketitle + \AtEndOfClass{\let\maketitle =\scrmaketitle}}} +\DeclareOption {nopackages}{% + \let\fcltx@nopackages \relax} +\DeclareOption {activepar}{\AtBeginDocument{\fcltx@activepar}} +\DeclareOption {\detokenize{§§}}{\ExecuteOptions{activepar}} +{\catcode`\§=\active +\gdef\fcltx@activepar{\catcode`\§=\active + \def §{\@ifnextchar §{\par\nobreak \vskip-\parskip \ignorespaces } + {\par\nobreak \ignorespaces }}% +}% \fcltx@activepar +}% \catcode +\DeclareOption {hyperlistings}{% + \AtBeginEnvironment {lstlisting}{\let\lsthk@OutputBox \lsthk@OutputBox@fcltxH@@k }% + \AtEndOfPackageFile*{listings}{\preto\lst@InitFinalize {\let\lsthk@OutputBox \lsthk@OutputBox@fcltxH@@k }}% +}% hyperlistings +\ProcessOptions* +\PassOptionsToPackage {svgnames}{xcolor} +\RequirePackage {xspace} +%% Opacity problem with current pgf version... +\ifdefined\pdfpageattr \pdfpageattr{/Group <</S /Transparency /I true /CS /DeviceRGB>>}\fi +\csname \ifdefined\fcltx@nopackages iffalse\else + iftrue\fi \endcsname +\PassOptionsToPackage {T1}{fontenc} +\PassOptionsToPackage {normalem}{ulem} +\PassOptionsToPackage {pdfencoding=auto,hyperfootnotes}{hyperref} +\PassOptionsToPackage {official}{eurosym} +\PassOptionsToPackage {explicit}{titlesec} +\RequirePackage {fontenc} +\RequirePackage {hologo} % before graphicx (bug) +\RequirePackage {graphicx,grffile,needspace} % general tools +\RequirePackage {Escan} +\RequirePackage {moresize,manfnt,bbding,eurosym} % fonts +\RequirePackage {fancyhdr,lastpage,marginnote,framed} % empagement +\RequirePackage {ulem} +\RequirePackage {nccfoots,nccstretch} % \Footnote / \stretchwith +\RequirePackage {linegoal} % \linegoal +\RequirePackage {array,delarray,makecell,booktabs} % tabulars +\RequirePackage {embedfile} % .dtx enclosed in .pdf +\RequirePackage {interfaces} % interfaces +\usetikz {basic,chains,positioning,patterns,fadings} % TikZ +\AtEndOfClassFile* \fcltx@articleclass{% + \RequirePackage {relsize,titlesec,tocloft} % other general tools + \RequirePackage [numbered]{hypdoc}[2010/03/26] + \RequirePackage {hyperref}[2010/03/30] + \RequirePackage {pdftexcmds}[2010/04/01] + \RequirePackage {enumitem} + \setitemize{parsep=\parskip,topsep=0pt,partopsep=0pt,itemsep=0pt} + \RequirePackage {bookmark,hypbmsec} % bookmarks and hyper-links +%% \RequirePackage {enumitem-zref} + \RequirePackage {fancyvrb} % verbatim and listings + \catcode`\&=7 + \RequirePackage {listings} + \catcode`\&=4 + \AtBeginDocument{% +%% \let\c@lstlisting \relax +%% \newlistof {lstlisting}{lol}{List of listings} + \listofsetup {lol}{before=\def\csref {\ref*}}}% +}% \AfterClass +\lastlinefit100\widowpenalty=5000\clubpenalty=8000 +\else % <[nopackages] option> + \RequirePackage {xcolor} +\fi % <[nopackages] option> +\AtEndOfPackageFile* {interfaces-tocloft}{ + \tocsetup {before+=\def\csref {\ref*}}% +}% \AfterPackage interfaces-tocloft +\AtEndOfPackageFile* {hyperref}{\pdfstringdefDisableCommands{% + \def\\{\textCR\ignorespaces}% <for pdfcomment to insert .. + \def\par{\textCR\ignorespaces}}% .. a line break inside a comment> +}% \AfterPackage +\AtEndOfPackageFile*{fancyvrb}{% +\fvset {gobble=1,framesep=6pt,fontfamily=cmtt,listparameters={\topsep=0pt}}% verbatim basic settings +} +\AtEndOfPackageFile*{listings}{% +\lstset{gobble=1, % listings basic settings + language=[LaTeX]TeX, + basicstyle=\usefont{T1}{cmtt}mn\footnotesize, + breaklines=true, + alsoletter={*}, + commentstyle=\ttfamily\color{violet}, + moretexcs=[1]{tikz}, + keywordstyle=[2]{\color{ForestGreen}\slshape}, + keywords=[2]{tabular,caption,tabu*,shorttabu*,shorttabu,table,tabu,tabularx,longtable,% + Verbatim,lstlisting,Escan-left,Escan-right,Escan-bottom,Escan-top,% + align*,align,equation*,equation,split,multline*,multline}, +%% texcsstyle=[3]{\color{ForestGreen}\slshape}, +%% moretexcs=[3]{tabubox*,tabubox,shorttabubox*,shorttabubox}, + texcsstyle=[55]{\color{DarkBlue}}, + texcs=[55]{hline,hhline,firsthline,lasthline,arrayrulewidth,arrayrulecolor}, + texcsstyle=[90]\color{Fuchsia}, + moretexcs=[90]{section*,section,subsection*, + subsection,subsubsection*, + subsubsection,paragraph*,paragraph, + subparagraph*,subparagraph}, + deletetexcs=[1]{section,subsection,subsubsection,paragraph,subparagraph}, + keywordstyle=[100]\color{red}, + texcsstyle=[100]\color{red}, + texcsstyle=[77]{\color{pkgcolor}}, + texcs=[77]{}, +} +\define@key{lst}{red}[]{\kvsetkeys{lst}{morekeywords={[100]{#1}}}} +\define@key{lst}{csred}[]{\kvsetkeys{lst}{moretexcs={[100]{#1}}}} +\define@key{lst}{font}[]{\kvsetkeys{lst}{basicstyle={#1}}} +\define@key{lst}{font+}[]{\appto\lst@basicstyle{#1}} +\define@key{lst}{color}[]{\@expandtwoargs\kvsetkeys {lst}% + {backgroundcolor=\ifcat$\detokenize{#1}$\else\noexpand\color{#1}\fi}} +\gdef\lst@DefineKeywords#1#2#3{% overwrites to the last definition + \lst@ifsensitive + \def\lst@next{\lst@for#2}% + \else + \def\lst@next{\uppercase\expandafter{\expandafter\lst@for#2}}% + \fi + \fcltx@iflstclass {#2}>{90} + {\lst@next\do {\global\expandafter\let\csname\@lst#1@##1\endcsname#3}}% <no test> + {\lst@next\do {\expandafter \ifx \csname \@lst #1@##1\endcsname\relax \global\expandafter\let\csname \@lst #1@##1\endcsname #3\fi }}% +}% After package listings +\def\fcltx@iflstclass #1\@nil {\def\fcltx@iflstclass ##1##2##3{% + \expandafter\fcltx@ifclass@filter \string##1\@nil + \ifnum \@tempcnta ##2##3 \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi }% +}\expandafter\fcltx@iflstclass \string\lst@keywords \@nil +\def\fcltx@ifclass@filter #1#2{\def\fcltx@ifclass@filter ##1\@nil + {\fcltx@ifcl@ss@filter ##1#1{}##1#2\@nil }% +}\@expandtwoargs \fcltx@ifclass@filter {\string\lst@keywords }{\string\lst@texcs } +\def\fcltx@ifcl@ss@filter #1#2{\def\fcltx@ifcl@ss@filter ##1#1##2#2##3\@nil + {\@defaultunits \@tempcnta \number0##2==\@nnil + \ifnum \@tempcnta =\z@ \@defaultunits \@tempcnta \number 0##3==\@nnil \fi }% +}\@expandtwoargs \fcltx@ifcl@ss@filter {\string\lst@keywords }{\string\lst@texcs } +\def\lstset {\begingroup \lst@setcatcodes \expandafter\endgroup \lstset@ } +\def\lstset@ #1{\kvsetkeys {lst}{#1}} +}% \AfterPackage listings +\providecommand\pdfstringDisableCommands [1]{\AtBeginDocument{% + \ifdefined \pdfstringdefDisableCommands + \let\pdfstringDisableCommands =\pdfstringdefDisableCommands + \pdfstringdefDisableCommands{#1}\fi}} +\providerobustcmd*\TabU [1][\TabUcolor]{\leavevmode + {#1{{\fontsize{1.618\dimexpr\f@size\p@}{1.618\dimexpr\f@size\p@}\usefont U{eur}mn\char"1C}% + $_\aleph \mkern.1666mu b\mskip3mu\mathsurround\z@$\lower.261ex\hbox{\rotatebox[origin=c]{-90}{\usefont{T1}{lmss}mn U}}}}% + \ifmmode\else\ifhmode \spacefactor3000 \xspaceverb \fi\fi } +\def\TabUcolor {\color{copper}} +\pdfstringDisableCommands{\def\TabU {TabU }} +{\endlinechar`\^^J\obeyspaces% +\gdef\ErrorUpdate#1=#2,{\@ifpackagelater{#1}{#2}\relax% + {\let\CheckDates=\errmessage% + \toks@=\expandafter{\the\toks@ + \thisfile-documentation: updates required ! + package #1 must be later than #2 + to compile this documentation.}}% +}% \ErrorUpdate +\gdef\CheckDates#1{\AtBeginDocument{{% + \toks@{}\let\CheckDates=\relax% + \@for\x:=\thisfile=\thisdate,#1\do{\expandafter\ErrorUpdate\x,}% + \CheckDates\expandafter{\the\toks@}}}% +}% \CheckDates +}% \catcode +\providerobustcmd*\showfile{\makeatletter \show\@currname }% +\providecommand*\currentenvir {\@currenvir} +\providecommand*\ifcurrenvir [1]{\expandafter + \ifx \csname #1\expandafter\endcsname \csname \@currenvir\endcsname + \expandafter\@firstoftwo + \else \expandafter\@secondoftwo + \fi +}% \ifcurrenvir +\providerobustcmd*\ifrefundefined [1]{\begingroup \csname @safe@activestrue \endcsname %<babel> + \expandafter\endgroup \csname @\ifcsname r@#1\endcsname second\else + first\fi oftwo\endcsname +}% \ifrefundefined +\providecommand\texorpdf[2] {\texorpdfstring{{#1{#2}}}{#2}} +\providerobustcmd*\xspaceverb {\ifnum \catcode 32=\active \else \expandafter\xspace \fi} +\provide\let\fcltx@NormalSharpChar \# +\renewrobustcmd \#{% + \ifnum \catcode 32=\active \expandafter\fcltx@NormalSharpChar + \else \expandafter\fcltx@SharpChar \fi +}% \# +\provide\def\fcltx@SharpChar #1{{\usefont{T1}{pcr}{bx}{n}\char`\##1}} +\providecommand\textt {\texttt} +\providecommand\textsfbf [1]{\textsf{\textbf{#1}}} \provide\let\textbfsf =\textsfbf +\providecommand\textttbf [1]{\texttt{\textbf{#1}}} \provide\let\textbftt =\textttbf + \provide\let\texttbf =\textttbf +\providecommand\textitbf [1]{\textit{\textbf{#1}}} \provide\let\textbfit =\textitbf +\providecommand\textslbf [1]{\textsl{\textbf{#1}}} \provide\let\textbfsl =\textslbf +\providecommand\textscbf [1]{\textsc{\textbf{#1}}} \provide\let\textbfsc =\textscbf +\providecommand\textscit [1]{\textsc{\textit{#1}}} \provide\let\textitsc =\textscit +\providecommand\textscsl [1]{\textsc{\textsl{#1}}} \provide\let\textslsc =\textscsl +\providerobustcmd*\abs[1]{\left\lvert#1\right\rvert} +\provide\protected\def\Underbrace #1_#2{$\underbrace{\vtop to2ex{}\hbox{#1}}_{\footnotesize\hbox{#2}}$} +\provide\let\cellstrut=\bottopstrut +\AtBeginDocument {% +\providerobustcmd*\ie {\ifmmode \mbox{\emph{ie.}}\else \emph{ie.}\spacefactor\@cclv \xspaceverb \fi} +\providerobustcmd*\eg {\ifmmode \mbox{\emph{e.g.}}\else \emph{e.g.}\spacefactor\@cclv \xspaceverb \fi } +\providerobustcmd*\etc {\ifmmode \mbox{\emph{etc.}}\else + \ifhmode \ifdim\lastskip>\z@ \unskip\spacefactor\@cclv\space \fi\fi + \emph{etc.}\fi \@ifnextchar .{\expandafter\xspaceverb\@gobble}\xspaceverb +}% \etc +}% \AtBeginDocument +\pdfstringDisableCommands {\let\textt \@empty + \let\textbftt \@firstofone \let\textttbf \@firstofone \let\texttbf \@firstofone + \let\textsfbf \@firstofone \let\textbfsf \@firstofone \let\textitbf \@firstofone + \let\textbfit \@firstofone \let\textslbf \@firstofone \let\textbfsl \@firstofone + \let\textscbf \@firstofone \let\textbfsc \@firstofone \let\textscit \@firstofone + \let\textitsc \@firstofone \let\textscsl \@firstofone \let\textslsc \@firstofone + \def\ie {ie.}\def\etc {etc.}\let\textcolor \@secondoftwo +} +\providerobustcmd*\MathVersion [1]{\ifcsundef{mv@#1} + {\@latex@error{Math version `#1' is not defined}\@eha} + {\edef\math@version{#1}\gdef\glb@currsize{}\aftergroup\glb@settings + \ifmmode \check@mathfonts \fi}% +}% \MathVersion +%%\provide\mathchardef\extra@sf =2999 % "extra" spacefactor +%%\providecommand*\extrasf{\ifmmode\else\ifhmode \unskip \spacefactor\extra@sf \space \fi\fi } +\providecommand*\xspaceverb {\ifnum\catcode`\ =\active\else \expandafter\xspace \fi} +%%\providerobustcmd*\xspaceextra {% +%% \ifhmode\ifmmode\else \ifdim \fontdimen4\font>\z@ \spacefactor\extra@sf \fi \xspaceverb \fi\fi } +\xspacesetup {exceptions+=\xspaceverb} +\providerobustcmd*\ensurespaceextra {% + \ifhmode\ifmmode\else \ifdim\fontdimen4\font>\z@ + \ifdim \lastskip>100sp \ifdim \lastskip>\fontdimen4\font \else % \ifnum \spacefactor<\extra@sf + \unskip + \hskip \glueexpr \fontdimen4\font+.1666em\relax + \fi\fi\fi\fi\fi } +\pdfstringDisableCommands{\let\, \@empty} +\AtBeginDocument{% + \ifdefined\cs \expandafter\renewrobustcmd + \else \expandafter\providerobustcmd \fi + *\cs {\ensurespaceextra \leavevmode \begin@grabcs \cs@ } + \xspacesetup {exceptions+=\cs} + \pdfstringDisableCommands {\let\cs \cs@pdf } + \providerobustcmd\meta [1]{\ensuremath\langle \hbox{#1}\/\ensuremath\rangle } +}% \AtBeginDocument +\providerobustcmd*\csbf {\cs [\textbf ]} +\providerobustcmd\cs@ [2][]{\cs@getrefname {#2}\@tempa + \edef\@tempc {\detokenize \expandafter{\@tempa }}% + \edef\@tempb {\string\begin}\ifx \@tempc\@tempb \aftergroup\@ne \else + \edef\@tempb {\string\end}\ifx \@tempc\@tempb \aftergroup\@ne \else + \aftergroup\z@ \fi\fi + \def\x ##1\@nnil {\cs@hyper {##1} {\cs@font {#1{\string ##1}}} + {\cs@font {#1{\csref {declcs.\string ##1}}}}% + }\expandafter \x \@tempa \@nnil \egroup +}% \cs@ +\def\cs@string {\string\\\string }% for \env => \cs@string becomes only \string (no addition of \ ) +\providerobustcmd*\csref {\ref} +\long\def\cs@getrefname #1#2{\begingroup \escapechar\m@ne \csname @safe@activestrue\endcsname + \let\stform \string + \let\lst@UM \string + \let\meta \@firstofone + \protected@edef #2{\endgroup \def\noexpand #2{\cs@string #1}}#2% +}% \cs@getrefname +\def\begin@grabcs #1{\hbox\bgroup\bgroup \aftergroup\cs@next + \makeatletter \@ifstar {\def\csref {\ref*}#1}{#1}} +\provide\def\cs@next #1{\egroup \ifnum #1=\z@ \expandafter\cs@nextnormal \else \expandafter\cs@nextbeginend \fi } +\provide\def\cs@nextnormal {\@ifstar {\stform*\xspaceverb}\xspaceverb } +\provide\def\cs@nextbeginend{\@ifnextchar\bgroup \cs@nextenv \xspaceverb } +\provide\def\cs@nextenv #1{\M*{\env{#1}}} +\provide\def\cs@font {\ifdefined\hypersetup \hypersetup {linkcolor=csrefcolor}\fi\textt } +\providerobustcmd*\cs@hyper [1]{\ifrefundefined {declcs.#1}} +\providerobustcmd*\csanchor [2][]{\begingroup \def\cs@next {\egroup \endgroup \bgroup \cs@next}% + \let\cs@hyper \cs@anchor \cs[{#1}]{#2}} +\providerobustcmd*\cs@anchor [3] {% + \ifodd \expandafter\ifx \csname \@gobble #1\endcsname\begin 0 \fi + \expandafter\ifx \csname \@gobble #1\endcsname\end 0 \fi + 1 \def\@currentHref {declcs.\string\string\space #1}\def\@currentlabel {\protecting{#2}}% + \settoheight \dimen@ {#2}\advance\dimen@ \dimexpr \dp\strutbox+\arrayrulewidth \relax + \raisedhyperdef [\dimen@ ]{declcs}{#1}{\ifrefundefined{declcs.#1}{#2}{#3}% + \label{declcs.\string\string\space #1}}% + \ifdefined\SpecialUsageIndex \expandafter\SpecialUsageIndex \csname \@gobble #1\endcsname \fi + \else #2\fi +}% \cs@anchor +\providecommand*\cs@pdf[1]{\string\\\if\@backslashchar\string#1 \else\string#1\fi}% <note the spaces!> +\providerobustcmd*\env {\leavevmode \begingroup \let\cs@string \string + \def\cs@next ##1{\egroup \endgroup \@ifstar{ environment\xspaceverb}\xspaceverb}\begin@grabcs \cs@ } +\providerobustcmd*\envanchor {\leavevmode \begingroup \let\cs@hyper \cs@anchor \let\cs@string \string + \def\cs@next ##1{\egroup \endgroup }\begin@grabcs \cs@ } +\pdfstringDisableCommands{\let\env \@firstofone } +\def\lsthk@OutputBox@fcltxH@@k {\begingroup \let\lst@UM \@empty + \edef \@tempc {\the\lst@token }\edef \@tempc {\@tempc }% + \expandafter \cs@getrefname \expandafter {\@tempc }\@tempa + \ifrefundefined {declcs.\@tempa} + {\let\cs@string =\string % <environments> + \expandafter \cs@getrefname \expandafter {\@tempc }\@tempa + \ifrefundefined {declcs.\@tempa }{\endgroup }\fcltx@sethyperlistings + } + \fcltx@sethyperlistings +}% \lsthk@OutputBox@fcltxH@@k +\def\fcltx@sethyperlistings {\global\let \fcltx@hyperlistinganchor =\@tempa + \endgroup \aftergroup \fcltx@dohyperlistings }% after \hbox +\def\fcltx@dohyperlistings {\def\lst@alloverstyle ##1{\fcltx@hyperlistings ##1}} +\def\fcltx@hyperlistings {\setbox\@tempboxa + \hbox \bgroup + \rlap {\hypersetup {linkcolor=.}\relax \fboxrule \z@ + \hyperref {}{declcs}\fcltx@hyperlistinganchor + {\boxframe {\wd\@tempboxa}{\ht\@tempboxa}{\dp\@tempboxa}}}% + \unhbox\@tempboxa + \egroup +}% \fcltx@hyperlistings +\newenvironment{declcs} [1][ l ]{% + \@testopt {\declcs@twoopt{#1}}{}} + {\crcr + \end{tabu}\par \nobreak \ignorespacesafterend } +\def\declcs@twoopt #1[#2]#3{% + \if@nobreak \par\nobreak + \else \needspace{.08\textheight}\vskip2\parskip \fi + \changefont{spread=1,fam=\ttdefault }% + \tabusetup {tabu target=\dimexpr\linewidth-\declmarginwidth , frame=tabu }% + \declmargin + \ifblank {#1}{\begin{tabu} { l }}{\begin{tabu}spread0pt { #1 }} + \csanchor [{#2}]{#3}}% +\newenvironment{declcs*} [1][ l ]{% + \@testopt {\declcs@s@twoopt{#1}}{}} + {\crcr + \end{longtabu}\nobreak \ignorespacesafterend } +\def\declcs@s@twoopt #1[#2]#3{% + \if@nobreak \par\nobreak + \else \needspace{.08\textheight}\vskip2\parskip \fi + \changefont{spread=1,fam=\ttdefault }% + \tabusetup {longtabu = <\declmarginwidth , frame=tabu } + \ifblank {#1}{\begin{longtabu} { l }}{\begin{longtabu}spread0pt { #1 }} + \csanchor [{#2}]{#3}}% +\def\declmarginwidth {\dimexpr -\leftmargini +\arrayrulewidth +\tabcolsep\relax} +\def\declmargin {\hspace*\declmarginwidth } +\AtBeginDocument{\ifdefined\nGm@lmargin \leftmargini = .5\dimexpr \nGm@lmargin \relax + \else \ifdefined\Gm@lmargin \leftmargini = .5\dimexpr \Gm@lmargin \relax \fi\fi } +\providecommand*\declcsbookmark {\@ifstar \declcsbookmark@star \declcsbookmark@nost } +\providecommand*\declcsbookmark@nost [2][]{\bookmark [{dest=declcs.\string#2,rellevel=1,keeplevel,color=lk,#1}] {\cs#2}} +\providecommand*\declcsbookmark@star [2][]{\bookmark [{rellevel=1,keeplevel,color=lk,#1}] {#2}} +\newenvironment{declenv} [1][ l ]% + {\@testopt {\declenv@twoopt {#1}}{}} + {\crcr \multicolumn -{p*}{\declenv@AtEnd} + \\ \end{tabu}\nobreak \par \nobreak \noindent + \ignorespacesafterend} +\def\declenv@twoopt #1[#2]#3{% + \if@nobreak \par\nobreak + \else \par\addvspace\parskip + \Needspace{.08\textheight}\fi + \changefont{spread=1,fam=\ttdefault}\hskip-\leftmargini + \def\declenv@AtEnd{\cs{end}\M*{\env [{#2}]{#3}}}% + \tabusetup* {framed=tabu}% + \ifblank {#1}{\begin{tabu}{ l }}{\begin{tabu}{ #1 }}\cs{begin}\M*{\envanchor [{#2}]{#3}}} +\providerobustcmd*\keyvalue {\@ifstar {\@testopt{\fcltx@keyvalue {}{}}\textt } + {\@testopt{\fcltx@keyvalue \{\}}\textt }} +\provide\def\fcltx@keyvalue #1#2[#3]#4{#3{#1#4#2}\xspaceverb } +\pdfstringDisableCommands{\let\keyvalue \@firstofone} +\providerobustcmd*\fcltx@xfiles [4]{\@ifstar{#1{#2#4}#3}{#1{#2#4}}} +\def\fcltx@xx #1#2#3#4{\provide\def #1{\fcltx@xfiles {#2}{#3}{#4}}} +\fcltx@xx \xext \textt .{ file} +\fcltx@xx \xfile \textt {}{ file} +\fcltx@xx \xpackage \textsf {}{ package} +\fcltx@xx \xmodule \textsf {}{ module} +\fcltx@xx \xclass \textsf {}{ class} +\providecommand*\xemail[1]{\textless\textt{#1}\textgreater } +\pdfstringDisableCommands{% + \let\xext \@firstofone \let\xpackage \@firstofone + \let\xmodule \@firstofone \let\xclass \@firstofone + \let\xemail \@firstofone +}% +\xspaceaddexceptions {\Footnotemark } +\providerobustcmd*\CTANhref [2][]{\ifblank{#1} + {\href {http://www.ctan.org/tex-archive/help/Catalogue/entries/#2.html} + {\nolinkurl{CTAN:help/Catalogue/entries/#2.html}}} + {\href {http://www.ctan.org/tex-archive/help/Catalogue/entries/#1.html}{#2}}% +}% \CTANhref +\pdfstringDisableCommands{\let\CTANhref \@firstofone } +\providerobustcmd*\Xpackage [1]{\@ifstar {\CTANhref [{#1}]{\xpackage {#1}} package\xspaceverb } + {\CTANhref [{#1}]{\xpackage {#1}}\xspaceverb }} +\pdfstringDisableCommands{\let\Xpackage \@firstofone } +\providerobustcmd*\thispackage {\@ifstar {\xpackage\thisfile \xspaceverb}% + {{\color {pkgcolor}\xpackage\thisfile}\xspaceverb}} +\pdfstringDisableCommands {\let\thispackage \thisfile } +\providerobustcmd*\M {\scan@char *\M@ifstar } +\providerobustcmd*\M@ifstar [1]{\@ifnextchar #1{\@firstoftwo + {\let\M@meta \@firstofone \scan@char {|[]()}\M@i }} + {\let\M@meta \meta \scan@char {|[]()}\M@i }} +\xspacesetup {exceptions+=\M\}]} +\providerobustcmd*\scan@char [2]{\begingroup \endlinechar \m@ne + \scantokens{\def\:{#1}}\expandafter \endgroup \expandafter #2\:} +\providerobustcmd*\M@i [5]{\begingroup \@ifnextchar [% ] + {\iftrue\M@char [][]\fi } + {\ifcase \ifx #1\@let@token \z@ \else + \ifx #2\@let@token \@ne \else + \ifx #4\@let@token \tw@ \else + \m@ne \fi\fi\fi + \M@char{#1}{#1}{\stform|}{\stform|}% + \or \M@char{#2}{#3}[]% + \or \M@char{#4}{#5}()% + \else \M@char{}{}\{\}% + \fi }% +}% \M@i +\provide\def\M@square #1[#2]{\M@Bracket [{#1}{#2}]} +\provide\def\M@char #1#2#3#4#5\fi {\fi \def\M@char #1##1#2{\M@ch@r {#3}{##1}{#4}}\M@char } +\provide\def\M@ch@r #1#2#3{\endgroup {\ttfamily #1\ifblank{#2}{{\,}}{\M@meta{#2}}#3}} +\providerobustcmd*\CopyRight {\begingroup \@ifnextchar \bgroup + {\afterassignment\Copy@Right \count@ =\@firstofone } + {\afterassignment\Copy@Right \count@ =}% +}% \CopyRight +\provide\def\Copy@Right {% + \def\Copy@Right ##1!##2/##3\@nil {\endgroup \copyright\,% + \oldstylenums {\ifnum ##2=##1\relax \else ##1\,\textendash\,\fi ##2}% + }\expandafter\Copy@Right \the\expandafter\count@\expandafter!\thisdate \@nil +}% \Copy@Right +\pretocmd\textasteriskcentered {\usefont{OMS}{cmsy}mn}{}{} +\ifdefined\ifincsname + \providecommand*\stform {\ifincsname \expandafter\string \else \expandafter\@stform \fi} +\else \providerobustcmd*\stform {\@stform } +\fi +\providerobustcmd*\@stform {\ensurespaceextra \@ifnextchar* + {\@@stform[]\textasteriskcentered\@gobble } + {\ifx -\@let@token \@@stform[]\textendash\expandafter\@gobble + \else \expandafter\@@stform + \fi}} +\providecommand*\@@stform [2][\string]{\texttbf{\stform@font #1#2}\xspaceverb } +\def\stform@font{} +\pdfstringDisableCommands{\let\stform =\string } +\xspacesetup {exceptions+=\stform} +\providerobustcmd*\myunderscore {\ifvmode \noindent \fi \vrule height-\p@ depth1.6\p@ width.4em} +\providerobustcmd*\smex {\leavevmode \hb@xt@2em{\hss $\longrightarrow$\hss }} +\providerobustcmd*\CheckOK {\textsmaller[2]{\textcolor{ForestGreen}\CheckmarkBold}} +\providerobustcmd*\CheckFAIL {\textsmaller[2]{\textcolor{Crimson}\XSolidBrush}} +\providerobustcmd*\CheckTODO{\textsmaller[2]{\textcolor{MediumBlue}\Peace}} +\providecommand*\ifcolorundef[3]{\romannumeral0\ifcsundef{\string\color@#1}{ #2}{ #3}}% +\providerobustcmd*\providecolorlet [2]{\ifcolorundef{#1}{\colorlet{#1}{#2}}{}} +\providecolorlet {pkgcolor}{teal} +\providecolorlet {csrefcolor}{pkgcolor} +\providecolor {macrocode}{rgb}{0.07,0.03,0.10} +\providecolor {copper}{rgb}{0.67,0.33,0.00} +\providecolor {dg}{rgb}{0.02,0.29,0.00} % dg = dark green +\providecolor {db}{rgb}{0,0,0.502} % db = dark blue +\providecolor {dr}{rgb}{0.75,0.00,0.00} % dr = dark red +\providecolor {lk}{rgb}{0.25,0.25,0.25} % lk = 'light' black +\providecolor {llk}{rgb}{0.40,0.40,0.40} % llk = 'even more light' black +\provide\def\db {\color{db}} \provide\def\dg {\color{dg}} +\provide\def\red {\color{dr}} \provide\def\rred {\color{red}} +\providerobustcmd*\pkgcolor {\color {pkgcolor}} +\pdfstringDisableCommands{\let\pkgcolor \relax } +\AtEndOfPackageFile*{hyperref}{% + \providecolorlet {linkcolor}{CornflowerBlue!40!Indigo} + \providecolorlet {urlcolor}{magenta} + \providecolorlet {filecolor}{cyan} + \providecolorlet {menucolor}{red} + \providecolorlet {runcolor}{filecolor} + \hypersetup {linkcolor=linkcolor, + urlcolor=urlcolor, + filecolor=filecolor, + menucolor=menucolor, + runcolor=runcolor, + pdfpagemode=UseOutlines} +}% \AfterPackage +\newenvironment{Abstract} + {\small\begin{center}\bfseries \abstractname\vspace{-.5em}\vspace{\z@}\end{center}\quotation} + \endquotation +\AtEndOfClassFile*{ltxdoc}{ +\renewenvironment{quotation}[1][\leftmargin=1.5em] + {\list{}{\listparindent 1.5em + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@ #1}% + \item\relax} + {\endlist} +}% At End Of Class +\newenvironment{History}{% + \section {History}% + \def\Version ##1##2{\HistVersion {##1}{##2}\itemize } + \let\endVersion =\enditemize +}{} +\providecommand*\HistVersion [2]{% + \subsection* {[#1 v#2]}% hash-ok + \addcontentsline {toc}{subsection}{\protect\numberline{v#2}[#1]}% hash-ok + {\protected@edef \@currentlabel {#1}\label {#2}}% +}% \HistVersion +\let\plainllap =\llap +\newdimen \maxlabelwidth +\newrobustcmd\macro@llap [1]{\begingroup \global\let\llap =\plainllap + \setbox0=\hbox{\setbox\strutbox =\hbox{\vrule height\ht\strutbox depth\z@ width\z@}% <height only> + #1}% + \toks@ ={\ifdim \maxlabelwidth>\z@ \setbox\@labels + =\llap{\hbox to\maxlabelwidth {\unhbox \@labels \hss}}\fi}% + \toks@ =\expandafter% + {\the\expandafter\toks@ \the\everypar \relax + \ifdim \dimexpr \maxlabelwidth-\Gm@lmargin+(\Gm@rmargin+5mm)>\z@ + \hangindent \dimexpr \maxlabelwidth-\Gm@lmargin+(\Gm@rmargin+5mm)\relax + \hangafter -\macro@cnt + \fi + \global\maxlabelwidth \z@ + \global\everypar \expandafter{\the\everypar \hangindent \z@ \hangafter \z@}}% + \ifdim \wd0>\maxlabelwidth \global\maxlabelwidth \wd0 \fi + \rlap{\unhbox0}\global\everypar \toks@ + \endgroup +}% \macro@llap +\AtEndOfClassFile* {ltxdoc}{\MacrocodeTopsep\z@skip \MacroTopsep\z@skip } +\AtBeginEnvironment {macro}{\if@nobreak\else \Needspace{2\baselineskip}\fi + \let\llap =\macro@llap \topsep\z@skip \itemsep\z@skip + \partopsep\z@skip \parsep\z@skip + \parskip=2pt plus2pt minus2pt\relax +} +\AtEndEnvironment{macro}{\goodbreak \vskip.3\parskip } +\providecommand*\getpackagebanner [1]{\ltx@ifpackageloaded{#1} + {\csname ver@#1.\ltx@pkgextension\endcsname} + {}% +}% \getpackagebanner +\providecommand*\getpackagedate [1]{\ltx@ifpackageloaded{#1} + {\expandafter \expandafter % <-note: only required if \pdfmatch undefined> + \expandafter\fcltx@ParseVersionAsDate + \csname ver@#1.\ltx@pkgextension\endcsname \@nil}% + 0% +}% \getpackagedate +\providecommand*\getpackageinfo [1]{\ltx@ifpackageloaded{#1} + {\expandafter \expandafter % <-note: only required if \pdfmatch undefined> + \expandafter\LTXcmds@@ParseInfo + \csname ver@#1.\ltx@pkgextension\endcsname \@nil}% + {}% +}% \getpackageinfo +\ltx@IfUndefined{pdfmatch}{% + \provide\def\LTXcmds@ParseInfo#1{% + \LTXcmds@@ParseInfo#10000/00/00\@nil + }% + \provide\def\LTXcmds@@ParseInfo#1/#2/#3#4#5\@nil{% + \if\space#5\else #5\fi + }% + \provide\def\fcltx@ParseVersionAsDate #1\@nil {% + \fcltx@@ParseVersionAsDate #10000/00/00\@nil + }% + \provide\def\fcltx@@ParseVersionAsDate#1#2#3#4/#5#6/#7#8#9\@nil {#1#2#3#4/#5#6/#7#8}% +}{% + \provide\def\LTXcmds@ParseInfo#1{% + \ifnum\pdfmatch{% + ^% + (199[4-9]|[2-9][0-9][0-9][0-9])/% + (0[1-9]|1[0-2])/% + (0[1-9]|[1-2][0-9]|3[0-1])[[:space:]]*(.*$)% + }{#1}=1 % + \ltx@StripPrefix\pdflastmatch4 % + \fi + }% + \provide\def\LTXcmds@@ParseInfo #1\@nil {\LTXcmds@ParseInfo {#1}}% + \provide\def\fcltx@ParseVersionAsDate #1\@nil { + \ifnum\pdfmatch{% + ^% + (199[4-9]|[2-9][0-9][0-9][0-9])/% + (0[1-9]|1[0-2])/% + (0[1-9]|[1-2][0-9]|3[0-1])% + }{#1}=1 % + \ltx@StripPrefix\pdflastmatch1 % + /\ltx@StripPrefix\pdflastmatch2 % + /\ltx@StripPrefix\pdflastmatch3 % + \else + 0000/00/00% + \fi} +} +\AtEndOfPackageFile*{fancyvrb}{% +\renewcommand*\FV@DefineCommandChars [3]{% + \edef\FV@restoreCommandChars{\catcode`\noexpand#1 =\the\catcode`#1 + \catcode`\noexpand#2 =\the\catcode`#2 + \catcode`\noexpand#3 =\the\catcode`#3\relax}% + \def \FV@CommandChars {\catcode `#1 =0 \catcode `#2 =1 \catcode `#3 =2\relax }% + \output =\expandafter{\expandafter\FV@restoreCommandChars \the\output }}% +\DefineVerbatimEnvironment{Verb*}{Verbatim}{commandchars=$()} +}% \AfterPackage +\AtEndOfClassFile* {ltxdoc}{%\message{Now DONOTINDEX !!!^^J}% +\DoNotIndex{% + \begin,\end,\makeatletter,\makeatother,\@makeother,\filename,\fileversion,\filedate,\frenchspacing,% + \CodelineIndex,\CodelineNumbered,\OnlyDescription,\RecordChanges,% + \DisableCrossrefs,\EnableCrossrefs,\GetFileInfo,% + \def,\gdef,\xdef,\let,\csname,\endcsname,\outer,% + \newcommand,\newrobustcmd,\providecommand,\providerobustcmd,% + \newif,\@testopt,\endinput,\expandafter,\else,\relax,% + \csdef,\csgdef,\csxdef,\cslet,\csletcs,\csundef,\csuse,% + \csappto,\csgappto,\csxappto,\cseappto,\cspreto,\csxpreto,\csepreto,\csgpreto,% + \preto,\appto,\epreto,\eappto,\xappto,\xpreto,\gpreto,\xpreto,% + \~,\\,\&,\;,\,,\:,\[,\],\{,\},\^,\ ,% + \@ifpackagelater,\@ifpackagewith,\@ifpackageloaded,% + \m@ne,\z@,\z@skip,\@ne,\p@,\tw@,\thr@@,\@M,\m,\@,\@@,\@elt,\do,\@let@token,\@undefined,% + \@tempa, + \@firstofone,\@firstoftwo,\@secondoftwo,% + \@eha,\@ehd,\on@line,% + \DocInput,\documentclass,\NeedsTeXFormat,\ProvidesClass,\ProvidesPackage,\ProvidesFile,% + \RequirePackage,\usepackage,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument,\ProcessOptions,% + \PackageWarningNoLine,\PackageInfoNoLine,% + \DefineShortVerb,\DeleteShortVerb,\UndefineShortVerb,\MakeShortVerb, + \title,\subtitle,\author,\date,\maketitle,\chapter,\section,\subsection,\subsubsection,% + \paragraph,\subparagraph,\parindent,\parskip,% + \TMP@EnsureCode,\nobibliography,\nocite,\bibitem,\item,% + \MessageBreak,\@spaces,% + \stform,\x,% +} +\CodelineIndex +\EnableCrossrefs +\IndexPrologue{% + \section*{Index}% + \markboth{Index}{Index}% + Numbers written in italic refer to the page % + where the corresponding entry is described; % + numbers underlined refer to the % + \ifcodeline@index + code line of the % + \fi + definition; plain numbers refer to the % + \ifcodeline@index + code lines % + \else + pages % + \fi + where the entry is used.% +} +}% \AtEndOfClassFile +\providerobustcmd*\ClearPage {\@ifstar \clearpage \relax } +\AtEndOfPackageFile*{ulem}{% +\renewcommand*\ULset[1][]{\UL@setULdepth + \def\UL@leadtype{#1\leaders \hrule \@height\dimen@ \@depth\ULdepth }% + \ifmmode \ULdepth-4\p@ \fi + \dimen@-\ULdepth \advance\dimen@\ULthickness \ULon} +} +\providerobustcmd*\HighLight [1][]{\begingroup \bgroup \aftergroup\endgroup + \ULdepth=\dp\strutbox + \edef\ULthickness{\the\dimexpr \ht\strutbox+\dp\strutbox }% + \UL@setULdepth + \ifcat$\detokenize{#1}$\let\fcltx@HL =\@gobble + \else \let\fcltx@HL =\color \fi + \def\UL@leadtype {\dimen@ii\dimen@\fcltx@HL{#1}\dimen@\dimen@ii + \leaders \hrule \@depth\ULdepth \@height\dimen@ }% + \dimen@-\ULdepth \advance\dimen@ \ULthickness + \ULon +}% \HighLight +\AtBeginDocument{% + \providerobustcmd*\textsubscript [1]{\@textsubscript {\selectfont #1}} + \providerobustcmd*\@textsubscript [1]{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}} +} +\AtBeginDocument{\provide\let\lsstyle =\relax + \errorcontextlines=10\relax + \provide\let\thisfile =\jobname + \provide\let\thisversion =\@empty + \provide\edef\thisdate {\getpackagedate\thisfile}% + \provide\let\thisversion =\@empty + \ifdefined\hypersetup + \ifdefvoid\@pdftitle + {\hypersetup {pdftitle=The \jobname\space package}} + {}% + \fi + \ifdefined\embedfile + \IfFileExists{\jobname.dtx}{\embedfile{\jobname.dtx}}{}\fi +}% \AtBeginDocument +\AtEndOfPackageFile*{doc}{\AfterEndPreamble {\DeleteShortVerb {\|}}} +\endinput +%% +%% End of file `fcltxdoc.sty'. |