2015-01-08 16 views
10

Rマークダウン(.rmd)で文書を書いています。私はWordとPDFの両方の出力を編むことができるようにしたいと思います。図の番号付けに問題があります。 PDF出力では、数字は自動的に(fig.lpのラテックス出力を介して)番号が付けられましたが、数字はWordでは番号が付けられませんでした。rマークダウン/ニットでpdf出力の自動図表番号を表示しない

多くの検索の後、WordでFigureの番号付けを行うコードが見つかりましたが、今度はPDFを編成するときにダブルページ番号が付けられます。私は新しいので、私は画像を挿入することはできません。しかし、図のキャプションは次のようになります。

図1.図1.何とか何とか何とか

は、PDFの自動番号付けを抑制するための方法はありますか?

同様の質問がhereと尋ねられましたが、解決策は示されていませんでした。 私のYAMLヘッダーと数字のチャンクは以下に含まれています。

YAML:(http://galahad.well.ox.ac.uk/repro/介し見出さ)

output: 
    pdf_document: 
    fig_caption: yes 
    keep_tex: yes 
    word_document: 
    fig_caption: yes 

図ナンバリングコード

figRef <- local({ 
    tag <- numeric() 
    created <- logical() 
    used <- logical() 
    function(label, caption, prefix = options("figcap.prefix"), 
     sep = options("figcap.sep"), prefix.highlight = options("figcap.prefix.highlight")) { 
     i <- which(names(tag) == label) 
     if (length(i) == 0) { 
      i <- length(tag) + 1 
      tag <<- c(tag, i) 
      names(tag)[length(tag)] <<- label 
      used <<- c(used, FALSE) 
      names(used)[length(used)] <<- label 
      created <<- c(created, FALSE) 
      names(created)[length(created)] <<- label 
     } 
     if (!missing(caption)) { 
      created[label] <<- TRUE 
      paste0(prefix.highlight, prefix, " ", i, sep, prefix.highlight, 
       " ", caption) 
     } else { 
      used[label] <<- TRUE 
      paste(prefix, tag[label]) 
     } 
    } 
}) 

次のようにこれは、次にチャンクオプションで呼ばれる:

```{r, echo=FALSE, message=FALSE, fig.width=6, fig.cap=figRef("Ex-Airfoil", "Example NACA Airfoil")} 
+0

大きな質問です。あまりにも私は1つのクレジットポイントを与えることができない悪い。 –

答えて

2

は、方法はありますPDFの自動番号付けを抑制するには?

です。出力形式にformat変数を追加し、figrefにその形式のハンドラを追加します。 RStudioプレビュー版ではformat <- knitr::opts_knit$get("out.format")を使用できますが、リリース版では手動で設定する必要があります。
その後figref()にあなたは出力のために望むものは何でも追加...

if (format == "latex") return(caption) 
    if (!missing(caption)) { 
    --- >8 --- 

個人的に私は、プレビュー版とハンドリングのためのswitch文を使用すると思います。 https://stackoverflow.com/a/27321367/173985の行に沿って。

関連する問題