2014-12-12 16 views
7

Về cơ bản, tôi có một tài liệu RMD cấu hình như thế này:* Một số * tính năng chú thích từ RMarkdown không hiển thị

--- 
title: "Example" 
author: "me" 
date: "December 2014" 
output: 
    pdf_document: 
    fig_caption: yes 
    keep_tex: yes 
-- 

Sau đó, trong tài liệu này, tôi sử dụng ggplot2 để hiển thị một số bảng xếp hạng, ví dụ:

```{r myLabel, fig.cap='My Caption'} 
qplot(1:10, 10:1) 
``` 

Bây giờ, vì một lý do nào đó tôi không thể giải thích hoặc điều tra sâu hơn điều này, TeX được sản xuất không chứa môi trường hình, ngay cả khi tôi ép nó với fig.env='figure'. Thay vào đó, TeX chỉ có includegraphics lệnh:

\includegraphics{journal_files/figure-latex/myLabel-1.pdf} 

con số khác trong cùng một tài liệu không có môi trường con số, với chú thích. Tức là, sản lượng TeX "Knit PDF" nên được sản xuất là:

\begin{figure}[htbp] 
\centering 
\includegraphics{journal_files/figure-latex/myLabel-1.pdf} 
\caption{My Citation} 
\end{figure} 

Cửa sổ log Markdown R chỉ cho thấy những thứ không liên quan:

label: myLabel (with options) 
List of 2 
$ fig.cap: chr "My Caption" 
$ fig.env: chr "figure" 

cropping journal_files/figure-latex/myLabel-1.pdf 
PDFCROP 1.38, 2012/11/02 - Copyright (c) 2002-2012 by Heiko Oberdiek. 

Làm thế nào để một trong hai

  • tìm hiểu chính xác những gì đang xảy ra (debug log?) khi tôi nhấn "Knit PDF" và vào TeX (cửa sổ đầu ra "R Markdown" hiển thị không có lỗi nào, và thậm chí là cả lời chú thích [thiếu]!),
  • hoặc, thậm chí tốt hơn, có ai có vấn đề này rất nhiều và biết điều gì sai với RStudio, knitr, và pandoc?

Trả lời

11

Hóa ra, giải pháp là khá đơn giản: trình biên dịch RMarkdown không hiển thị chú thích cho hai nhân vật liên tiếp, như thế này:

```{r myLabel1, fig.cap='My Caption 1'} 
qplot(1:10, 10:1) 
``` 
```{r myLabel2, fig.cap='My Caption 2'} 
qplot(1:10, 10:1) 
``` 

hoặc cho một nhân vật không tách ra khỏi văn bản trong một đoạn văn mới như thế này:

```{r myLabel1, fig.cap='My Caption 1'} 
qplot(1:10, 10:1) 
``` 
As shown in Fig. 2, the inter-galactic distances are strongly correlated with the observed redshift ... 

Trong cài đặt này, phụ đề bị thiếu và không có môi trường hình được tạo trong tệp TeX.

Thay vào đó, giữa hai lô, có phải có ít nhất hai khoảng cách (newline) ký tự. Tức là, này hoạt động độc đáo và cả chú thích hiển thị:

```{r myLabel1, fig.cap='My Caption 1'} 
qplot(1:10, 10:1) 
``` 

```{r myLabel2, fig.cap='My Caption 2'} 
qplot(1:10, 10:1) 
``` 

Mặc dù đây là một tính năng để làm cho nó có thể bao gồm hình ảnh inline, nó sẽ được tốt đẹp nếu có một thông điệp cảnh báo cho các nhân vật với một cuộc tranh luận fig.cap không hiển thị.

+0

Đó là tài liệu trong tài liệu Pandoc: http://johnmacfarlane.net/pandoc/README.html#images Nó không phải là một _error_ (nhưng một _choice_ bạn muốn thực hiện thay vào đó), do đó, rmarkdown không thể thực sự làm nhiều về nó . –

+2

Vâng, tôi không thể suy ra vấn đề này từ thông tin được liên kết hoặc bất kỳ nơi nào khác. Plus, tôi nghĩ rằng, "trình biên dịch" đầu ra nên có ít nhất trình bày một cảnh báo rằng đặt ba backticks vào sự khởi đầu của hai dòng liên tiếp là cái gì đó sẽ không được xử lý một cách chính xác. – fnl

+1

Tài liệu nói rằng "Một hình ảnh xuất hiện ** bởi chính nó trong một đoạn ** sẽ được hiển thị dưới dạng một hình có chú thích", và ** một đoạn ** có nghĩa là một dòng mới. –

Các vấn đề liên quan