una - ¿Cómo cambiar el color de la fuente?
r markdown the definitive guide pdf (6)
En RMarkdown, ¿hay alguna forma de especificar el color de la fuente?
No parece haber una opción mientras navega por las opciones de fragmentos
Básicamente usé la respuesta de Nicholas Hamilton, pero debido a que usé
xtable
e
print
, tuve algunos problemas con ciertas secuencias de látex que se escaparon.
A saber,
//textcolor
se transforma en
$/backslash$textcolor
.
Pude hacerlo bien evitando la desinfección de la siguiente manera:
<div custom-style=“DivCol”>Whole paragraph of colored text</div>
Just a <span custom-style=“SpanCol”>few words</span> of colored text
Luego tuve que ir y desinfectar manualmente algunos caracteres como
%
pero al menos
/textcolor
se aplicó correctamente.
Por supuesto, esto podría evitarse expandiendo su propia función de desinfección.
Creo una función como esta:
#Color Format
colFmt = function(x,color){
outputFormat = knitr::opts_knit$get("rmarkdown.pandoc.to")
if(outputFormat == ''latex'')
paste("//textcolor{",color,"}{",x,"}",sep="")
else if(outputFormat == ''html'')
paste("<font color=''",color,"''>",x,"</font>",sep="")
else
x
}
Luego puede usarlo en línea de esta manera:
`r colFmt("MY RED TEXT",''red'')`
, y el texto en color se representará independientemente de si se trabaja en documentos de látex o HTML.
Esto parece funcionar muy bien en ambos formatos de salida, pdf y html:
Roses are $/color{red}{/text{beautiful red}}$,
violets are $/color{blue}{/text{lovely blue}}$.
Espero eso ayude.
La respuesta dada en el enlace proporcionado por @Ben Bolker:
Roses are <span style="color:red">red</span>,
violets are <span style="color:blue">blue</span>.
funciona si selecciona HTML (ioslides) como formato de salida.
Sin embargo, no funciona si selecciona pdf (beamer) como formato de salida. Si desea crear un pdf, use la sintaxis de LaTeX:
Roses are /textcolor{red}{red}, violets are /textcolor{blue}{blue}.
Otros han proporcionado respuestas para resultados distintos de Word. Para Word, puede usar la sintaxis de estilo personalizado de Pandoc para lograr esto con la ayuda de un documento de Word de referencia. Primero, dentro de su plantilla reference.docx, cree un nuevo estilo de Word con un nombre corto y distinto. Si desea que su color de fuente se aplique a un párrafo completo, puede usar el tipo de estilo predeterminado, “Párrafo vinculado y carácter”. Si solo desea enfatizar algunas palabras en un párrafo con color, debe seleccionar el tipo de estilo “Carácter”. Cambie el color de fuente (y cualquier otro estilo que necesite) y guarde el archivo reference.docx.
Luego, dentro de su archivo .Rmd, puede usar la etiqueta de la siguiente manera:
```{r results=''asis''}
tbl = data.frame(a = letters[1:10], b = 1:10 / 10)
tbl$b = ifelse(tbl$b < 0.5, colFmt(tbl$b, "red"), colFmt(tbl$b, "green"))
print(xtable(tbl), sanitize.text.function = identity)
```
Una palabra sobre los nombres de estilo: por razones que no entiendo, este proceso no funcionó con el nombre de estilo "Span_Add" pero "SpanAdd" estuvo bien.
Una solución agnóstica de formato de salida sería utilizar la función dedicada
text_spec()
en el paquete
kableExtra
:
Roses are `r kableExtra::text_spec("red", color = "red")`,
violets are `r kableExtra::text_spec("blue", color = "blue")`