Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rmarkdown knit pdf - getting underlined text instead of italic using *italic* (huxtable issue?)

Rmarkdown text (between chunks) when formated italic using * * knits to pdf underlined and not italic format when I print huxtable.

Here is my example:

``` 
---
title: "<center><center>"
author: "<center> jd <center><br>"
date: "<center> `r Sys.Date()` <center>"
output:
  pdf_document:
    fig_caption: yes
    toc: yes
    toc_depth: 3
    number_sections: true
    latex_engine: xelatex
  html_document:
    code_folding: show
    df_print: paged
    theme: yeti
    highlight: tango
    toc: yes
    toc_float:
      collapsed: false
      smooth_scroll: false
    number_sections: true
  fontsize: 10pt
---

This * * makes text *italic*.

```{r lib, message = FALSE}
library(huxtable)
library(tidyverse)

data(iris)
dt_hux <- iris[1:5,1:5] %>% as_hux() %>% 
  set_font_size(8) %>% set_font("Arial") %>% 
  set_bold(1, everywhere) %>% 
  set_top_border(1, everywhere) %>% 
  set_bottom_border(c(1, 6), everywhere)```


Until this point using * * will give italic format in knit pdf (if next chunck is not run). 
But after the next chunk is run * * will underline text (in whole Rmarkdown). Commenting out **dt_hux** returns formatting to italic. Also knit to html will print italic formatting even with dt_hux.


```{r table}
options(huxtable.latex_use_fontspec = TRUE)
options(huxtable.print=print_latex)

dt_hux```
``` 

Is there a solution to this issues as I need to print huxtable in pdf?

like image 767
Edlenil Avatar asked Nov 19 '25 23:11

Edlenil


2 Answers

From the TeXnical perspective the problem is that the ulem package is loaded without the normalem option. A couple of workarounds:

  • use classoption: normalem (based on Knitr hook to add code before \documentclass line in tex file to avoid options clash with xcolor). Caveat: this will pass the option to all packages and might be undesired in case the same option name is also used by other packages (I'm not aware of any other package that uses this option, but just in case ...)

  • add \normalem either as header-include or at the start of your document

like image 54
samcarter_is_at_topanswers.xyz Avatar answered Nov 23 '25 09:11

samcarter_is_at_topanswers.xyz


This problem was fixed in huxtable 5.2.0, so you just need to update your package.

like image 27
dash2 Avatar answered Nov 23 '25 09:11

dash2



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!