2

パーセント (%) 記号を持つ単位列を持つラテックス テーブルをエクスポートしたいと考えています。

library(xtable) 
foo <- data.frame(units='%', citation = '\\citep{authorYYYYabc}')
print(xtable(foo), sanitize.text.function = function(x) {x})

注: Joris の回答以降、上記のコードは変更されています。

この場合、'%' は LaTeX によってコメントとして解釈されます。

私が試してみました

gsub('%', '\\%', foo)

戻り値

[1] "1"

LaTex がコメントアウトできるように、% を \% に変換するにはどうすればよいですか?

この質問は、前の質問「 R は ('\') を貼り付けることができますか?」と少し似ています。; 同じテーブルを磨いても、この特定のケースを理解できません。

4

2 に答える 2

2

あなたのことを完全に正しく理解しているかどうかはわかりません。xtable(foo) を実行すると、% は正しくエスケープされます。

...
  \hline
1 & \% \\ 
   \hline
...

他の何かのためにエスケープ スラッシュを作成したい場合は、 gsub に 4 つのエスケープ スラッシュが必要です。

> x <- gsub('%', '\\\\%', foo[,1])
> x
[1] "\\%"
> cat(x,"\n")
\% 

注意してください、データフレームでは gsub できず、ベクターでのみ gsub できます。これは、

> as.character(foo)
[1] "1"
于 2011-02-17T17:11:37.207 に答える