2016-07-15 14 views
1

rmarkwown使用してHTMLにLaTeXのテーブルをレンダリングしない:私はRMDファイルに次の表をレンダリングしようとしています

\begin{table}[] 
\centering 
\caption{My caption} 
\label{my-label} 
\begin{tabular}{|l|} 
\hline 
\\ \hline 
\end{tabular} 
\end{table} 

をこれまでのところ成功を。 rmarkdownがLaTeX環境(方程式以外)をHTMLにコンパイルできない根本的な理由はありますか?

答えて

2

マークダウン文書では、予想される入力マークアップ言語は(r)markdownです。 pandocは、任意に混在したマークアップ言語を自動的に認識するとは限りません。 LaTeXの数学マークアップは、これを扱うrmarkdown extensionがあるため、マークダウン文書でのみ使用できます。

しかし、rmarkdown文書の質問に示されているようなLaTeXテーブルを使用することは可能です。私はthis answerに "inverse"(RNW文書のマークダウンテーブル)を示しました。これは、他の状況では失敗するかもしれない、むしろ実験的なアプローチであることに注意してください。

tex2markdownの背後にある考え方は、hereと説明されています。

--- 
output: html_document 
--- 

# My document 

This is `rmarkdown`. 

This table is converted from LaTeX: 
```{r, results = "asis", echo = FALSE, message = FALSE} 
library(knitr) 

tex2markdown <- function(texstring) { 
    writeLines(text = texstring, 
      con = myfile <- tempfile(fileext = ".tex")) 
    texfile <- pandoc(input = myfile, format = "html") 
    cat(readLines(texfile), sep = "\n") 
    unlink(c(myfile, texfile)) 
} 

textable <- " 
\\begin{table}[] 
\\centering 
\\caption{Food order} 
\\begin{tabular}{| l | l |} 
\\hline 
Hamburgers & 3 \\\\ 
Hot dogs & 2 \\\\ \\hline 
\\end{tabular} 
\\end{table} 
" 

tex2markdown(textable) 
``` 

--- 

Time for *lunch*. 

LaTeXのすべての機能をHTMLに変換できるわけではありませんが、単純な作業ではうまくいくはずです。バックスラッシュは、追加のバックスラッシュでエスケープする必要があることに注意してください。

これは主に概念の証明です。プロダクションでは、RNWドキュメントのLaTeXテーブルとRMDドキュメントのマークダウンテーブルを使用してください。

関連する問題