2016-07-03 6 views
1

私はRRMarkdownインラインコードフォーマット

私は本当に著者はたとえばlibrary(MASS)のコードをインラインまたはライブラリを参照するところの本が具体的にどのように配置されるかのように機械学習に関連している瞬間にISLを読んでいます。

Rマークダウンを使用して同じ効果を達成できるかどうか知っていますか?紙でそれを参照するとMASSキーワードが茶色より上になりますか?私はRマークダウン文書でそれらについて話し合ったときに、データフレームの列に色を付ける必要があります。あなたがHTML文書としてそれを編むとき、それはかなり良いの書式を提供していますが、私はMS Wordにそれをニットときそれだけでフォントの種類私がかもしれないと思い、私は解決策を作ってみた

おかげ

+0

私は実際にあなたの特定の問題を理解していませんが、私は答えがあるかもしれないと思う:MS Wordにニットしないでください。代わりにHTMLまたはLaTeX出力を使用してください。 –

+0

こんにちはKonrad ...すばやく返信いただきありがとうございます。基本的には、元の投稿のISLリンクでPDFを開くと、本の紹介はデータセットを経て、書籍の中でそれについて話しているときの各列が茶色に強調表示されます。私は同じ効果を達成したかったのです。私はスーパーバイザーとコラボレーターの両方のために余白にコメントを付けることができるのでMSワードを使用しています –

+0

Wordで実行できるかどうかわかりませんが、http://stackoverflow.com/questions/16405536/knitr -inline-chunk-options-no-evaluation-or-just-render-highlighted-codeおよびhttp://stackoverflow.com/questions/16184962/to-have-r-chunk-in-line-with-text-using -knitr/16185350#16185350 – Sumedh

答えて

1

を変更するようですあなたの問題に対処してください。基本的に、インラインソースコードはコードチャンクと同じスタイルラベルを取得するため、SourceCodeに加えた変更は両方のチャンクに適用されますが、私はあなたが望むとは思っていません。代わりに、から可能ではないように見えるインラインコードをターゲットにする方法が必要です。代わりに、私が選んだのは、生成された.docxファイルを取り込み、.zipファイルに変換し、その中の.xmlファイルを変更することです。これはインラインソースコードテキストに新しいスタイルを適用し、MS Wordテンプレートで変更することができます。コードは次のとおりです。

format_inline_code = function(fpath) { 
    if (!tools::file_ext(fpath) == "docx") stop("File must be a .docx file...") 
    cur_dir = getwd() 
    .dir = dirname(fpath) 
    setwd(.dir) 
    out = gsub("docx$", "zip", fpath) 

    # Convert to zip file 
    file.rename(fpath, out) 

    # Extract files 
    unzip(out, exdir=".") 

    # Read in document.xml 
    xml = readr::read_lines("word/document.xml") 

    # Replace styling 
    # VerbatimChar didn't appear to the style that was applied in Word, nor was 
    # it present to be styled. VerbatimStringTok was though. 
    xml = sapply(xml, function(line) gsub("VerbatimChar", "VerbatimStringTok", line)) 

    # Save document.xml 
    readr::write_lines(xml, "word/document.xml") 

    # Zip files 
    .files = c("_rels", "docProps", "word", "[Content_Types].xml") 
    zip(zipfile=out, files=.files) 

    # Convert to docx 
    file.rename(out, fpath) 

    # Remove the folders extracted from zip 
    sapply(.files, unlink, recursive=TRUE) 

    setwd(cur_dir) 
} 

MS Wordテンプレートで変更したいスタイルは、VerbatimStringTokです。希望が助けてくれる!