]> git.donarmstrong.com Git - xtable.git/blobdiff - pkg/R/print.xtable.R
Fixed #2309. Altered xtableGallery.snw to illustrate new functionality. Moved vignett...
[xtable.git] / pkg / R / print.xtable.R
index d057595376cc67e47925c7fe826550bb9d3284d3..34b0a7c43facb9f0089f189321a15b75a807b596 100644 (file)
@@ -127,20 +127,33 @@ print.xtable <- function(x,
         ## 1 Feb 2012\r
         if(!booktabs){\r
             PHEADER <- "\\hline\n"\r
-           } else {\r
-            PHEADER <- ifelse(-1%in%hline.after, "\\toprule\n", "")\r
-            if(0%in%hline.after) {\r
-                PHEADER <- c(PHEADER, "\\midrule\n")\r
-            }\r
-            if(nrow(x)%in%hline.after) {\r
-                PHEADER <- c(PHEADER, "\\bottomrule\n")\r
+        } else {\r
+            ## This code replaced to fix bug #2309, David Scott, 8 Jan 2014\r
+            ## PHEADER <- ifelse(-1%in%hline.after, "\\toprule\n", "")\r
+            ## if(0%in%hline.after) {\r
+            ##     PHEADER <- c(PHEADER, "\\midrule\n")\r
+            ## }\r
+            ## if(nrow(x)%in%hline.after) {\r
+            ##     PHEADER <- c(PHEADER, "\\bottomrule\n")\r
+            ## }\r
+            if (is.null(hline.after)){\r
+                PHEADER <- ""\r
+            } else {\r
+                hline.after <- sort(hline.after)\r
+                PHEADER <- rep("\\midrule\n", length(hline.after))\r
+                if (hline.after[1] == -1) {\r
+                    PHEADER[1] <- "\\toprule\n"\r
+                }\r
+                if (hline.after[length(hline.after)] == nrow(x)) {\r
+                    PHEADER[length(hline.after)] <- "\\bottomrule\n"\r
+                }\r
             }\r
         }\r
     } else {\r
         PHEADER <- ""\r
     }\r
 \r
-    lastcol <- rep(" ", nrow(x)+2)\r
+        lastcol <- rep(" ", nrow(x)+2)\r
     if (!is.null(hline.after)) {\r
         ## booktabs change - Matthieu Stigler: fill the hline arguments\r
         ## separately, 1 Feb 2012\r