2017-04-17 7 views
1

texreg生成テーブルのフォントを変更したいと思います。私はテーブルRStudioのRmarkdownを編んでいるので、LaTeXを直接変更することはできません。texregテーブルのフォントを変更する

例を示します。見出し、係数名、および結果の一部はロボトに印刷されます。他の結果はありません。私はすべての数字をロボットまたは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) 
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)) 
``` 

enter image description here

答えて

0

私はあなたに完全な答えを与えるためにはLaTeXのフォントを操作すると、十分慣れていないんだけど、うまくいけば、これはあなたの目標にあなたがずっと近くなります。

基本的な考え方は、texreg自体にこれらの機能がないため、入力/出力をtexregで操作することです。あなたのケースでは

は、私はあなたが入力のみを操作することによって、あなたが必要なものを達成することができると思いますが、出力を操作する方法は次のようにcapture.outputを使用することです:アップ修正するために何でも/

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

そして、正規表現を使用しますそこの出力。

私はアプローチを例示するためにtextttを使用するつもりです:あなたはのフォントを操作したい場合は

# \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} 

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

は、係数名前欄フォントカスタマイズするを取得しますテーブルノートには、custom.note引数を使用してください:

texreg(list(model.1, model.2), custom.note ='\\texttt{Block font note}') 
+0

ありがとう、@MichaelChirico。非常に有益。出力を変更するあなたのアイデアは、別のアプローチを考えました:ファイルにtexテーブルを保存してから、Rmdファイルで '\ input {}'を呼び出してください。 [このTexの回答](https://tex.stackexchange.com/a/286772/30017)有望なようです... –

+0

この回答は私の問題を解決します:https://tex.stackexchange.com/a/366745/30017 。 –

関連する問題