Package `xcolor' by Dr. Uwe Kern https://github.com/latex3/xcolor/issues History ======= 2024/09/29 v3.02 * remove definitions of color groups as they are already in the kernel. 2024/09/17 * unknown model error handled (issue #1) 2024/03/13 * Add \relax after \ProcessKeyOptions to improve error context lines 2023/11/15 v3.01 * only warn and not error if obsolete option usenames is used, issue #31 2023/11/11 v3.00 * If a LaTeX older than 2022-06-01 is detected a frozen version is used. All new features apply only if LaTeX 2022-06-01 or newer is detected. The frozen version can also be requested with \usepackage{xcolor}[=v2]. * The new LaTeX key/val handler is used for the package options. That means there will be fewer option clash errors, issue #29 * The \rowcolors command has moved to the colortbl package * The fixpdftex option is obsolete and does nothing at all (issue #20) * Extended \normalcolor to set also the "dot" color, issue #19 * Fix Gray color model, issue #23 2022/06/12 v2.14 * New features: - Load if it exists the code from LaTeX to define \mathcolor. * Bugfixes (LaTeX Team) - Modify \XC@info to avoid spurious error from \colorlet{foo}{} issue #12 - make \normalcolor, \colorbox, \fcolorbox \textcolor, \pagecolor, \nopagecolor, \definecolor, \DefineNamedColor protected as in color.sty issue #17 2021/10/31 v2.13 * Bugfixes (LaTeX Team) - use \@backslashchar color rather than \string\color to generate internal csnames, to avoid relying on the current setting of \escapechar - Declare dvisvgm option to match graphics and color packages. Make dvipdfm an alias for dvipdfmx - Modify \XC@info to avoid spurious text from \colorlet{foo}{.!50} 2016/05/11 v2.12 * New features: - \nopagecolor command as introduced in `color' v1.1a (example added to xcolor3.tex); - `luatex' driver option (code provided by DPC) to fix incompatibilities due to changes in new LuaTeX version. * Bugfixes: - possible name conflict by \XC@ifxcase call; - incorrect internal \@hex@@Hex macro. 2007/01/21 v2.11 * New features: - color names `lime' and `teal' added to the set of predefined colors. * Bugfix: - incorrect \XC@strip@comma call within `hyperref'-related options. 2006/11/28 v2.10 * New features: - `fixinclude' option prevents dvips from explicitly resetting current color to `black' before actually inserting an .eps file via \color{red}\includegraphics{foo}. * Changes: - \colorbox and \fcolorbox made robust; - obsolete package option `pst' removed; - several changes to internal macros. * Bugfixes: - incorrect processing of cmyk-type current color `.'. 2005/12/21 v2.09 * New features: - \definecolor and \color now accept space-separated color specifications, e.g., \color[rgb]{1 .5 0}; - experimental `xcdraw' option extended to `pdftex' and `dvipdfm' drivers. * Changes: - test file xcolor2.tex made compatible with recent changes in `pstricks'; - test file xcolor3.tex extended; - driver test file xcolor4.tex extended to demonstrate the different frame drawing approaches; - more efficient implementation of driver-specific code. 2005/11/25 v2.08 * New features: - more flexibility for \fcolorbox arguments, e.g., \fcolorbox[gray]{0.5}[wave]{580}{test}; - \boxframe returns a frame of given dimensions; - new implementation of \f(rame)box and \fcolorbox as an extension of bug report latex/3655 to reduce pixel positioning errors in output devices; - `kernelfbox' option for those who prefer the previous \f(rame)box approach; - experimental `xcdraw' option uses PostScript commands to draw frames and color boxes in case of `dvips'. * Bugfixes: - insufficient expression type detection within \colorlet; - wrong calculation in the unit interval reduction for negative integers (affecting color series and extended color expressions). 2005/11/12 v2.07 * New features: - color model `Hsb' allows to specify hue in degrees; - color model `tHsb' (`tuned Hsb') for user-defined hue configuration on color wheels; - easy generation of color harmonies derived from `Hsb' or `tHsb' color wheels, e.g., \color{red>wheel,1,12} yields an `analogous' color to `red' on a 12-spoke wheel; - additional 317 predefined color names according to rgb.txt, which is part of Unix/X11 distributions; - `svgnames' option extended by 4 colors taken from rgb.txt; - enhanced syntax for immediate conversion, e.g., \definecolor{foo}{rgb:gray}{0.3} or \color[rgb:wave]{478}; - \@ifundefinedcolor and \@ifundefinedmodel commands. * Changes: - enhanced documentation; - several changes to internal macros. * Bugfixes: - wrong calculation of color series components in some cases of negative step parameters. 2005/10/15 v2.06 * New features: - color model `wave' for (approximate) visualisation of light wavelengths, still somewhat experimental; - pseudo-model `ps' for colors defined by literal PostScript code in conjunction with `pstricks and `dvips'; an illustrative example for a gamma-correction approach is given in xcolor2.tex; - \substitutecolormodel command for replacement of missing or faulty driver-specific color models; - improved detection and handling of driver-specific color models; - `dvipdfmx' and `xetex' options to support these drivers; - generic driver test file xcolor4.tex. * Changes: - \XC@strip@comma doesn't generate a trailing space anymore, which improves also the output of the `testcolors' environment. 2005/09/30 v2.05 * New features: - `testcolors' environment helps to test colors in different models, showing both the visual result and the model-specific parameters; - \extractcolorspecs puts model/color specification into two separate commands, as opposed to \extractcolorspec; - color names `pink' and `olive' added to the set of predefined colors. * Bugfixes: - \definecolor{foo}{named}{bar} did not work in v2.04. 2005/09/23 v2.04 * New features: - preparation for usage of additional - driver-provided - color models; - `pstricks' users may now specify explicit color parameters within \psset and related commands, e.g., \psset{linecolor=[rgb]{1,0,0}}; an illustrative example is given in xcolor2.tex. * Changes: - color model names sanitized (i.e., turned to catcode 12) throughout the package; - \@namelet command deprecated because of name clash with `memoir' - please use \XC@let@cc instead (more \XC@let@.. commands are available as well); - simplified color conversion code by using the new \XC@ifxcase command; - some minor changes to internal macros. 2005/06/06 v2.03 * New features: - `fixpdftex' option loads `pdfcolmk' package in order to improve pdfTeX's color behaviour during page breaks. * Changes: - some minor changes to internal macros. * Bugfixes: - due to an incorrect \if statement within \XC@info, \colorlet caused trouble whenever its second argument started with two identical letters, e.g., \colorlet{rab}{oof}; - argument processing of \XC@getcolor caused incompatibility with `msc' package; - `prologue' option caused incompatibility with `preview' package. 2005/03/24 v2.02 * New features: - \aftergroupedef command to reproduce \aftergroupdef's behaviour prior to v2.01; - xcolor's homepage www.ukern.de/tex/xcolor.html now provides also a ready-to-run TDS-compliant archive containing all required files. * Changes: - \rowcolors and friends are solely enabled by the `table' option; - \@ifxempty changed back to more robust variant of v2.00. * Bugfixes: - \psset{linecolor=\ifcase\foo red\or green\or blue\fi} did not work with `pstricks' (error introduced in v2.01). 2005/03/15 v2.01 * New features: - `prologue' option for comprehensive `named' color support in conjunction with `dvips': on-the-fly generation of PostScript prologue files with all color definitions, ready for dvips inclusion and/or post-processing with device-specific parameters (e.g., spot colors); - dvips prologue file xcolor.pro to support additional `named' colors; - \colorlet may now also be used to create named colors from arbitrary color expressions; - enhanced color definition syntax to allow for target-model specific color parameters, e.g., \definecolor{red}{rgb/cmyk}{1,0,0/0,1,1,0}, facilitating the usage of tailor-made colors both for displays and printers; - `deferred definition' of colors: \preparecolor and \definecolors enable decoupling of color specification and control sequence generation, especially useful (= memory saving) for large lists of colors, of which only a few names are actually used; - `dvipsnames*' and `svgnames*' options to support deferred definition. * Changes: - higher accuracy: most complement calculations are now exact for all 5-digit decimals; - \rangeRGB and similar variables may now be changed at any point in a document; - \aftergroupdef now performs only a first-level expansion of its code argument; - \XCfileversion and similar internal constants removed from .sty and .def files; - improved memory management (reduced generation of `multiletter control sequences' by \@ifundefined tests); - several internal macros improved and/or renamed. * Bugfixes: - \XC@getcolor could cause unwanted spaces when \psset was used inside |pspicture| environments (`pstricks'); - arithmetic overflow could happen when too many decimal digits were used within color parameters, e.g., as a result of `fp' calculations. 2004/07/04 v2.00 * New features: - extended functionality for color expressions: mix colors like a painter; - support for color blending: specify color mix expressions that are being blended with every displayed color; - \xglobal command for selective control of globality for color definitions, blends, and masks; - multiple step operations (e.g., \color{foo!!+++}) and access to individual members (e.g., \color{foo!![7]}) in color series; - \providecolor command to define only non-existent colors; - \definecolorset and \providecolorset commands to facilitate the construction of color sets with common underlying color model; - additional 147 predefined color names according to SVG 1.1 specification; - `xpdfborder' key for setting the width of hyperlink borders in a more driver-independent way if `dvips' is used. * Changes: - `color' package now completely integrated within `xcolor'; - `override', `usenames', `nodvipsnames' options and \xdefinecolor command no longer needed; - `dvips' and `dvipsnames' options now independent of each other; - \tracingcolors's behaviour changed to make it more versatile and reduce log file size in standard cases; - \rdivide's syntax made more flexible (divide by numbers and/or dimensions); - code restructured, some internal commands renamed; - documentation rearranged and enhanced. * Bugfixes: - \definecolor{foo}{named}{bar} did not work (error introduced in v1.11); - more robust behaviour of conditionals within `pstricks' key-values. 2004/05/09 v1.11 * New features: - switch \ifglobalcolors to control whether color definitions are global or local; - option `hyperref' provides color expression support for the border colors of hyperlinks, e.g., \hypersetup{xurlbordercolor=red!50!yellow}; - internal hooks \XC@bcolor, \XC@mcolor, and \XC@ecolor for additional code that has to be executed immediately before/after the current color is being displayed. * Changes: - \XC@logcolor renamed to \XC@display, which is now the core color display command; - improved interface to `pstricks'. 2004/03/27 v1.10 * New features: - support for `named' model; - support for `dvips' colors (may now be used within color expressions); - internal representation of `ordinary' and `named' colors merged into unified data structure; - allow multiple `-' signs at the beginning of color expressions. * Bugfixes: - commands like \color[named]{foo} caused errors when color masking or target model conversion were active; - incompatibility with `soul' package: commands \hl, \ul, etc. could yield unexpected results. * Documentation: - added formula for general color expressions; - enhanced text and index; - removed dependence of index generation on local configuration file. 2004/02/16 v1.09 * New features: - color model `HTML', a 24-bit hexadecimal `RGB' variant; allows to specify colors like \color[HTML]{AFFE90}; - color names `orange', `violet', `purple', and `brown' added to the set of predefined colors. * New xcolor homepage: www.ukern.de/tex/xcolor.html * Bugfix: \xdefinecolor sometimes did not normalise its parameters. * Changes: - slight improvements of the documentation; - example file xcolor1.tex reorganised and abridged. 2004/02/04 v1.08 * New commands/features: - \selectcolormodel to change the target model within a document; - \adjustUCRBG to fine-tune undercolor-removal and black-generation during conversion to `cmyk'. * Bugfix: color expressions did not work correctly in connection with active `!' character, e.g., in case of \usepackage[frenchb]{babel}. * Code re-organisation: - \XC@xdefinecolor merged into \xdefinecolor, making the first command obsolete; - several internal commands improved/streamlined. 2004/01/20 v1.07 * New feature: support for color masking and color separation. * New commands: - \rmultiply to multiply a dimension register by a real number; - \xcolorcmd to pass commands that are to be executed at the end of the package. * Changes: - more consistent color handling: extended colors now always take precedence over standard colors; - several commands improved by using code from the LaTeX kernel. * Documentation: some minor changes. * Example files: additional `pstricks' examples (file xcolor2.tex). 2003/12/15 v1.06 * New feature: extended color expressions, allowing for cascaded mix operations, e.g., \color{red!30!green!40!blue}. * Documentation: new section on color expressions. * Bugfix: color series stepping did not work correctly within non-displaying commands like \extractcolorspec{foo!!+} (this bug was introduced in v1.05). * Renamed commands: \ukfileversion and similar internal constants renamed to \XCfileversion etc. * Removed commands: \ifXCpst and \ifXCtable made obsolete by a simple trick. 2003/11/21 v1.05 * Bugfixes: - package option `hideerrors' should now work as expected; - usage of `.' in the first color expression in a document caused an error due to incorrect initialisation. * Code re-organisation: \extractcolorspec now uses \XC@splitcolor, making \XC@extract obsolete. 2003/11/09 v1.04 * New feature: easy access to current color within color expressions. * New option: `override' to replace \definecolor by \xdefinecolor. * New command: \tracingcolors for logging color-specific information. 2003/09/21 v1.03 * Change: bypass strange behaviour of some drivers. * New feature: driver-sharing with `hyperref'. 2003/09/19 v1.02 * Change: \extractcolorspec and \colorlet now also accept color series as arguments. 2003/09/15 v1.01 * New feature: \definecolorseries and friends. * Documentation: removed some `doc'-related side-effects. * Code re-organisation: all calculation-related tools put to one place. * Bugfixes: - \@rdivide: added \relax to fix problem with negative numerators; - \rowc@l@rs: replaced \@ifempty by \@ifxempty. 2003/09/09 v1.00 * First published release.