观星者如何使LaTeX表格列左对齐

22

stargazer自动将表格中的值居中。 我如何左对齐列?

将此代码放入.Rnw文件中,并使用knitr转换为.tex:

<<load, echo=FALSE, warning=FALSE, message=FALSE>>=
opts_chunk$set(eval=TRUE, echo=FALSE, warning=FALSE, message=FALSE, dpi=300)
@


\documentclass[a4paper,11pt]{article}
\usepackage{lipsum} % Required to insert dummy text

\begin{document}
\title{}
\author{}
\date{\today}
\maketitle

\section{Header}

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

<<iris, results = "asis">>=
library(stargazer)
stargazer(iris[1:10,4:5], summary  = FALSE)
@

\end{document}

这是PDF输出:

在此输入图片描述


1
快速且简单的方法是使用正则表达式在\begin{tabular}中查找ccc字符串,并将其更改为lcc - Roman Luštrik
2
后处理似乎是唯一的方法。[内置样式也没有对齐功能。] (https://github.com/cran/stargazer/blob/da70f63c256937463ba19c9eb5cd3bd9055c3e4c/R/stargazer-internal.R#L217) - Thell
对于这样简单的表格,为什么你还坚持使用 stargazer?你可以使用 xtable 等工具来更精细地调整 LaTeX 表格。 - daroczig
1个回答

4

正如评论中所指出的那样,您可以对stargazer的输出进行后处理,或者使用xtable。我将展示这两种方法。

  1. post-processing: Replace your code chuck with the following two code chunks

    <<echo=FALSE, results=hide>>=
    library(stargazer)
    tab <- stargazer(iris[1:10,4:5], summary  = FALSE) 
    @
    
    <<results=tex, echo=FALSE>>=
    collapse <- function(st) paste(st, collapse="")
    st <- gsub(collapse(rep("c", 3)), collapse(rep("l",3)), tab)
    cat(st[4:24])
    @
    
  2. xtable: After installing the xtable package, you could use this as your code chuck

    <<iris, results="asis", echo=FALSE>>=
    library(xtable)
    print(xtable(iris[1:10,4:5], align="lll", caption=""))
    @
    
我认为使用xtable方法可能更容易一些。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接