Изменение шрифта в таблице texreg

Я хотел бы изменить шрифт в таблице, созданной в формате texreg. Я вяжу Rmarkdown на столе RStudio, поэтому модификация LaTeX напрямую не возможна.

Вот пример. Заголовки, имена коэффициентов и некоторые результаты напечатаны в роботе. Других результатов нет. Я хотел бы сделать все числа робото или инсолата. Предложения?

Я также хотел бы сделать таблицы заметок робото.

---
title: "Untitled"
header-includes:
  - \usepackage{fontspec}
  - \setmonofont[Mapping=tex-text]{inconsolata}
  - \usepackage[sfdefault]{roboto}
  - \renewcommand{\familydefault}{\sfdefault}
output:
  pdf_document:
    latex_engine: xelatex
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = F)
library(nlme)
library(texreg)
```

```{r, results='asis', echo=F}
model.1 <- lme(distance ~ age, data = Orthodont, random = ~ 1)
model.2 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1)
texreg(list(model.1, model.2))
```

1 ответ

Я недостаточно знаком с манипулированием шрифтами в LaTeX, чтобы дать вам полный ответ, но, надеюсь, это приблизит вас к вашей цели.

Основная идея состоит в том, чтобы манипулировать вводом / выводом texreg чтобы дать вам то, что вы хотите с texreg сам по себе не хватает этих возможностей.

В вашем случае, я думаю, что вы можете выполнить то, что вам нужно, только манипулируя вводом, но способ манипулирования выводом заключается в использовании capture.output лайк:

tbl = capture.output(texreg(list(model.1, model.2)))

И используйте регулярное выражение / что угодно, чтобы исправить вывод там.

Я просто собираюсь использовать texttt для иллюстрации подхода:

rename_coef = function(reg) {
  names(reg$coefficients$fixed) = 
    paste0('\\texttt{', names(reg$coefficients$fixed), '}')
  reg
}

model.1 <- rename_coef(lme(distance ~ age, data = Orthodont, random = ~ 1))
model.2 <- rename_coef(lme(distance ~ age + Sex, data = Orthodont, random = ~ 1))

texreg(list(model.1, model.2))

Получит шрифт столбца имени коэффициента для настройки:

# \begin{table}
# \begin{center}
# \begin{tabular}{l c c }
# \hline
#  & Model 1 & Model 2 \\
# \hline
# \texttt{(Intercept)} & $16.76^{***}$ & $17.71^{***}$ \\
#                      & $(0.80)$      & $(0.83)$      \\
# \texttt{age}         & $0.66^{***}$  & $0.66^{***}$  \\
#                      & $(0.06)$      & $(0.06)$      \\
# \texttt{SexFemale}   &               & $-2.32^{**}$  \\
#                      &               & $(0.76)$      \\
# \hline
# AIC                  & 455.00        & 447.51        \\
# BIC                  & 465.66        & 460.78        \\
# Log Likelihood       & -223.50       & -218.76       \\
# Num. obs.            & 108           & 108           \\
# Num. groups          & 27            & 27            \\
# \hline
# \multicolumn{3}{l}{\scriptsize{$^{***}p<0.001$, $^{**}p<0.01$, $^*p<0.05$}}
# \end{tabular}
# \caption{Statistical models}
# \label{table:coefficients}
# \end{center}
# \end{table}

Если вы хотите манипулировать шрифтом таблицы примечаний, используйте custom.note аргумент:

texreg(list(model.1, model.2), custom.note ='\\texttt{Block font note}')
Другие вопросы по тегам