Hola Manuel
Muchas gracias.
En efecto, la técnica era usar la función sanitize.text sobre el producto de
salida del xtable antes de enviarlo a la salida del proceso.
Para los que lo uséis, hay que poner atención porque ''elimina los
enmascaramientos sobre comandos látex existentes'', que es lo que se
buscaba, pero si tenemos en el texto caracteres con significado para látex (%,
etc.), el parser posterior (pdflatex o el que uséis) lo intentará procesar, por
lo que deberéis enmascarar vuestro texto original primero, añadir los comandos
de formateo de celda allí donde interese (ese es al menos mi caso), aplicar el
xtable sobre una variable y "sanitizar" el resultado para que se
''descubran'' los comandos látex que se han puesto y no haya
efectos laterales con el texto ''bueno''.
Lo dicho, muchísimas gracias porque la clase xtable ha redefinido el método
print con un montón de posibilidades que yo, en mi ingenuidad habitual, había
minusvalorado, si bien es cierto que la ayuda es más bien parca para lo que
luego puede hacer. Hace maravillas !!!!
Joaquín
----- Original Message -----
Hola Joaquín, (cc: r-help-es)
$\backslash$ es incorrecto, se interpreta como fórmula matemática. Ahí
necesitas \textbf a secas.
Para ello puedes redefinir la función sanitize.text.function:
vv<-rbind(c(1,1,0,1),c(0,0,1,1))
vv[2,3]<-paste("\\textbf{",vv[2,3],"}",sep="")
print(xtable(vv), sanitize.text.function=function(x){x})
Y con eso tienes el resultado deseado:
% latex table generated in R 2.10.0 by xtable 1.5-6 package
% Mon Mar 15 11:45:35 2010
\begin{table}[ht]
\begin{center}
\begin{tabular}{rllll}
\hline
& 1 & 2 & 3 & 4 \\
\hline
1 & 1 & 1 & 0 & 1 \\
2 & 0 & 0 & \textbf{1} & 1 \\
\hline
\end{tabular}
\end{center}
\end{table}
Saludos
Manuel Castejón Limas
Universidad de León
J_Ordieres wrote:
Hola, buenas tardes:
Necesitaba un poco de socorro con xtable, si fuese posible.
Mi problema es que quiero ''formatear'' específicamente
algunas celdas de una tabla generada con xtable y no soy capaz.
Detallo el problema de ejemplo:
vv<-rbind(c(1,1,0,1),c(0,0,1,1))
vv[2,3]<-<-paste("\\textbf{",vv[2,3],"}",sep="")
xtable(vv)
> xtable(vv)
% latex table generated in R 2.10.1 by xtable 1.5-6 package
% Sat Mar 13 20:12:43 2010
\begin{table}[ht]
\begin{center}
\begin{tabular}{rllll}
\hline
& 1 & 2 & 3 & 4 \\
\hline
1 & 1 & 1 & 0 & 1 \\
2 & 0 & 0 & $\backslash$textbf\{1\} & 1 \\
\hline
\end{tabular}
\end{center}
\end{table}
Como veis, hábilmente xtable ha enmascarado el código latex de la negrita.
El planteamiento es lógico, pues se supone que la gente quiere
''ver'' lo que tienen sus datos, pero eso me mata porque no se
cómo poner en negrita o itálica o .. UNA CELDA EN CONCRETO.
¿Podríais ayudarme?
Muchas gracias por anticipado.
J. Ordieres
UPM
----------------------------------------------------------------------------
_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]