demo.col <-
  function(n1,n2,main = paste("colors from n1 = ",n1," to n2 = ",n2))
{
    nmin <- 0
    nmax <- length(colors())
    if (n1 > n2) {n <- n1; n1 <- n2; n2 <- n}
    if (n2 > nmax) n2 <- nmax
    if (n1 < 1)    n1 <- 1
    cat("n1: ", as.character(n1), "\n")
    cat("n2: ", as.character(n2), "\n")
    cat("nmax: ", as.character(nmax), "\n")
    i <- 1:5
    nt <- n2-n1+1
    xmax <- sqrt(nt);ymax <- xmax
    plot(i,i, type="n", xlim = c(0,xmax),ylim = c(0,ymax),
              xlab=" ", ylab=" ", main=main, col.axis="lightgray")
    kmax <- round(xmax,0); lmax <- kmax
    for (k in 1:kmax){
      for (l in 1:lmax){
        ncol <- n1 + (k-1)*kmax + l-1
        rcol <- colors()[ncol]
        bcol <- colors()[nmax-ncol+1]
        rect(k-0.98, l-0.98, k, l,col=rcol,border=rcol)
        text(k-0.45, l-0.45,ncol,col=bcol,cex=0.5)
        if (ncol == nmax) break()
    }}
}
demo.col(-5,800)