我正在使用以下代码来创建一个情节,我想省略消息、评论和警告以及情节之外的所有其他内容。
\documentclass{article}
\usepackage{pdflscape}
\pagestyle{empty}
\begin{document}
\begin{landscape}
<<echo=FALSE, message=FALSE, comment=NA, warning=FALSE>>=
x1 <- runif(10)
y1 <- runif(10)
x2 <- runif(10)
y2 <- runif(10)
x <- cbind(x1,x2)
y <- cbind(y1,y2)
plot(y ~ x)
@
\end{landscape}
\end{document}
在情节之前创建了一个空白页。我认为与景观相关的某些东西会创建空白页。有什么方法可以摆脱它吗?非常感谢!
答案1
如果您的图像太大(无法容纳由\textwidth
和定义的文本块\textheight
),则会导致出现框溢出警告,启动分页符并滚动到后续页面。如果文档构造的默认行为导致此溢出,则以下操作将负责丢弃第一页(始终):
\documentclass{article}
\usepackage{graphicx,atbegshi,pdflscape}% http://ctan.org/pkg/{graphicx,atbegshi,pdflscape}
\AtBeginShipout{\ifnum\value{page}=1\AtBeginShipoutDiscard\fi}
\pagestyle{empty}
\begin{document}
\begin{landscape}
\includegraphics[height=1.1\textheight]{example-image-a}
\end{landscape}
\end{document}
atbegshi
提供\AtBeginShipoutDiscard
丢弃当前存储的页面并应执行\AtBeginShipout
。我们测试计数器的值page
,如果为 1,则丢弃该页面。尽管图像过大导致输出了两页,但上述文档仍生成单个页面。
如果你只是偶尔遇到这个问题,并且想自动执行该过程,则应使用lastpage
包裹跟踪文档中的最后一页。如果最后一页不是 1,则丢弃第一页。以下是对此的看法:
\documentclass{article}
\usepackage{graphicx,atbegshi,pdflscape}% http://ctan.org/pkg/{graphicx,atbegshi,pdflscape}
\usepackage{lastpage,refcount}% http://ctan.org/pkg/{lastpage,refcount}
\newcounter{lastpage}
\AtBeginShipout{%
\setcounterpageref{lastpage}{LastPage}
\ifnum\value{page}=1\relax
\ifnum\value{lastpage}>1\AtBeginShipoutDiscard\fi\fi}
\pagestyle{empty}
\begin{document}
\begin{landscape}
\includegraphics[height=1.1\textheight]{example-image-a}
\end{landscape}
\end{document}
这refcount
包裹通过允许分配来弥补引用和计数器之间的差距值前者到后者。
我用过graphicx
以便\includegraphics
放置超大比例的图像。您的使用knitr
将类似,但可能不需要此包。