使用knitr从R转换为LaTeX时管道后的空间

时间:2014-07-26 11:24:19

标签: r latex knitr stargazer

我将此代码包含在.Rnw文件中:

\documentclass[a4paper,11pt]{article}

\usepackage{lipsum} % Required to insert dummy text

\begin{document}
\title{}
\date{\today}
\maketitle

\section{Header}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<<model_terms, results = "asis", echo = F>>=
library(stargazer); library(knitr)

df <- data.frame(terms = "predictor1 | predictor2")

stargazer(df, summary = F)

@

\end{document}

如果我在此文件上运行library(knitr); knit(),我会以PDF格式输出:

enter image description here

注意管道之前的空间但不是之后的空间。如何在管道后插入空格。所以输出应该如下所示:

predictor1 | predictor2

1 个答案:

答案 0 :(得分:2)

这里的问题在于观星者如何消毒LaTeX。

变化:

stargazer(df, summary = F)

要:

cat(gsub('textbar', 'textbar{}', capture.output(stargazer(df, summary = F))), sep='\n')

我建议将此报告给包维护者,作为可能的错误。在大多数情况下,我认为\textbar{}表示而不是\textbar可能是用户想要的。