【问题标题】:Knitr: Figure caption after \newpage is ignoredKnitr:\ newpage 后的图形标题被忽略
【发布时间】:2015-09-18 00:55:29
【问题描述】:

我正在使用\newpage 来强制我的数字出现在正确的位置。 我在图形块之后添加了\newpage。但是,在呈现 PDF 时会忽略图形标题。

我已经尝试fig.pos 强制我的数字,但它没有奏效。我也试过\clearpage\pagebreak。它们似乎都不起作用。知道我做错了什么,或者我需要添加什么才能使其正常工作吗?

这是一个例子:

```{r eg, fig.width=4, fig.height=6, echo=FALSE, fig.pos="!H", fig.cap="\\label{fig:eg}Plot example", dev='png'}

 plot(c(1:20))

```

\newpage

some text some text 

some other figure (with proper caption)

some text

在PDF版本中使用图形标签后,我只看到图形??作为标题。

【问题讨论】:

  • 我无法确认错误;通过您的示例,我确实获得了 PDF 输出中的标题。请发布一个产生不良结果的最小工作示例。
  • 感谢您的检查。我也不能用这个例子来确认它。我不知道我的报告出了什么问题。除了我使用\clearpage(或\newpage)的两个夹头之外,所有数字都有标题。我的报告有点复杂,它使用了多个包,所以我不能把它放在这里。我知道我必须提供一个例子,但我想知道是否有人有类似的问题。您能告诉我如何处理人物位置,以强制将人物显示在我想要的位置吗?
  • 抱歉,我不知道如何处理图像位置的精确说明。关于缺少的标题只有一条评论:您可能希望确保在块 ```` 的末尾和 \newpage 命令之间有一个空行(就像在上面的示例中一样)。否则我认为不会显示标题 - 我不知道为什么。祝你好运!

标签: r pdf-generation knitr


【解决方案1】:

我有同样的问题,这是一个可重现的结果。

对我来说,当我使用 lscape package to have one page landscape. using header.tex 时,问题就出现了:

\usepackage{lscape}
\newcommand{\blandscape}{\begin{landscape}}
\newcommand{\elandscape}{\end{landscape}

这是一个产生不良结果的代码。

---
title: "Figure missing for new landscape page"
author: "Tamara vdDoes"
date: "August 31, 2016"
output:
  pdf_document:
    fig_caption: yes  
    includes: 
      in_header: header.tex
---

# Figure title that works
```{r eg, fig.width=4, fig.height=6, echo=FALSE, fig.cap="Figure that works"}
plot(c(1:20))
```

\newpage
\blandscape

# Figure title that does not work
```{r eg2, fig.width=4, fig.height=6, echo=FALSE, fig.cap="Figure that does not work"}
plot(c(1:20))
```
\elandscape

`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    相关资源
    最近更新 更多