我想更改一个texreg生成的表格中的字体。我正在编织RStudio的Rmarkdown表,所以不能直接修改LaTeX。
下面是一个例子。标题、系数名称和一些结果都打印在roboto中。其他结果不是这样的。我想把所有的数字都设为roboto或inconsolata。有什么建议吗?
我也想让桌子上的机器人做笔记。
---
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)
库(Nlme)
库(Texreg)
```{r, results='asis', echo=F}模型1 <- lme(距离~年龄,数据=正交牙,随机=~ 1)
模型2 <- lme(距离~年龄+性别,数据=正牙,随机=~ 1)
texreg(list(model.1 1,model.1 2))

发布于 2017-04-25 06:43:01
我对在LaTeX中操作字体还不够熟悉,无法给你一个完整的答案,但希望这能让你更接近你的目标。
基本思想是操作texreg的输入/输出,以满足您的需求,因为texreg本身缺乏这些功能。
在您的例子中,我认为您只需操作输入即可完成所需的操作,但操作输出的方法是使用capture.output,如下所示:
tbl = capture.output(texreg(list(model.1, model.2)))然后使用regex/任何东西来修复那里的输出。
我将使用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}')https://stackoverflow.com/questions/43454141
复制相似问题