LaTeX テーブルである文字列があります。私はn番目(3番目としましょう)の列を見つけようとしていて\emph{}
、区切りのドル記号を一致させずに、すべてを内側にラップしています。
2番目の列である最初の列を探してい&...&
ます。次に、&...&
2 番目のグループ化である次のグループを見つけます。偶然ではなく、表の 3 番目の列を見つけます。
私のダミーの例は機能しますが、 two の間にテキストがあるため、少し異なります&...&
。後の段階で取り組む予定の小さな問題があります。後方参照と前方参照を使用し&
て呼び出しの外に置く必要があります。\emph{}
xy <- "This is &more or less& a match and here is &another one&.\nSecond line with &occurrance 1& and &occurrance 2&"
gsub("(&.*?&)|(.*?&)(.*)(&.*?&)", "\\1\\2\\3\\\\emph{\\4}", xy, perl = TRUE)
[1] "This is &more or less& a match and here is \\emph{&another one&}.\nSecond line with &occurrance 1& and \\emph{&occurrance 2&}"
LaTeXテーブルを使用した読み取りセットに一段階上げると(バム!)、少し異なります。two の間に文字はありません。&...&
つまり、one が&
2 つの列に接しています。それを念頭に置いて、私は削除しました(.*)
。何を試しても、これを機能させることはできません。任意のヒント?
library(xtable)
data(tli)
tli.table <- xtable(tli[1:5,])
x <- print.xtable(tli.table, print.results = FALSE, include.rownames = FALSE)
cat(x)
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Thu Jul 26 14:13:39 2012
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllr}
\hline
grade & sex & disadvg & ethnicty & tlimth \\
\hline
6 & M & YES & HISPANIC & 43 \\
7 & M & NO & BLACK & 88 \\
5 & F & YES & HISPANIC & 34 \\
3 & M & YES & HISPANIC & 65 \\
8 & M & YES & WHITE & 75 \\
\hline
\end{tabular}
\end{center}
\end{table}
gsub("(&.*?&)(&.*?&)", "\\1\\\\emph{\\2}", x, perl = TRUE)