  
  [1X3 [33X[0;0YThe colors in the [5XIntPic[105X[101X[1X package[133X[101X
  
  [33X[0;0YThe idea in what concerns the colors is the following: the reader is free to
  choose  his  colors  (taking  into  account that the latex [5Xxcolor[105X package is
  used),  but  we  try  to  make  users life reasonably easy. He is allowed to
  choose tones. The default colors used by [5XIntPic[105X are not many, although (from
  our experience) sufficient for most examples.[133X
  
  
  [1X3.1 [33X[0;0YColors by tones[133X[101X
  
  [33X[0;0YThe colors are divided by tones.[133X
  
  [4X[32X  red  [32X[104X
    [4Xgap> IP_ColorsRedTones; #red[104X
    [4X[ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60" ][104X
  [4X[32X[104X
  
  [4X[32X  green  [32X[104X
    [4Xgap> IP_ColorsGreenTones; #green[104X
    [4X[ "green", "green!50", "green!20", "green!80!red!50", "green!80!blue!60" ][104X
  [4X[32X[104X
  
  [4X[32X  blue  [32X[104X
    [4Xgap> IP_ColorsBlueTones; #blue[104X
    [4X[ "blue", "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60" ][104X
  [4X[32X[104X
  
  [4X[32X  cyan  [32X[104X
    [4Xgap> IP_ColorsCompRedTones; # cyan (complement of red)[104X
    [4X[ "-red", "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60" ][104X
  [4X[32X[104X
  
  [4X[32X  magenta  [32X[104X
    [4Xgap> IP_ColorsCompGreenTones; # magenta (complement of green)[104X
    [4X[ "-green", "-green!50", "-green!20", "-green!80!red!50", "-green!80!blue!60" [104X
    [4X ][104X
  [4X[32X[104X
  
  [4X[32X  yellow  [32X[104X
    [4Xgap> IP_ColorsCompBlueTones; # yellow (complement of blue)[104X
    [4X[ "-blue", "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60" ][104X
  [4X[32X[104X
  
  [4X[32X  dark gray  [32X[104X
    [4Xgap> IP_ColorsDGrayTones; # dark gray[104X
    [4X[ "black!80", "black!70", "black!60", "black!50", "black!40" ][104X
  [4X[32X[104X
  
  [4X[32X  light gray  [32X[104X
    [4Xgap> IP_ColorsLGrayTones; # light gray[104X
    [4X[ "black!30", "black!25", "black!20", "black!15", "black!10" ][104X
  [4X[32X[104X
  
  
  [1X3.2 [33X[0;0YLists of colors[133X[101X
  
  [4X[32X  array of colors by tones  [32X[104X
    [4Xgap> ListsOfIP_Colors;[104X
    [4X[ [ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60" ], [104X
    [4X  [ "green", "green!50", "green!20", "green!80!red!50", "green!80!blue!60" ], [104X
    [4X  [ "blue", "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60" ], [104X
    [4X  [ "-red", "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60" ], [104X
    [4X  [ "-green", "-green!50", "-green!20", "-green!80!red!50", [104X
    [4X      "-green!80!blue!60" ], [104X
    [4X  [ "-blue", "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60" ],[104X
    [4X  [ "black!80", "black!70", "black!60", "black!50", "black!40" ], [104X
    [4X  [ "black!30", "black!25", "black!20", "black!15", "black!10" ] ][104X
  [4X[32X[104X
  
  [4X[32X  list of colors by tones  [32X[104X
    [4Xgap> IP_Colors;[104X
    [4X[ "red", "red!50", "red!20", "red!80!green!50", "red!80!blue!60", "green", [104X
    [4X  "green!50", "green!20", "green!80!red!50", "green!80!blue!60", "blue", [104X
    [4X  "blue!50", "blue!20", "blue!80!red!50", "blue!80!green!60", "-red", [104X
    [4X  "-red!50", "-red!20", "-red!80!green!50", "-red!80!blue!60", "-green", [104X
    [4X  "-green!50", "-green!20", "-green!80!red!50", "-green!80!blue!60", "-blue", [104X
    [4X  "-blue!50", "-blue!20", "-blue!80!red!50", "-blue!80!green!60", "black!80", [104X
    [4X  "black!70", "black!60", "black!50", "black!40", "black!30", "black!25", [104X
    [4X  "black!20", "black!15", "black!10" ][104X
  [4X[32X[104X
  
  
  [1X3.3 [33X[0;0YThe [5XIntPic[105X[101X[1X default list of colors[133X[101X
  
  [33X[0;0YThe  colors  are  shuffled  by  concatenating  the  transposed of the matrix
  [10XListsOfIP_Colors[110X. The list obtained is taken as the default list of colors.[133X
  
  [4X[32X  default list of colors  [32X[104X
    [4Xgap> ShuffledIP_colors;[104X
    [4X[ "red", "green", "blue", "-red", "-green", "-blue", "black!80", "black!30", [104X
    [4X  "red!50", "green!50", "blue!50", "-red!50", "-green!50", "-blue!50", [104X
    [4X  "black!70", "black!25", "red!20", "green!20", "blue!20", "-red!20", [104X
    [4X  "-green!20", "-blue!20", "black!60", "black!20", "red!80!green!50", [104X
    [4X  "green!80!red!50", "blue!80!red!50", "-red!80!green!50", "-green!80!red!50",[104X
    [4X  "-blue!80!red!50", "black!50", "black!15", "red!80!blue!60", [104X
    [4X  "green!80!blue!60", "blue!80!green!60", "-red!80!blue!60", [104X
    [4X  "-green!80!blue!60", "-blue!80!green!60", "black!40", "black!10" ][104X
  [4X[32X[104X
  
  [33X[0;0YThese  are the [5XIntPic[105X default colors. Although the user is free to use other
  colors,  we  warn that there is a need of compatibility with the colors used
  in  other  packages  (the  LaTeX  [5Xxcolor[105X,  for  instance).  To emphasize the
  integers  of  some  sets  by using some of the colors in some list of colors
  (for  instance  the default colors) one may use empty lists to force the non
  usage  of the colors whose order in the list of colors is the order of these
  empty lists in the array of integers to be emphasized.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xm3 := Filtered([1..40],i->i mod 3=0);[127X[104X
    [4X[28X[ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39 ][128X[104X
    [4X[25Xgap>[125X [27Xm5 := Filtered([1..40],i->i mod 5=0);[127X[104X
    [4X[28X[ 5, 10, 15, 20, 25, 30, 35, 40 ][128X[104X
    [4X[25Xgap>[125X [27Xm7 := Filtered([1..40],i->i mod 7=0);[127X[104X
    [4X[28X[ 7, 14, 21, 28, 35 ][128X[104X
    [4X[25Xgap>[125X [27X[127X[104X
    [4X[25Xgap>[125X [27Xarr := [[],[],m3,[],m5,[],m7];;[127X[104X
    [4X[25Xgap>[125X [27Xtkz:=IP_TikzArrayOfIntegers([1..40],10,rec(highlights:=arr));;[127X[104X
  [4X[32X[104X
  
  
  [1X3.4 [33X[0;0YFunctions to deal with colors[133X[101X
  
  [33X[0;0YFor  the  moment  we  only  provide one function, which shuffles colors from
  lists of colors.[133X
  
  
  [1X3.4-1 [33X[0;0YShuffle colors from lists of colors[133X[101X
  
  [33X[1;0Y[29X[2XShuffleIP_Colors[102X( [3Xmat[103X ) [32X function[133X
  
  [33X[0;0YThe argument [3Xmat[103X is a list of lists of colors of the same length. The output
  is obtained by concatenating the transposed of [3Xmat[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XShuffleIP_Colors([IP_ColorsRedTones,IP_ColorsCompBlueTones]);[127X[104X
    [4X[28X[ "red", "-blue", "red!50", "-blue!50", "red!20", "-blue!20", [128X[104X
    [4X[28X  "red!80!green!50", "-blue!80!red!50", "red!80!blue!60", "-blue!80!green!60" [128X[104X
    [4X[28X ][128X[104X
  [4X[32X[104X
  
