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]]

