无法使用RStudio RMarkdown使用LaTeX \ hline构建pandoc

时间:2016-02-11 15:40:15

标签: latex rstudio knitr pandoc

注意:此摘要可以通过其他每行需要一行的摘要调用来最大化,因此在每个表的每一行之间放置行的解决方案将不起作用。仅需要我创建的表格。

使用最新的RStudio,我有一个对象类型,summary.type生成表的Pandoc输出。我想在pdf / LaTeX输出中,在表的每一行之间有一条水平线。我的所有尝试都失败并出现错误:

! Misplaced \noalign.
\hline ->\noalign 
                  {\ifnum 0=`}\fi \hrule \@height \arrayrulewidth \futurelet...
l.207 \hline

pandoc: Error producing PDF from TeX source

在.md文件中给出以下内容:

------------------------------------------------------------------------------------------------
               term        estimate    std.error   statistic   p.value     N           adj.rsq   
------------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
**1**         NA          26.8        0.766       35          0           1466        0.004      

**2**         NA          0.012       0.012       0.939       0.348       .           .          

-------------------------------------------------------------------------------------------------

Another option is to add labels after you have created the table

\hline

执行以下命令(由RStudio创建):

/Applications/RStudio.app/Contents/MacOS/pandoc/pandoc + RTS -K512m -RTS type.md --to latex - from markdown + autolink_bare_uris + ascii_identifiers + tex_math_single_backslash-implicit_figures --output type.pdf - 目录--toc-depth 3 - 模板〜/ Library / R / 3.2 / library / rmarkdown / rmd / latex / default-1.14.tex --highlight-style tango --latex-engine / Library / TeX / texbin / pdflatex --variable graphics = yes --variable' geometry:margin = 1in'

删除最后一行(" \ hline"),一切都正确编译。

当我创建html而不是pdf时,\ hline被忽略(应该是这样)并且文件已成功创建。

我做错了什么?我可以在Pandoc输出中嵌入的最小LaTeX是什么,以便在表格的每一行都有一条线?

尝试解决方案:

  1. 使用\ hrulefill:问题:只会填充单个列的90%。将它放在每一列中都不会填充该行
  2. 使用" ---"告诉Pandoc我需要一条水平线:问题:结束表格
  3. 更改LaTeX模板,以便每个表的每一行都有一行分隔它:问题:只想对summary.myType创建的行执行此操作,而不是对文档中任何位置的所有表执行此操作
  4. 尝试了解决方案和结果:

    ------------------------------------------------------------------------------------------------
                   term        estimate    std.error   statistic   p.value     N           adj.rsq   
    ------------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
    **1**         NA          26.8        0.766       35          0           1466        0.004      
    
    \hrulefill    \hrulefill  \hrulefill  \hrulefill  \hrulefill  \hrulefill  \hrulefill  \hrulefill  
    
    **2**         NA          0.012       0.012       0.939       0.348       .           .          
    
    ---
    
    **3**         NA          -0.718      0.291       -2.469      0.014       .           .          
    
    -------------------------------------------------------------------------------------------------
    
    Another option is to add labels after you have created the table
    

    What happened w/ 1st 2 solutions

1 个答案:

答案 0 :(得分:0)

答案是没有答案。这是Pandoc降价的tex的剪辑 - > tex转换器正在创建:

\begin{longtable}[c]{@{}llll@{}}
\toprule
\begin{minipage}[b]{0.16\columnwidth}\raggedright\strut
\strut\end{minipage} &

每个单元格都有自己的“页面”,具有自己的边距,因此生成线条的任何内容都不能超出该页面,并且可以延伸到这些边距。

如果没有创建一个模板,迫使LaTeX在文件中每个表的每一行的末尾添加一行(如建议的那样here),我不相信有任何办法可以做我的工作想要,不要自己为桌子编写LaTeX。