我喜欢用尽可能少的包来控制所有数字输出的想法。
我用mathpazo
它来控制字体和siunitx
格式。然而,当我用 R 包编织 LaTeX 表格时,stargazer
我失去了对格式的控制,当我使用对齐选项时,字体样式也失去了控制。
请考虑以下 MWE
% Sweave document
\documentclass{article}
\usepackage[osf,sc]{mathpazo}
\usepackage{dcolumn}
\usepackage{pgfplotstable}
\usepackage[group-separator={,}]{siunitx}
\sisetup{
detect-all,
detect-inline-family=math,
detect-inline-weight=math,
detect-display-math=true,
round-mode=places,
round-precision=2,
round-minimum = 0.01}
\begin{document}
134.232343 format as \num{134.232343}
250000 format as \num{250000}
0.0000001 format as \num{0.0000001}
<<lm, results='asis', echo=FALSE>>=
require(stargazer)
set.seed(1)
x <- rnorm(100)
y <- rnorm(100)
stargazer(lm(x~y),
align=TRUE)
stargazer(lm(x~y))
@
\end{document}
其产生(如预期)以下内联数字格式
第一个表的mathpazo
前两行既不应用字体样式(因为选项align
),也不强制siunitx
设置
mathpazo
第二个表在所有行中一致适用,但不适用于siunitx
设置
我猜问题出在表格环境的不同设置上。在第一种情况下
\begin{tabular}{@{\extracolsep{5pt}}lD{.}{.}{-3} }
第二种情况
\begin{tabular}{@{\extracolsep{5pt}}lc}
我不确定如何通过stargazer
选项来控制。我想要的是通过siunitx
设置来控制表格输出,并避免mathpazo
在使用选项时丢失align
。这可能吗?