質問

私が実施したアンケートの最後に、アンケートでカバーできなかった内容を記入していただく自由回答ボックスを回答者に渡します。これらのコメントは多くの場合、数ページに及びます。私はよく知っています longtable LaTeX 用のパッケージであり、私がモックアップしたソリューションは次のとおりです。

<<results = tex>>=
cat("\\begin{longtable}{p{14cm}}\n")
cat("\\hline\n")
write.table(toBePrinted, eol = "\\\\\n", col.names = FALSE)
cat("\\hline\n")
cat("\\end{longtable}")
@

このソリューションは技術的には機能しますが、あまり洗練されていないように見えるため、改善する必要があります。関連する質問が 2 つあります。

  1. として扱われる Sweave 出力のテキスト衛生化のヒント tex. 。たとえば、誰かがこう言ったら Your survey is awesome & I would take more surveys for $$$ 100% of the time! 特殊文字 &, $, % 処理中に大混乱を引き起こす LaTeX. 。のリストより効率的なものはありますか gsub 不快なキャラクターを慈善的なものに置き換えるよう呼びかけていますか?
  2. これらの長いコメントを印刷するより良い方法の提案 Sweave & LaTeX.
役に立ちましたか?

解決

あなたは、ラテックステーブルを作成するためのパッケージxtableを見てみることができ、それはlongtable Iの推測では非常にうまく機能しません。また、オプションの「longtable」を持ち、出力をより細かく制御することができますパッケージHmisc、関数ラテックスを見てみます。

ラテックスで使用される特殊文字のスラッシュを追加するには、このような何かを行うことができます

add.slash <- function(x){
    where <- embed(c(1,gregexpr("[&#$%]",x)[[1]],nchar(x)+1),dim=2)
    out <- paste(apply(where,1,function(y){substr(x,y[2],y[1]-1)}),collapse="\\")
    return(out)
}

> x <- "I print $ and % and & and # and . and ! and ,"

> cat(add.slash(x),"\n")
I print \$ and \% and \& and \# and . and ! and , 
<時間>

編集: [:PUNCT:[]]を使用すると、それはまた、句読点を変更するというように、間違っています。コードが修正されます。バックスラッシュは本当に問題がある。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top