diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-25 23:12:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-25 23:12:18 +0000 |
commit | d74b95d250c7632cb73e7420db04e2e38adc3827 (patch) | |
tree | fbc6763253fbb9d309da7b613857d782ee5feccb /Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty | |
parent | ec47c1b7880fd4f626f8aa8377e576e03d72c24f (diff) |
new latex package interfaces (25oct10)
git-svn-id: svn://tug.org/texlive/trunk@20206 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty b/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty new file mode 100644 index 00000000000..21662022f54 --- /dev/null +++ b/Master/texmf-dist/tex/latex/interfaces/interfaces-base.sty @@ -0,0 +1,246 @@ +%% +%% This is file `interfaces-base.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% interfaces.dtx (with options: `base') +%% +%% This is a generated file. +%% +%% interfaces : 2010/10/20 v1.0 - interfaces : interfaces with keys for other packages (FC) +%% +%% 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 interfaces.dtx +%% and the derived files +%% interfaces.sty, interfaces.pdf, interfaces.ins, +%% interfaces-base.sty, +%% interfaces-LaTeX.sty, +%% interfaces-tikz.sty, +%% interfaces-titlesec.sty, +%% interfaces-hyperref.sty, +%% interfaces-bookmark.sty, +%% interfaces-hypbmsec.sty,interfaces-hypbmsec.code.tex, +%% interfaces-fancyhdr.sty, +%% interfaces-marks.sty, +%% interfaces-tocloft.sty, +%% interfaces-makecell.sty, +%% interfaces-enumitem.sty, +%% interfaces-truncate.sty, +%% interfaces-appendix.sty, +%% interfaces-embedfile.sty, +%% interfaces-environ.sty, +%% interfaces-umrand.sty, +%% interfaces-scrlfile.sty, +%% interfaces-pgfkeys.sty, +%% interfaces-etoolbox.sty, +%% interfaces-fancyvrb.sty +%% +%% interfaces: interfaces with keys for other packages (FC) +%% Copyright (C) 2010 by Florent Chervet <florent.chervet@free.fr> +%% +\ProvidesPackage{interfaces-base} + [2010/10/10 v1.0 Basic macros for interfaces package (FC)] +\RequirePackage{etex,ltxcmds,etoolbox,pgfkeys,scrlfile} +\AtEndOfPackage{% + \RequirePackage{interfaces-etoolbox}% + \RequirePackage{interfaces-scrlfile}% + \RequirePackage{interfaces-pgfkeys} + \RequirePackage{interfaces-tikz}% + \RequirePackage{interfaces-umrand}% There is a \BeforePackage here ! +}% AtEndOfPackage +\newrobustcmd*\LoadInterface[1]{% + \@for\itf@tp:=#1\do{% + \expandafter\ifx\csname\ifcsname\itf@tp\endcsname + \itf@tp\else relax\fi\endcsname\marks + \RequirePackage{interfaces-marks}% + \else\expandafter\ifx\csname\ifcsname\itf@tp\endcsname + \itf@tp\else relax\fi\endcsname\LaTeX + \RequirePackage{interfaces-LaTeX}% + \else + \expandafter\itf@LoadInterface\expandafter{\itf@tp}% + \fi\fi}% +}% \LoadInterface +\@onlypreamble\LoadInterface +\newrobustcmd*\itf@LoadInterface[1]{\ltx@ifpackageloaded{interfaces-#1} + {} + {\AfterPackage*{#1}{\RequirePackage{interfaces-#1}}}% +}% \itf@LoadInterface +\newrobustcmd*\itf@Check@Package[1]{\ltx@ifpackageloaded{#1} + {} + {\PackageError{interfaces-#1} + {The package `#1` must be loaded before `interfaces-#1` + \MessageBreak Please refer to `interfaces.pdf` document + \MessageBreak for correct usage of the `interfaces` package}\@ehd + }% +}% \itf@Check@Package +\newrobustcmd*\itf@AfterPackage[1]{% + \csname\ltx@ifpackageloaded{#1}{ltx@secondoftwo}{@AfterPackage}\endcsname{#1}% +}% \itf@AfterPackage +\AfterPackage*{colortbl}{% + \renewcommand*\endarray{% + \crcr \egroup \egroup \@arrayright \gdef\@preamble{}\CT@end}% +}% AfterPackage colortbl +\AfterPackage*{arydshln}{% + \ltx@ifpackageloaded{colortbl} + {% colortbl + \def\endarray{% + \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %<original> + \@arrayright % <FC> + \gdef\@preamble{}% <FC> + }% + } + {% no colortbl + \def\endarray{% + \adl@endarray \egroup \adl@arrayrestore \egroup %<original> + \@arrayright % <FC> + \gdef\@preamble{}% <FC> + }% + }% +}% AfterPackage arydshln +\AfterPackage{colortbl}{% + {\ltx@ifpackageloaded{arydshln} + {\PackageWarning{interfaces-base} + {The package arydshln should be loaded after colortbl + \MessageBreak because both redefine \string\@classz}}% + {}}% +}% AfterPackage colortbl +\newrobustcmd*\itf@preapptocmd[5]{% + \pretocmd#1{#2}% + {\apptocmd#1{#3}% + {#4}% + {#5}}% + {#5}% +}% \itf@preapptocmd +\def\itf@patch{\futurelet\itf@tp\itf@patch@} +\def\itf@patch@{\csname itf@patch@% + \ifx\itf@tp\patchcmd inside\else + \ifx\itf@tp\itf@preapptocmd inside\else + boundary\fi\fi + \endcsname +}% \itf@patch@ +\def\itf@patch@boundary#1#2#3#4#5{% + \let\itf@tp#2% + #1\itf@tp{#3}% + {\let#2\itf@tp + \AtBeginDocument{#4}% in order to keep this info even after \dump + } + {#5}% +}% \itf@patch@boundary (for \pretocmd and \apptocmd) +\def\itf@patch@inside#1#2#3#4#5#6{% + \let\itf@tp#2% + #1\itf@tp{#3}{#4}% + {\let#2\itf@tp + \AtBeginDocument{#5}% + } + {#6}% +}% \itf@patch@inside (for \patchcmd) +\newskip\itf@sk +\newmuskip\itf@musk +\newtoks\itf@tk +\newcount\itf@cnt +%% H E L P E R M A C R O S +\begingroup\makeatother + \csgdef{itf@strip@at}#1@{} +\endgroup +\def\itf@strip@dot#1.#2\@nil{#1} +\def\itf@expandonceifcs#1{\expandafter\itf@exp@ndonceifcs\expandafter#1#1Q\@nnil} +\def\itf@exp@ndonceifcs#1#2#3\@nnil{% + \def\itf@tp{#2}% + \ifx\itf@tp#1% + \ifcat\relax\noexpand#2% + \expandafter\expandafter\expandafter\remove@to@nnil + \expandafter\ifx\expandafter#2#2\@nnil\else\@nnil\let#1#2\fi + \fi\fi +}% \itf@exp@ndonceifcs +%% G E T A N U M B E R (if possible) +%% USAGE: \itf@number\count<text>\relax\@nnil (like \@defaultunits) +\def\itf@number#1#2\relax\@nnil{% \relax is to mimick the syntax of \@defaultunits + \afterassignment\itf@number@#1\number0#2\relax\itf@number@ +} +\def\itf@number@#1\relax#2\itf@number@{% + \ifblank{#1} + {\itf@number@@{}#2\itf@number@@\@nnil + \csname ltx@\ifx\@let@token\itf@number@@ + first\else second\fi oftwo\endcsname} + \ltx@secondoftwo +}% \itf@number@ +\def\itf@number@@#1{\futurelet\@let@token\itf@number@@@} +\def\itf@number@@@{% + \csname \ifx\@let@token\relax itf@number@@% + \else remove@to@nnil% + \fi \endcsname +}% \itf@number@@@ +%% U N I T S F O R D I M E N S +\def\itf@strip@mu{\expandafter\itf@rem@mu\the} +\begingroup \@makeother\M\@makeother\U + \lowercase{% + \gdef\itf@rem@mu#1.#2MU{#1\ifnum#2>\z@.#2\fi}% + }% +\endgroup +%% \skip = \itf@units@mutopt \muskip +\def\itf@units@pttomu#1{\gluetomu\glueexpr + \glueexpr#1\relax*1800/% + \expandafter\itf@strip@dot\the\dimexpr + \fontdimen6\textfont2*100\relax.\@nil + \relax +}% \itf@units@pttomu +\def\itf@units@mutopt#1{\glueexpr + \mutoglue\muexpr#1\relax* + \expandafter\itf@strip@dot\the\dimexpr + \fontdimen6\textfont2*100\relax.\@nil/1800 + \relax +}% \itf@units@mutopt +%% \muskip = \itf@units@mu{ \skip or \muskip or number} +\def\itf@units@mu#1#2{\begingroup\@makeother\P + \@makeother\T\@makeother\S\@makeother\B\@makeother\C + \@makeother\M\@makeother\D\@makeother\I\@makeother\N + \edef\itf@tp{#2}% + \lowercase{\@tfor\x:={PT}{PC}{IN}{BP}{CM}{MM}{DD}{CC}{SP}\do}{% + \@expandtwoargs\in@\x\itf@tp\ifin@\expandafter\@break@tfor\fi + }% + \expandafter\endgroup + \ifin@ + #1=\itf@units@pttomu{#2}% + \else + \@defaultunits#1 #2mu\relax\@nnil + \fi +}% \itf@units@mu +%% \skip = \itf@units@pt( \muskip or \skip or number ) +\def\itf@units@pt#1#2{\begingroup\@makeother\M\@makeother\U + \lowercase{\@expandtwoargs\in@{MU}}{#2}% + \expandafter\endgroup + \ifin@ + #1=\itf@units@mutopt{#2}% + \else + \@defaultunits#1 #2pt\relax\@nnil + \fi +}% \itf@units@pt +%% glue * 1.5 = glue * 98302 / 65536 +%% glue * 3/2 = glue * 3/2 +\def\itf@units@scale#1!{\itf@units@scale@normalize#1/\@nnil/\@nil} +\def\itf@units@scale@normalize#1/#2/#3\@nil{% + \ifx#2\@nnil + \number\dimexpr#1pt\relax/65536 + \else#1/#2 + \fi +}% \itf@units@normalize +\AtBeginDocument{% + \ltx@ifpackageloaded{xcolor} + {\@ifundefinedcolor{default} + {\colorlet{default}{.}} + {}}% + {\ltx@ifpackageloaded{color} + {\@ifundefined{\string\color @default} + {\expandafter\def\csname\string\color @default\endcsname{\default@color}} + {}}% + {}}% +} +\endinput +%% +%% End of file `interfaces-base.sty'. |