diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/hycolor.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/oberdiek/hycolor.dtx | 1624 |
1 files changed, 0 insertions, 1624 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx b/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx deleted file mode 100644 index d55a7091537..00000000000 --- a/Master/texmf-dist/source/latex/oberdiek/hycolor.dtx +++ /dev/null @@ -1,1624 +0,0 @@ -% \iffalse meta-comment -% -% File: hycolor.dtx -% Version: 2016/05/16 v1.8 -% Info: Color options for hyperref/bookmark -% -% Copyright (C) -% 2007-2011 Heiko Oberdiek -% 2016-2019 Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License, either -% version 1.3c of this license or (at your option) any later -% version. This version of this license is in -% https://www.latex-project.org/lppl/lppl-1-3c.txt -% and the latest version of this license is in -% https://www.latex-project.org/lppl.txt -% and version 1.3 or later is part of all distributions of -% LaTeX version 2005/12/01 or later. -% -% This work has the LPPL maintenance status "maintained". -% -% The Current Maintainers of this work are -% Heiko Oberdiek and the Oberdiek Package Support Group -% https://github.com/ho-tex/oberdiek/issues -% -% This work consists of the main source file hycolor.dtx -% and the derived files -% hycolor.sty, hycolor.pdf, hycolor.ins, hycolor.drv, -% xcolor-patch.sty, hycolor-test1.tex, hycolor-test2.tex, -% hycolor-test3.tex, hycolor-test-xcol1.tex, -% hycolor-test-xcol2.tex, hycolor-test-xcol3.tex, -% hycolor-test-xcol4.tex. -% -% Distribution: -% CTAN:macros/latex/contrib/oberdiek/hycolor.dtx -% CTAN:macros/latex/contrib/oberdiek/hycolor.pdf -% -% Unpacking: -% (a) If hycolor.ins is present: -% tex hycolor.ins -% (b) Without hycolor.ins: -% tex hycolor.dtx -% (c) If you insist on using LaTeX -% latex \let\install=y\input{hycolor.dtx} -% (quote the arguments according to the demands of your shell) -% -% Documentation: -% (a) If hycolor.drv is present: -% latex hycolor.drv -% (b) Without hycolor.drv: -% latex hycolor.dtx; ... -% The class ltxdoc loads the configuration file ltxdoc.cfg -% if available. Here you can specify further options, e.g. -% use A4 as paper format: -% \PassOptionsToClass{a4paper}{article} -% -% Programm calls to get the documentation (example): -% pdflatex hycolor.dtx -% makeindex -s gind.ist hycolor.idx -% pdflatex hycolor.dtx -% makeindex -s gind.ist hycolor.idx -% pdflatex hycolor.dtx -% -% Installation: -% TDS:tex/latex/oberdiek/hycolor.sty -% TDS:tex/latex/oberdiek/xcolor-patch.sty -% TDS:doc/latex/oberdiek/hycolor.pdf -% TDS:source/latex/oberdiek/hycolor.dtx -% -%<*ignore> -\begingroup - \catcode123=1 % - \catcode125=2 % - \def\x{LaTeX2e}% -\expandafter\endgroup -\ifcase 0\ifx\install y1\fi\expandafter - \ifx\csname processbatchFile\endcsname\relax\else1\fi - \ifx\fmtname\x\else 1\fi\relax -\else\csname fi\endcsname -%</ignore> -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse - -\let\MetaPrefix\relax -\preamble - -This is a generated file. - -Project: hycolor -Version: 2016/05/16 v1.8 - -Copyright (C) - 2007-2011 Heiko Oberdiek - 2016-2019 Oberdiek Package Support Group - -This work may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either -version 1.3c of this license or (at your option) any later -version. This version of this license is in - https://www.latex-project.org/lppl/lppl-1-3c.txt -and the latest version of this license is in - https://www.latex-project.org/lppl.txt -and version 1.3 or later is part of all distributions of -LaTeX version 2005/12/01 or later. - -This work has the LPPL maintenance status "maintained". - -The Current Maintainers of this work are -Heiko Oberdiek and the Oberdiek Package Support Group -https://github.com/ho-tex/oberdiek/issues - - -This work consists of the main source file hycolor.dtx -and the derived files - hycolor.sty, hycolor.pdf, hycolor.ins, hycolor.drv, - xcolor-patch.sty, hycolor-test1.tex, hycolor-test2.tex, - hycolor-test3.tex, hycolor-test-xcol1.tex, - hycolor-test-xcol2.tex, hycolor-test-xcol3.tex, - hycolor-test-xcol4.tex. - -\endpreamble -\let\MetaPrefix\DoubleperCent - -\generate{% - \file{hycolor.ins}{\from{hycolor.dtx}{install}}% - \file{hycolor.drv}{\from{hycolor.dtx}{driver}}% - \usedir{tex/latex/oberdiek}% - \file{hycolor.sty}{\from{hycolor.dtx}{package}}% - \file{xcolor-patch.sty}{\from{hycolor.dtx}{xcolor}}% -% \usedir{doc/latex/oberdiek/test}% -% \file{hycolor-test1.tex}{\from{hycolor.dtx}{test,test1}}% -% \file{hycolor-test2.tex}{\from{hycolor.dtx}{test,test2}}% -% \file{hycolor-test3.tex}{\from{hycolor.dtx}{test,test3}}% -% \file{hycolor-test-xcol1.tex}{\from{hycolor.dtx}{test-xcolor,xcol1}}% -% \file{hycolor-test-xcol2.tex}{\from{hycolor.dtx}{test-xcolor,xcol2}}% -% \file{hycolor-test-xcol3.tex}{\from{hycolor.dtx}{test-xcolor,xcol3}}% -% \file{hycolor-test-xcol4.tex}{\from{hycolor.dtx}{test-xcolor-fbox}}% -} - -\catcode32=13\relax% active space -\let =\space% -\Msg{************************************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* files into a directory searched by TeX:} -\Msg{*} -\Msg{* hycolor.sty, xcolor-patch.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `hycolor.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} - -\endbatchfile -%</install> -%<*ignore> -\fi -%</ignore> -%<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{hycolor.drv}% - [2016/05/16 v1.8 Color options for hyperref/bookmark (HO)]% -\documentclass{ltxdoc} -\usepackage{holtxdoc}[2011/11/22] -\usepackage[ruled]{algorithm2e} - -\makeatletter -\newcommand*{\makedefaultH}[1]{% - \expandafter\edef\csname #1\endcsname{% - \noexpand\@protected@testopt - \expandafter\noexpand\csname#1\endcsname - \expandafter\noexpand\csname - \expandafter\string\csname#1\endcsname\endcsname - {H}% - }% -} -\makeatother -\makedefaultH{algorithm} -\makedefaultH{procedure} -\makedefaultH{function} - -\SetKwInput{KwParam}{Param} -\newcommand*{\Param}[2]{% - \KwParam{\ArgSty{#1} (#2)}% -} -\newcommand*{\Dat}[1]{% - \texttt{\upshape#1}% -} -\newcommand*{\Var}[1]{% - \ArgSty{#1}% -} -\newcommand*{\Gets}{% - \ensuremath{\leftarrow}% - \ % -} - -\makeatletter -\newcommand*{\bs}{\texttt{\@backslashchar}} -\makeatother -\begin{document} - \DocInput{hycolor.dtx}% -\end{document} -%</driver> -% \fi -% -% -% -% \GetFileInfo{hycolor.drv} -% -% \title{The \xpackage{hycolor} package} -% \date{2016/05/16 v1.8} -% \author{Heiko Oberdiek\thanks -% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}} -% -% \maketitle -% -% \begin{abstract} -% Package \xpackage{hycolor} implements the color option stuff that -% is used by packages \xpackage{hyperref} and \xpackage{bookmark}. -% It is not intended as package for the user. -% \end{abstract} -% -% \tableofcontents -% -% \section{Documentation} -% -% The package \xpackage{hycolor} implements color options -% for packages \xpackage{hyperref} and \xpackage{bookmark}. -% -% Package \xpackage{xcolor} provides macros for extracting -% color values and converting color data to other color models. -% If this package is loaded, the full range of color specifications -% of packages \xpackage{color} and \xpackage{xcolor} are supported -% including the optional argument for the color model. -% \begin{quote} -% |\hypersetup{linkbordercolor=red}%| needs \xpackage{xcolor}\\ -% |\hypersetup{linkbordercolor=[named]{red}}%| needs \xpackage{xcolor}\\ -% |\hypersetup{linkbordercolor=[rgb]{1,0,0}}|\\ -% \end{quote} -% -% Without package \xpackage{xcolor} some of the options only -% support some models, if they are given directly, e.g.: -% \begin{quote} -% |\bookmarksetup{color=[rgb]{1,0,0}}| -% \end{quote} -% -% Because of compatibility some options of \xpackage{hyperref} -% also support space separated RGB values: -% \begin{quote} -% |\hypersetup{linkbordercolor=1 0 0}%| is the same as\\ -% |\hypersetup{linkbordercolor=[rgb]{1,0,0}}| -% \end{quote} -% -% Coloring is optional, it can be turned off by using an empty -% value: -% \begin{quote} -% |\hypersetup{linkbordercolor={}}| -% \end{quote} -% -% The PDF specification knows some kind of an emtpy color setting -% without values. This applies to form field colors. The new -% A virtual color model \texttt{empty} is introduced for this -% purpose, e.g. -% \begin{quote} -% |\TextField[backgroundcolor={[empty]{}}, ...]{...}%| or\\ -% |\TextField[{backgroundcolor=[empty]{}, ...}]{...}| -% \end{quote} -% PDF specification 1.7 also allows this for border link colors. -% But this isn't currently supported by this package, because -% the tested viewers (AR7/Linux, xpdf 3.00, ghostscript 8.54) -% don't support this yet. In contrary ghostscript generates an -% error message. -% -% \subsection{Summary} -% -% \begin{quote} -% \begin{tabular}{@{}llll@{}} -% Color option & Models without \xpackage{xcolor} -% & RGB color & Model empty\\ -% \hline -% |BKM.color| & |gray|, |rgb| & no & no\\ -% |Hyp.*color| & all & no & no\\ -% |Hyp.*bordercolor| & |gray|, |rgb| & yes & no\\ -% |Field.*color| & |gray|, |rgb|, |cmyk| & yes & yes\\ -% |AtFi.color| & |gray|, |rgb| & yes & no\\ -% \end{tabular} -% \end{quote} -% ``RGB color'' means that the color value can be given as -% space separated RGB numbers (real numbers in the range -% from 0 to 1). -% Explanation of the color option prefixes: -% \begin{quote} -% \begin{tabular}{@{}ll@{}} -% Prefix & Explanation\\ -% \hline -% |BKM| & Package \xpackage{bookmark}\\ -% |Hyp| & Package \xpackage{hyperref}: -% package options or |\hypersetup|\\ -% |Field| & Package \xpackage{hyperref}: -% Form field options\\ -% |AtFi| & Package \xpackage{attachfile2}: option \xoption{color}\\ -% \end{tabular} -% \end{quote} -% -% \StopEventually{ -% } -% -% \section{Implementation} -% -% \begin{macrocode} -%<*package> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{hycolor}% - [2016/05/16 v1.8 Color options for hyperref/bookmark (HO)]% -% \end{macrocode} -% -% \begin{macrocode} -\RequirePackage{xcolor-patch}[2016/05/16] -% \end{macrocode} -% -% \subsection{Normalization} -% -% \subsubsection{Sanitize value of color option} -% -% \begin{procedure} -% \Param{cmd}{macro} -% \Param{value}{value of color option} -% \BlankLine -% \KwResult{\ArgSty{value} is expanded, sanitized, and -% stored in macro \ArgSty{cmd}.} -% \caption{DefSanitized(cmd, value)} -% \BlankLine -% Initialize active characters\; -% \ArgSty{cmd} := Expand \ArgSty{value}\; -% Sanitize \ArgSty{cmd}\; -% \end{procedure} -% \emph{Sanitization} means that the string does not contain any -% macros or special tokens. It consists of characters with -% catcode 12 (other). The only exception is the space with -% catcode 10 (space). -% \begin{macro}{\HyColor@DefSanitized} -% \begin{macrocode} -\begingroup - \catcode`\!=13 % - \catcode`\:=13 % - \catcode`\-=13 % - \catcode`\+=13 % - \catcode`\;=13 % - \catcode`\"=13 % - \catcode`\>=13 % - \edef\x{% - \def\noexpand!{\string!}% - \def\noexpand:{\string:}% - \def\noexpand-{\string-}% - \def\noexpand+{\string+}% - \def\noexpand;{\string;}% - \def\noexpand"{\string"}% - \def\noexpand>{\string>}% - }% - \def\y#1{\endgroup - \def\HyColor@DefSanitized##1##2{% - \begingroup - \csname @safe@activestrue\endcsname - #1% - \edef\x{\endgroup - \def\noexpand##1{##2}% - }% - \x - \@onelevel@sanitize##1% - }% - }% -\expandafter\y\expandafter{\x} -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Normalize result} -% -% \begin{procedure} -% \Param{value}{Sanitized explicit number} -% \Param{cmd}{Macro that stores result} -% \BlankLine -% \KwResult{\ArgSty{cmd} contains normalized number} -% \caption{NormalizeNum(value, cmd)} -% \BlankLine -% \uIf{\Var{value}\,\Dat{pt} $<$ \Dat{0pt}}{ -% \ArgSty{cmd} \Gets \Dat{0}\; -% } -% \uElseIf{number before dot of \Var{value} $<$ \Dat{1}}{ -% \Var{cmd} \Gets number after dot of \Var{value}\; -% \Var{cmd} \Gets strip trailing zeros from \Var{cmd}\; -% \If{dot remains only}{ -% \Var{cmd} \Gets \Dat{0}\; -% } -% } -% \Else{ -% \Var{cmd} \Gets \Dat{1}\; -% } -% \end{procedure} -% The number is limited to the range between 0.0 and 1.0 and -% formatted as short PDF number without leading or trailing zeros. -% The precision of the number isn't changed. -% \begin{macro}{\HyColor@NormalizeNum} -% \begin{macrocode} -\def\HyColor@NormalizeNum#1#2{% - \ifdim#1pt<\z@ - \def#2{0}% - \else - \edef#2{\zap@space#1 \@empty}% - \expandafter\HyColor@CheckDot#2..\@nil#2% - \fi -} -\def\HyColor@CheckDot#1.#2.#3\@nil#4{% - \ifnum0#1<\@ne - \ifx\\#2\\% - \def#4{0}% - \else - \edef#4{\HyColor@ReverseString#2\@nil{}}% - \edef#4{\expandafter\HyColor@StripLeadingZeros#4\@empty}% - \ifx#4\@empty - \def#4{0}% - \else - \edef#4{.\expandafter\HyColor@ReverseString#4\@nil{}}% - \fi - \fi - \else - \def#4{1}% - \fi -} -\def\HyColor@ReverseString#1#2\@nil#3{% - \ifx\\#2\\% - #1#3% - \else - \@ReturnAfterFi{% - \HyColor@ReverseString#2\@nil{#1#3}% - }% - \fi -} -\long\def\@ReturnAfterFi#1\fi{\fi#1} -\def\HyColor@StripLeadingZeros#1{% - \ifx#10% - \expandafter\HyColor@StripLeadingZeros - \else - #1% - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@NormalizeCommaRGB} -% \begin{macrocode} -\def\HyColor@NormalizeCommaRGB#1,#2,#3\@nil#4{% - \HyColor@NormalizeNum{#1}\HyColor@temp - \let#4\HyColor@temp - \HyColor@NormalizeNum{#2}\HyColor@temp - \edef#4{#4 \HyColor@temp}% - \HyColor@NormalizeNum{#3}\HyColor@temp - \edef#4{#4 \HyColor@temp}% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@NormalizeCommaCMYK} -% \begin{macrocode} -\def\HyColor@NormalizeCommaCMYK#1,#2,#3,#4\@nil#5{% - \HyColor@NormalizeNum{#1}\HyColor@temp - \let#5\HyColor@temp - \HyColor@NormalizeNum{#2}\HyColor@temp - \edef#5{#5 \HyColor@temp}% - \HyColor@NormalizeNum{#3}\HyColor@temp - \edef#5{#5 \HyColor@temp}% - \HyColor@NormalizeNum{#4}\HyColor@temp - \edef#5{#5 \HyColor@temp}% -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Main algorithm for color options} -% -% \begin{procedure} -% \Param{key}{name of color option} -% \Param{value}{value of color option} -% \Param{cmd}{macro that stores result} -% \BlankLine -% \KwResult{Macro \ArgSty{cmd} contains the calculated -% color specification string or has the meaning of \cs{relax} -% if the color must not set} -% \caption{MainColorOptionAlgorithm(key, value, cmd)} -% \BlankLine -% DefSanitized(\ArgSty{temp}, \ArgSty{value})\; -% Call option specific algorithm(\ArgSty{key}, \ArgSty{temp}, \ArgSty{cmd})\; -% \end{procedure} -% -% \subsection{Package \xpackage{bookmark}} -% -% Since v0.8 2007/03/27 package \xpackage{bookmark} only provides -% one color option \xoption{color}. Because option \xoption{rgbcolor} -% can easily given as color specification in model rgb: -% \begin{quote} -% |rgbcolor=|\meta{r} \meta{g} \meta{b} $\equiv$ -% |color=[rgb]{|\meta{r}|,|\meta{g}|,|\meta{b}|}| -% \end{quote} -% Package \xpackage{bookmark} stores the result in macro \cs{BKM@color}. -% The empty string is interpreted as \emph{no color}. -% -% \begin{procedure} -% \Param{value}{value of option \xoption{color}} -% \Param{cmd}{macro for result} -% \Param{package}{package name for error message} -% \Param{option}{option name for error message} -% \caption{BookmarkColor(value, cmd, package, option)} -% \BlankLine -% \Switch{\Var{value}}{ -% \Case{empty}{ -% \Var{cmd} \Gets no color\; -% } -% \Case{with model}{ -% \eIf{with xcolor}{ -% \Var{cmd} \Gets ConvertToRGB(\Var{model}, \Var{values})\; -% }{ -% \uIf{model $=$ rgb}{ -% \Var{cmd} \Gets \Var{values} as normalized values\; -% } -% \uElseIf{model $=$ gray}{ -% \Var{cmd} \Gets \Var{values} as normalized tripled values\; -% } -% \Else{ -% error\; -% } -% } -% } -% \Other{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values} \Gets get model and values\; -% \Var{cmd} \Gets ConvertToRGB(\Var{model}, \Var{values})\; -% }{ -% error\; -% } -% } -% } -% \end{procedure} -% -% \begin{macrocode} -\def\HyColor@BookmarkColor#1#2#3#4{% - \HyColor@IfModel{#1}{% - \HyColor@IfXcolor{% - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - }{% - \ifx\HyColor@model\HyColor@model@rgb - \expandafter\HyColor@NormalizeCommaRGB\HyColor@values\@nil#2% - \else - \ifx\HyColor@model\HyColor@model@gray - \expandafter\HyColor@NormalizeNum - \expandafter{\HyColor@values}#2% - \edef#2{#2 #2 #2}% - \else - \let#2\@empty - \HyColor@ErrorModelNoXcolor{#3}{#4}% - \fi - \fi - }% - }{% - \let#2\HyColor@values - \ifx#2\@empty - \else - \HyColor@IfXcolor{% - \extractcolorspec{#1}#2% - \expandafter\convertcolorspec#2\HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - }{% - \let#2\@empty - \HyColor@ErrorSpecNoXcolor{#3}{#4}% - }% - \fi - }% -} -% \end{macrocode} -% \begin{macrocode} -\def\HyColor@ErrorModelNoXcolor#1#2{% - \PackageError{#1}{% - Color model `\HyColor@model' is not supported\MessageBreak - without package `xcolor' in\MessageBreak - `#2=[\HyColor@model]{\HyColor@values}'% - }\@ehc -} -% \end{macrocode} -% \begin{macrocode} -\def\HyColor@ErrorSpecNoXcolor#1#2{% - \PackageError{#1}{% - This color specification is not supported\MessageBreak - without package `xcolor' in\MessageBreak - `#2=\HyColor@values'% - }\@ehc -} -% \end{macrocode} -% -% \begin{macrocode} -\def\HyColor@IfModel#1{% - \@ifnextchar[{% - \HyColor@WithModel - }{% - \HyColor@WithoutModel - }% - #1\@nil -} -\def\HyColor@WithModel[#1]#2\@nil{% - \HyColor@DefSanitized\HyColor@model{#1}% - \HyColor@DefSanitized\HyColor@values{#2}% - \@firstoftwo -} -\def\HyColor@WithoutModel#1\@nil{% - \let\HyColor@model\relax - \HyColor@DefSanitized\HyColor@values{#1}% - \@secondoftwo -} -% \end{macrocode} -% -% \subsection{Utils} -% -% \begin{macro}{\@ReturnAfterFi} -% \begin{macrocode} -\long\def\@ReturnAfterFi#1\fi{\fi#1} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@IfXcolor} -% \begin{macrocode} -\def\HyColor@IfXcolor{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname convertcolorspec\endcsname\relax - \expandafter\@secondoftwo - \else - \expandafter\@firstoftwo - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -\def\HyColor@model@empty{empty} -\@onelevel@sanitize\HyColor@model@empty -\def\HyColor@model@gray{gray} -\@onelevel@sanitize\HyColor@model@gray -\def\HyColor@model@rgb{rgb} -\@onelevel@sanitize\HyColor@model@rgb -\def\HyColor@model@cmyk{cmyk} -\@onelevel@sanitize\HyColor@model@cmyk -\def\HyColor@model@Gray{Gray} -\@onelevel@sanitize\HyColor@model@Gray -% \end{macrocode} -% -% \subsection{Package \xpackage{hyperref}} -% -% \subsubsection{Options \xoption{Hyp.*color}} -% -% \begin{macrocode} -\def\HyColor@UseColor#1{% - \ifx#1\relax - \else - \ifx#1\@empty - \else - \expandafter\HyColor@@UseColor#1\@nil - \fi - \fi -} -\def\HyColor@@UseColor{% - \@ifnextchar[\HyColor@@@UseColor\HyColor@@@@UseColor -} -\def\HyColor@@@UseColor[#1]#2\@nil{% - \color[{#1}]{#2}% -} -\def\HyColor@@@@UseColor#1\@nil{% - \color{#1}% -} -% \end{macrocode} -% -% \begin{procedure} -% \Param{value}{value of the option} -% \Param{cmd}{macro for result} -% \caption{HyperrefColor(value, cmd)} -% \BlankLine -% \Switch{\Var{value}}{ -% \Case{empty}{ -% \Var{cmd} \Gets no color\; -% } -% \Case{with model}{ -% Call \cs{color} with model\; -% } -% \Case{without model}{ -% Call \cs{color} without model\; -% } -% } -% \end{procedure} -% -% \begin{macrocode} -\def\HyColor@HyperrefColor#1#2{% - \HyColor@IfModel{#1}{% - \edef#2{[{\HyColor@model}]{\HyColor@values}}% - }{% - \let#2\HyColor@values - \ifx#2\@empty - \let#2\relax - \fi - }% -} -% \end{macrocode} -% -% \subsubsection{Generic algorithm} -% -% \begin{procedure} -% \small -% \Param{value}{value of the option} -% \Param{cmd}{macro for result} -% \Param{package}{package name for error message} -% \Param{option}{option name for error message} -% \caption{Algorithm X0134(value, cmd, package, option)} -% \BlankLine -% \Switch{\Var{value}}{ -% \Case{empty}{ -% \Var{cmd} \Gets no color\; -% } -% \Case{with model}{ -% \Switch{\Var{model}}{ -% \Case{empty}{ -% \Var{cmd} \Gets ""\; -% } -% \Case{gray, rgb, cmyk}{ -% \Var{cmd} \Gets \Var{output}()\; -% } -% \Case{Gray}{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values}) \Gets convert to gray\; -% }{ -% error(\Var{package}, \Var{option}, "Missing xcolor"), -% \Var{cmd} \Gets no color\; -% } -% } -% \Else{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values}) \Gets convert to rgb\; -% \Var{cmd} \Gets \Var{output}()\; -% }{ -% error(\Var{package}, \Var{option}, "Missing xcolor"), -% \Var{cmd} \Gets no color\; -% } -% } -% } -% } -% \Case{rgb values}{ -% (\Var{model}, \Var{values}) \Gets ("rgb", (r,g,b))\; -% \Var{cmd} \Gets \Var{output}()\; -% } -% \Case{without model}{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values}) \Gets -% get model and values(\Var{value})\; -% \Switch{\Var{model}}{ -% \Case{gray, rgb, cmyk}{ -% \Var{cmd} \Gets \Var{output}()\; -% } -% \Case{Gray}{ -% (\Var{model}, \Var{values}) \Gets convert to gray\; -% \Var{cmd} \Gets \Var{output}()\; -% } -% \Else{ -% (\Var{model}, \Var{values}) \Gets convert to rgb\; -% \Var{cmd} \Gets \Var{output}()\; -% } -% } -% }{ -% error(\Var{package}, \Var{option}, "Missing xcolor"), -% \Var{cmd} \Gets no color\; -% } -% } -% } -% \end{procedure} -% -% \begin{macro}{\HyColor@XZeroOneThreeFour} -% \begin{macrocode} -\def\HyColor@XZeroOneThreeFour#1#2#3#4{% - \HyColor@IfModel{#1}{% - \ifx\HyColor@model\HyColor@model@empty - \let#2\@empty - \else\ifx\HyColor@model\HyColor@model@gray - \expandafter\HyColor@NormalizeNum - \expandafter{\HyColor@values}#2% - \else\ifx\HyColor@model\HyColor@model@rgb - \expandafter\HyColor@NormalizeCommaRGB\HyColor@values\@nil#2% - \else\ifx\HyColor@model\HyColor@model@cmyk - \expandafter\HyColor@NormalizeCommaCMYK\HyColor@values\@nil#2% - \else\ifx\HyColor@model\HyColor@model@Gray - \HyColor@IfXcolor{% - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@gray#2% - \expandafter\HyColor@NormalizeNum\expandafter{#2}#2% - \let\HyColor@model\HyColor@model@gray - }{% - \let#2\relax - \HyColor@ErrorModelNoXcolor{#3}{#4}% - }% - \else - \HyColor@IfXcolor{% - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - \let\HyColor@model\HyColor@model@rgb - }{% - \let#2\relax - \HyColor@ErrorModelNoXcolor{#3}{#4}% - }% - \fi\fi\fi\fi\fi - }{% - \let#2\HyColor@values - \ifx#2\@empty - \let#2\relax - \else - \expandafter\HyColor@IfRGB\expandafter{\HyColor@values}{% - \expandafter\HyColor@NormalizeCommaRGB\HyColor@values\@nil#2% - }{% - \HyColor@IfXcolor{% - \expandafter\extractcolorspec\expandafter{\HyColor@values}#2% - \edef\HyColor@model{\expandafter\@firstoftwo#2}% - \edef\HyColor@values{\expandafter\@secondoftwo#2}% - \ifx\HyColor@model\HyColor@model@gray - \expandafter\HyColor@NormalizeNum\expandafter - {\HyColor@values}#2% - \else\ifx\HyColor@model\HyColor@model@rgb - \expandafter\HyColor@NormalizeCommaRGB - \HyColor@values\@nil#2% - \else\ifx\HyColor@model\HyColor@model@cmyk - \expandafter\HyColor@NormalizeCommaCMYK - \HyColor@values\@nil#2% - \else\ifx\HyColor@model\HyColor@model@Gray - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@gray#2% - \expandafter\HyColor@NormalizeNum\expandafter - {\HyColor@values}#2% - \let\HyColor@model\HyColor@model@gray - \else - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - \let\HyColor@model\HyColor@model@rgb - \fi\fi\fi\fi - }{% - \let#2\relax - \HyColor@ErrorSpecNoXcolor{#3}{#4}% - }% - }% - \fi - }% -} -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Field options} -% -% \begin{macro}{\HyColor@FieldBColor} -% \begin{macrocode} -\let\HyColor@FieldBColor\HyColor@XZeroOneThreeFour -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@FieldColor} -% \begin{macrocode} -\def\HyColor@FieldColor#1#2#3#4{% - \let\HyColor@model\@empty - \HyColor@XZeroOneThreeFour{#1}{#2}{#3}{#4}% - \ifx#2\relax - \let#2\@empty - \else - \ifx#2\@empty - \else - \ifx\HyColor@model\HyColor@model@gray - \edef#2{#2 g}% - \else\ifx\HyColor@model\HyColor@model@rgb - \edef#2{#2 rg}% - \else\ifx\HyColor@model\HyColor@model@cmyk - \edef#2{#2 k}% - \else - \PackageError{#3}{Internal error: unsupported color model}\@ehc - \fi\fi\fi - \fi - \fi -} -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Detection for naked RGB values} -% -% \begin{macro}{\HyColor@IfRGB} -% \begin{macrocode} -\newif\ifHyColor@result -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname pdfmatch\endcsname\relax - \expandafter\@firstoftwo -\else - \expandafter\@secondoftwo -\fi -{% - \begingroup - \def\x#1{\endgroup - \def\HyColor@IfRGB##1{% - \HyColor@@IfRGB##1#1#1#1\@nil - }% - }% - \x{ }% - \edef\HyColor@TwoSpaces{\space\space}% - \def\HyColor@@IfRGB#1 #2 #3 #4\@nil{% - \HyColor@resulttrue - \def\HyColor@temp{#4}% - \ifx\HyColor@temp\HyColor@TwoSpaces - \HyColor@CheckNum{#1}% - \ifHyColor@result - \HyColor@CheckNum{#2}% - \ifHyColor@result - \HyColor@CheckNum{#3}% - \fi - \fi - \else - \HyColor@resultfalse - \fi - \ifHyColor@result - \let\HyColor@model\HyColor@model@rgb - \edef\HyColor@values{#1,#2,#3}% - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - }% - \def\HyColor@zero{0}% - \def\HyColor@one{1}% - \def\HyColor@dot{.}% - \def\HyColor@CheckNum#1{% - \def\HyColor@temp{#1}% - \ifx\HyColor@temp\@empty - \HyColor@resultfalse - \else - \edef\HyColor@temp{\@car#1\@nil}% - \ifx\HyColor@temp\HyColor@zero - \else - \ifx\HyColor@temp\HyColor@one - \else - \ifx\HyColor@temp\HyColor@dot - \else - \HyColor@resultfalse - \fi - \fi - \fi - \fi - }% -}{% - \def\HyColor@MatchNum{% - (0*1\string\.0*|0*1|0+\string\.?[0-9]*|\string\.[0-9]+)% - }% - \def\HyColor@IfRGB#1{% - \ifnum\pdfmatch{^\HyColor@MatchNum\space\HyColor@MatchNum - \space\HyColor@MatchNum$}{#1}>\z@ - \let\HyColor@model\HyColor@model@rgb - \edef\HyColor@values{% - \expandafter\strip@prefix\pdflastmatch1,% - \expandafter\strip@prefix\pdflastmatch2,% - \expandafter\strip@prefix\pdflastmatch3% - }% - \HyColor@resulttrue - \expandafter\@firstoftwo - \else - \HyColor@resultfalse - \expandafter\@secondoftwo - \fi - }% -} -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Options \xoption{*bordercolor}} -% -% \begin{procedure} -% \Param{value}{value of the option} -% \Param{cmd}{macro for result} -% \Param{package, option}{package and option for error message} -% \caption{HyperrefBorderColor(value, cmd, package, option)} -% \BlankLine -% \Switch{\Var{value}}{ -% \Case{empty}{ -% \Var{cmd} \Gets no color\; -% } -% \Case{with model}{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values}) \Gets convert to rgb\; -% \Var{cmd} \Gets output values\; -% }{ -% \Switch{\Var{model}}{ -% \Case{rgb, gray}{ -% \Var{cmd} \Gets output values\; -% } -% \Else{ -% error(\Var{package}, \Var{option}, "Missing xcolor")\; -% \Var{cmd} \Gets no color\; -% } -% } -% } -% } -% \Case{rgb values}{ -% \Var{cmd} \Gets output values\; -% } -% \Case{without model}{ -% \eIf{with xcolor}{ -% (\Var{model}, \Var{values}) \Gets convert to rgb\; -% \Var{cmd} \Gets output values\; -% }{ -% error(\Var{package}, \Var{option}, "Missing xcolor"); -% \Var{cmd} \Gets no color\; -% } -% } -% } -% \end{procedure} -% -% \begin{macro}{\HyColor@HyperrefBorderColor} -% \begin{macrocode} -\def\HyColor@HyperrefBorderColor#1#2#3#4{% - \HyColor@IfModel{#1}{% - \HyColor@IfXcolor{% - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - }{% - \ifx\HyColor@model\HyColor@model@rgb - \expandafter\HyColor@NormalizeCommaRGB\HyColor@values\@nil#2% - \else - \ifx\HyColor@model\HyColor@model@gray - \expandafter\HyColor@NormalizeNum - \expandafter{\HyColor@values}#2% - \edef#2{#2 #2 #2}% - \else - \let#2\relax - \HyColor@ErrorModelNoXcolor{#3}{#4}% - \fi - \fi - }% - }{% - \let#2\HyColor@values - \ifx#2\@empty - \let#2\relax - \else - \expandafter\HyColor@IfRGB\expandafter{\HyColor@values}{% - \expandafter\HyColor@NormalizeCommaRGB\HyColor@values\@nil#2% - }{% - \HyColor@IfXcolor{% - \extractcolorspec{#1}#2% - \expandafter\convertcolorspec#2\HyColor@model@rgb#2% - \expandafter\HyColor@NormalizeCommaRGB#2\@nil#2% - }{% - \let#2\relax - \HyColor@ErrorSpecNoXcolor{#3}{#4}% - }% - }% - \fi - }% -} -% \end{macrocode} -% \end{macro} -% -% \subsection{Package \xpackage{attachfile2}} -% -% Before PDF-1.7 only RGB values are permitted in annotations. -% Since PDF-1.7 the color entry in annotations understands -% several color models, depending on the size of the color array: -% \begin{itemize} -% \item Zero entries: means transparent, not useful for -% file attachments. AR7/Linux and AR8/Linux show black instead. -% \item One entry: color model `gray'. -% \item Three entries: color model `rgb'. -% \item Four entries: color model `cmyk'. -% \end{itemize} -% An empty color specification is interpreted as ``no color''. -% -% \begin{macro}{\HyColor@DetectPdfVersion} -% \begin{macrocode} -\def\HyColor@DetectPdfVersion{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname Hy@pdfversion\endcsname\relax - \global\chardef\HyColor@PdfVersion=0 % - \else - \global\chardef\HyColor@PdfVersion=\Hy@pdfversion\relax - \fi - \global\let\HyColor@DetectPdfVersion\relax -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@SpaceToComma} -% \begin{macrocode} -\def\HyColor@SpaceToComma#1 #2\@nil{% - #1% - \ifx\relax#2\relax - \expandafter\@gobble - \else - ,% - \expandafter\@firstofone - \fi - {% - \HyColor@SpaceToComma#2\@nil - }% -}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\HyColor@AttachfileColor} -% \begin{macrocode} -\def\HyColor@AttachfileColor#1#2#3#4#5#6{% - \def#2{#1}% - \ifx#2\@empty - \let#3\@gobble - \let#4\@empty - \else - \HyColor@resultfalse - \HyColor@XZeroOneThreeFour{#1}#3{#5}{#6}% - \ifHyColor@result - \edef#2{% - [rgb]{\expandafter\HyColor@SpaceToComma#3 \@nil}% - }% - \fi - \ifx\HyColor@model\HyColor@model@rgb - \edef#4{/C[#3]}% hash-ok - \edef#3##1{% - #3 % - \noexpand\csname atfi@SETRGBCOLOR##1\noexpand\endcsname - }% - \else - \ifx\HyColor@model\HyColor@model@gray - \HyColor@DetectPdfVersion - \ifnum\HyColor@PdfVersion<7 % - \edef#4{/C[#3 #3 #3]}% hash-ok - \else - \edef#4{/C[#3]}% hash-ok - \fi - \edef#3##1{% - #3 % - \noexpand\csname atfi@SETGRAYCOLOR##1\noexpand\endcsname - }% - \else - \ifx\HyColor@model\HyColor@model@cmyk - \HyColor@DetectPdfVersion - \ifnum\HyColor@PdfVersion<7 % - \HyColor@IfModel{#1}{% - \HyColor@IfXcolor{% - \convertcolorspec\HyColor@model\HyColor@values - \HyColor@model@rgb#4% - \expandafter\HyColor@NormalizeCommaRGB#4\@nil#4% - \edef#4{/C[#4]}% hash-ok - }{% - \let#4\@empty - \HyColor@ErrorModelNoXcolor{#5}{#6}% - }% - }{% - \HyColor@IfXcolor{% - \extractcolorspec{#1}#4% - \expandafter\convertcolorspec#4% - \HyColor@model@rgb#4% - \expandafter\HyColor@NormalizeCommaRGB#4\@nil#4% - \edef#4{/C[#4]}% hash-ok - }{% - \let#4\@empty - \HyColor@ErrorSpecNoXcolor{#5}{#6}% - }% - }% - \else - \edef#4{/C[#3]}% hash-ok - \fi - \edef#3##1{% - #3 % - \noexpand\csname atfi@SETCMYKCOLOR##1\noexpand\endcsname - }% - \else - \ifx\HyColor@model\HyColor@model@empty - \PackageError{#5}{% - Color model `empty' is not permitted for option `#6'% - }\@ehc - \let#2\@empty - \let#3\@gobble - \let#4\@empty - \else - \ifx\HyColor@model\relax % (missing xcolor) - \let#3\@gobble - \let#4\@empty - \else - \PackageError{#5}{% - Internal error: unsupported color model% - }\@ehc - \fi - \fi - \fi - \fi - \fi - \fi -} -% \end{macrocode} -% \end{macro} -% -% \begin{macrocode} -%</package> -% \end{macrocode} -% -% \subsection{Patch for package \xpackage{xcolor}} -% -% Because the test files triggered a bug in package \xpackage{xcolor} -% of version 2007/01/21 v2.11. -% I contacted the author of \xpackage{xcolor} Uwe Kern. He responded -% with a test version 2007/03/27 v2.12a00 that fixes the problem. -% However, apparently he did not found the time for an official -% release yet. Thus I have reluctantly written the following -% patch package using the fixes of v2.12a00. -% -% The patch is immediately applied if package \xpackage{xcolor} -% is already loaded. -% Otherwise the patch is delayed using \cs{AfterPackage} if -% package \xpackage{scrlfile} is loaded. As last resort -% \cs{AtBeginDocument} is used. -% \begin{macrocode} -%<*xcolor> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xcolor-patch}[2016/05/16 xcolor patch] -% \end{macrocode} -% \begin{macrocode} -\RequirePackage{hopatch}[2016/05/16] -\hopatch@AfterPackage{xcolor}{% -% \end{macrocode} -% \begin{macro}{\XC@ifxcase} -% \begin{macrocode} - \long\def\reserved@a#1#2#3{% - \long\def\@@tmp##1##2{% - \ifx#1##1% - \toks@{##2}% - \expandafter\remove@to@nnil - \else - \expandafter\@@tmp - \fi - }% - \@@tmp#2#1{#3}\@nnil\the\toks@ - }% - \ifx\XC@ifxcase\reserved@a - \long\def\XC@ifxcase#1#2#3{% - \long\def\XC@if@##1##2{% - \ifx#1##1% - \toks@{##2}% - \expandafter\remove@to@nnil - \else - \expandafter\XC@if@ - \fi - }% - \XC@if@#2#1{#3}\@nnil - \the\toks@ - }% - \fi -% \end{macrocode} -% \end{macro} -% \begin{macro}{\XC@ifcase} -% \begin{macrocode} - \long\def\reserved@a#1#2#3{% - \long\def\@@tmp##1##2{% - \@expandtwoargs\in@{,#1,}{,##1,}% - \ifin@ - \toks@{##2}% - \expandafter\remove@to@nnil - \else - \expandafter\@@tmp - \fi - }% - \@@tmp#2{#1}{#3}\@nnil - \the\toks@ - }% - \ifx\XC@ifcase\reserved@a - \long\def\XC@ifcase#1#2#3{% - \long\def\XC@if@##1##2{% - \@expandtwoargs\in@{,#1,}{,##1,}% - \ifin@ - \toks@{##2}% - \expandafter\remove@to@nnil - \else - \expandafter\XC@if@ - \fi - }% - \XC@if@#2{#1}{#3}\@nnil - \the\toks@ - }% - \fi -% \end{macrocode} -% \end{macro} -% \begin{macro}{\XC@cnv@gray} -% \begin{macrocode} - \def\reserved@a#1,{% - \XC@ifxcase\tm{% - \XC@mod@rgb{% - \XC@calcN{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@cmy{% - \XC@calcC{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@cmyk{% - \XC@calcC{#1}\@@tmp - \edef\@@tmp{0,0,0,\@@tmp}% - }% - \XC@mod@RGB{% - \edef\@@scl{\rangeRGB}% - \XC@calcM{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@HTML{% - \edef\@@scl{\@cclv}% - \XC@calcM{#1}\@@tmp - \XC@calcH\@@tmp\@@tmp - \edef\@@tmp{\@@tmp\@@tmp\@@tmp}% - }% - \XC@mod@HSB{% - \edef\@@scl{\rangeHSB}% - \XC@calcM{#1}\@@tmp - \edef\@@tmp{0,0,\@@tmp}% - }% - \XC@mod@Gray{% - \edef\@@scl{\rangeGray}% - \XC@calcM{#1}\@@tmp - }% - }% - {% - \XC@calcN{#1}\@@tmp - \edef\@@tmp{0,0,\@@tmp}% - }% - }% - \ifx\XC@cnv@gray\reserved@a - \def\XC@cnv@gray#1,{% - \XC@ifxcase\tm{% - \XC@mod@rgb{% - \XC@calcN{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@gray{}% - \XC@mod@cmy{% - \XC@calcC{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@cmyk{% - \XC@calcC{#1}\@@tmp - \edef\@@tmp{0,0,0,\@@tmp}% - }% - \XC@mod@RGB{% - \edef\@@scl{\rangeRGB}% - \XC@calcM{#1}\@@tmp - \edef\@@tmp{\@@tmp,\@@tmp,\@@tmp}% - }% - \XC@mod@HTML{% - \edef\@@scl{\@cclv}% - \XC@calcM{#1}\@@tmp - \XC@calcH\@@tmp\@@tmp - \edef\@@tmp{\@@tmp\@@tmp\@@tmp}% - }% - \XC@mod@HSB{% - \edef\@@scl{\rangeHSB}% - \XC@calcM{#1}\@@tmp - \edef\@@tmp{0,0,\@@tmp}% - }% - \XC@mod@Gray{% - \edef\@@scl{\rangeGray}% - \XC@calcM{#1}\@@tmp - }% - }% - {% - \XC@calcN{#1}\@@tmp - \edef\@@tmp{0,0,\@@tmp}% - }% - }% - \fi -% \end{macrocode} -% \end{macro} -% -% \subsubsection{Fix fragile \cs{@frameb@x}} -% -% \cs{fbox} becomes fragile, because the internal \cs{@frameb@x} -% is redefined by package \xpackage{xcolor}. The redefinition is -% no longer robust. Test file: -%\begin{quote} -%\begin{verbatim} -%\documentclass{article} -%\usepackage{xcolor} -%\makeatletter -%\protected@edef\x{\fbox{abc}} -%\@@end -%\end{verbatim} -%\end{quote} -% \begin{macrocode} - \@ifundefined{XC@frameb@x }{% - \expandafter\let\csname XC@frameb@x \endcsname\XC@frameb@x - \edef\XC@frameb@x{% - \noexpand\protect - \expandafter\noexpand\csname XC@frameb@x \endcsname - }% - \expandafter\ifx\csname XC@frameb@x \endcsname\@frameb@x - \let\@frameb@x\XC@frameb@x - \fi - }{}% -} -% \end{macrocode} -% \begin{macrocode} -%</xcolor> -% \end{macrocode} -%% \section{Installation} -% -% \subsection{Download} -% -% \paragraph{Package.} This package is available on -% CTAN\footnote{\CTANpkg{hycolor}}: -% \begin{description} -% \item[\CTAN{macros/latex/contrib/oberdiek/hycolor.dtx}] The source file. -% \item[\CTAN{macros/latex/contrib/oberdiek/hycolor.pdf}] Documentation. -% \end{description} -% -% -% \paragraph{Bundle.} All the packages of the bundle `oberdiek' -% are also available in a TDS compliant ZIP archive. There -% the packages are already unpacked and the documentation files -% are generated. The files and directories obey the TDS standard. -% \begin{description} -% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}] -% \end{description} -% \emph{TDS} refers to the standard ``A Directory Structure -% for \TeX\ Files'' (\CTANpkg{tds}). Directories -% with \xfile{texmf} in their name are usually organized this way. -% -% \subsection{Bundle installation} -% -% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the -% TDS tree (also known as \xfile{texmf} tree) of your choice. -% Example (linux): -% \begin{quote} -% |unzip oberdiek.tds.zip -d ~/texmf| -% \end{quote} -% -% \subsection{Package installation} -% -% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting -% \docstrip\ archive. The files are extracted by running the -% \xfile{.dtx} through \plainTeX: -% \begin{quote} -% \verb|tex hycolor.dtx| -% \end{quote} -% -% \paragraph{TDS.} Now the different files must be moved into -% the different directories in your installation TDS tree -% (also known as \xfile{texmf} tree): -% \begin{quote} -% \def\t{^^A -% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} -% hycolor.sty & tex/latex/oberdiek/hycolor.sty\\ -% xcolor-patch.sty & tex/latex/oberdiek/xcolor-patch.sty\\ -% hycolor.pdf & doc/latex/oberdiek/hycolor.pdf\\ -% hycolor.dtx & source/latex/oberdiek/hycolor.dtx\\ -% \end{tabular}^^A -% }^^A -% \sbox0{\t}^^A -% \ifdim\wd0>\linewidth -% \begingroup -% \advance\linewidth by\leftmargin -% \advance\linewidth by\rightmargin -% \edef\x{\endgroup -% \def\noexpand\lw{\the\linewidth}^^A -% }\x -% \def\lwbox{^^A -% \leavevmode -% \hbox to \linewidth{^^A -% \kern-\leftmargin\relax -% \hss -% \usebox0 -% \hss -% \kern-\rightmargin\relax -% }^^A -% }^^A -% \ifdim\wd0>\lw -% \sbox0{\small\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\footnotesize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\scriptsize\t}^^A -% \ifdim\wd0>\linewidth -% \ifdim\wd0>\lw -% \sbox0{\tiny\t}^^A -% \ifdim\wd0>\linewidth -% \lwbox -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \else -% \lwbox -% \fi -% \else -% \usebox0 -% \fi -% \end{quote} -% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's -% TDS installing feature, then some files can already be in the right -% place, see the documentation of \docstrip. -% -% \subsection{Refresh file name databases} -% -% If your \TeX~distribution -% (\TeX\,Live, \mikTeX, \dots) relies on file name databases, you must refresh -% these. For example, \TeX\,Live\ users run \verb|texhash| or -% \verb|mktexlsr|. -% -% \subsection{Some details for the interested} -% -% \paragraph{Unpacking with \LaTeX.} -% The \xfile{.dtx} chooses its action depending on the format: -% \begin{description} -% \item[\plainTeX:] Run \docstrip\ and extract the files. -% \item[\LaTeX:] Generate the documentation. -% \end{description} -% If you insist on using \LaTeX\ for \docstrip\ (really, -% \docstrip\ does not need \LaTeX), then inform the autodetect routine -% about your intention: -% \begin{quote} -% \verb|latex \let\install=y\input{hycolor.dtx}| -% \end{quote} -% Do not forget to quote the argument according to the demands -% of your shell. -% -% \paragraph{Generating the documentation.} -% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate -% the documentation. The process can be configured by the -% configuration file \xfile{ltxdoc.cfg}. For instance, put this -% line into this file, if you want to have A4 as paper format: -% \begin{quote} -% \verb|\PassOptionsToClass{a4paper}{article}| -% \end{quote} -% An example follows how to generate the -% documentation with pdf\LaTeX: -% \begin{quote} -%\begin{verbatim} -%pdflatex hycolor.dtx -%makeindex -s gind.ist hycolor.idx -%pdflatex hycolor.dtx -%makeindex -s gind.ist hycolor.idx -%pdflatex hycolor.dtx -%\end{verbatim} -% \end{quote} -% -% \begin{History} -% \begin{Version}{2007/04/09 v1.0} -% \item -% First version. -% \end{Version} -% \begin{Version}{2007/04/11 v1.1} -% \item -% Line ends sanitized. -% \end{Version} -% \begin{Version}{2008/07/29 v1.2} -% \item -% Support for package \xpackage{attachfile2} added. -% \end{Version} -% \begin{Version}{2008/08/01 v1.3} -% \item -% Patch package \xpackage{xcolor-patch} added that fixes bugs in -% package \xpackage{xcolor} to get the test files running. -% \end{Version} -% \begin{Version}{2008/09/08 v1.4} -% \item -% Fix added to package \xpackage{xcolor-patch}: -% Fragile \cs{@frameb@x} (used in \cs{fbox}) is made robust. -% \end{Version} -% \begin{Version}{2009/10/02 v1.5} -% \item -% Doku fixes (Herbert Voss). -% \end{Version} -% \begin{Version}{2009/12/12 v1.6} -% \item -% Short info shortened. -% \end{Version} -% \begin{Version}{2011/01/30 v1.7} -% \item -% Package \xpackage{xcolor-patch} uses package \xpackage{hopatch}. -% \end{Version} -% \begin{Version}{2016/05/16 v1.8} -% \item -% Documentation updates. -% \end{Version} -% \end{History} -% -% \PrintIndex -% -% \Finale -\endinput |