这是我之前发布的一个问题(如何以全文宽度居中 LaTeX xtable 输出)的后续。
我意识到我在上一篇文章中的 MWE 是不完整的。为了尽量减少示例,我确实遗漏了一些最终导致冲突的内容。因此,在这里,我更全面地发布了这个问题。
我正在使用 tufte-handout ( http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/tufte-latex/sample-handout.pdf ) 在乳胶中创建一个小报告。我有一个文件 code.Rnw,我将其编入 code.tex。下面是我的代码.Rnw:
\documentclass[12pt,english,nohyper]{tufte-handout}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{geometry}
\usepackage{pgffor}
\usepackage{calc}
\usepackage{enumitem}
\usepackage{microtype}
\usepackage{tabularx}
%\usepackage{floatrow}
\begin{document}
<<include=FALSE>>=
library(ggplot2)
library(xtable)
@
\begin{fullwidth}
\makeatletter\setlength\hsize{\@tufte@fullwidth}\makeatother
<<echo=FALSE,results='asis'>>=
x.big <- xtable(mtcars[1:10,1:4], label ='tab:mtcars',caption ='This is the mtcar dataset head.',align = c("rr|lr|r"))
print(x.big, tabular.environment ='longtable', floating = FALSE, include.rownames=FALSE)
@
\end{fullwidth}
<<echo=FALSE,results='asis'>>=
fnameO <<- "plot.pdf"
pdf(paste0("./",fnameO),width=6,height=7)
print(qplot(hp, mpg, data=mtcars, main="Scatterplots of MPG vs. Horsepower", xlab="Horsepower", ylab="Miles per Gallon"))
{dev.off();invisible()}
@
\begin{fullwidth}
\makeatletter\setlength\hsize{\@tufte@fullwidth}\makeatother
\begin{figure}[!ht]
\includegraphics[width=\linewidth]{\Sexpr{fnameO}}
\caption{This is a plot of the mtcars dataset from R. It compares the horsepower with the miles per gallon. It uses the qplot function from ggplot2.}
\label{fig:LearningObj_summary}
\end{figure}
\end{fullwidth}
\end{document}
这是输出:
我希望表格和图形都居中(在整个页面上)。如上所示,我成功地使表格居中(感谢我之前帖子中一位用户的建议)。
但是,我无法使该图形在整个页面中居中,并带有下方的标题。相反,可能是由于我使用的文档类(tufte-handout),图形本身位于非边距区域,其标题位于边距区域。
对于初学者,我取消了代码中的 \usepackage{floatrow} 的注释,试图强制图形标题位于图形下方而不是右侧。这会导致这样的输出(表格和图形都不希望在左侧而不是居中,但图形标题确实在图形下方):
我的问题是:如何使表格和图形居中(下方有标题),以便输出看起来更像这样?:
谢谢你。