我对knitr还很陌生,之前只有一些基础的latex知识,所以我已经谷歌搜索过了,希望能够找到已经发布在其他地方的解决方案。但是,我没有成功解决我的问题。我希望有人能够友好地提供帮助。
我有一个包含14列和多行(比如60行)的数据框,我需要使用这些数据生成一个横向排版的PDF报告,并在其中将该数据框作为表格呈现。
我找到的最接近的解决方案是在tex.stackexchange.com: LaTex Longtable spanning several pages上。我使用了其中一些提示。然而,表格没有被正确地放置。右侧列被截断在页面的右边缘。表格在页面底部没有“Continued”字样。我在这里发布了我的代码和图片。
如果我忽略了任何明显的问题,请提出来,我真的很菜鸟,希望能够得到帮助。
\documentclass[a4paper, landscape]{article}
\usepackage[a4paper, margin=1in, hmarginratio=1:1, landscape]{geometry}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{xcolor}
\definecolor{myblue}{RGB}{24,57,121}
\usepackage{lipsum}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{array}
\usepackage{rotating}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\renewcommand{\headrulewidth}{0.5pt}
\setlength\headheight{40mm}
\begin{document}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
\renewcommand*{\arraystretch}{1.0}
%
\section{My Long Table}
%\begin{center}
%\begin{small}
%\setlongtables
%\begin{longtable}
<<echo=FALSE, eval=TRUE, results='asis'>>=
library(knitr)
library(xtable)
df <- data.frame(replicate(13, sample(1000000:9000000, 60,replace=TRUE)))
df$Sum <- rowSums(df)
totals <- colSums(df)
df <- rbind(df, totals)
names(df) <- c("Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014", "Jul 2014",
"Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014", "Jan 2015", "Sum")
#
dtable <- xtable( x = df)
print ( dtable
#, table.placement = "H"
, table.placement = "!htp"
, caption.placement = "top"
, include.rownames = TRUE
, include.colnames = TRUE
, size = "footnotesize"
, tabular.environment = 'longtable'
, floating = FALSE
#, scalebox = 0.7
#, width = 0.8
, add.to.row = list(pos = list(0),command =
paste("\\hline \\endfirsthead" , # First caption
"\\caption[]{My Caption should be here} \\label{tab:The Table} \\\\ \\hline", # Additional captions
paste("&", names(df), collapse=" "),
"\\\\ \\hline ",
"\\endhead",
"\\hline \\multicolumn{11}{r}{\\textit{Continued}} \\
\\endfoot
\\endlastfoot",collapse=" ")))
@
%\end{longtable}
%\end{small}
%\end{center}
\end{document}