如何防止 Sexpr 从字符串中删除空格?

如何防止 Sexpr 从字符串中删除空格?

这是一个字符串变量。

a <- 'This is a sample sentence'

如果我想以内联文本模式打印 PDF,我可以这样写:

$\Sexpr{a}$

但是,我得到的输出是这样的:

Thisisasamplesentence

如何获取原始字符串?

答案1

您的输出完全符合 latex 和 R/knitr 的规则。

如果你看看你的表情

$\Sexpr{a}$

比您看到的用 替代的还要knitr多。\Sexpr{a}This is a sample sentence

新创建的.tex文件现在包含

$This is a sample sentence$

由于句子被两个符号包围,$Latex 将在数学模式下排版该句子。在数学文本(方程式)中,通常不需要空格。这就是为什么 Latex 默认会在数学模式下吃掉所有空格的原因。

下图比较了三个不同变量在文本和数学模式下的排版方式:

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{cellspace}

\setlength\parindent{0pt}

\setlength\cellspacetoplimit{0.6em}
\setlength\cellspacebottomlimit{0.6em}

\begin{document}

\section{Inline Evaluation of R Code}

<<>>=
a <- 'This is a sentence'
b <- 666
c <- '   y   =    m x +   b'
@

\bigskip 

\begin{tabularx}{\linewidth}{S{X}S{X}S{X}}
    \toprule
                        & \texttt{\textbackslash Sexpr\{<Variable>\}} & \texttt{\textbf{\$}\textbackslash Sexpr\{<Variable>\}\textbf{\$}}  \tabularnewline
    \midrule
    Variable \texttt{a} & \Sexpr{a}                                   & $\Sexpr{a}$ \tabularnewline
    Variable \texttt{b} & \Sexpr{b}                                   & $\Sexpr{b}$ \tabularnewline
    Variable \texttt{c} & \Sexpr{c}                                   & $\Sexpr{c}$ \tabularnewline
    \bottomrule
\end{tabularx}

\end{document}

相关内容