首页 > 解决方案 > 表格标题错位且未生成表格列表

问题描述

我正在使用 Papaya 包在 RMarkdown 中编写一个 APA 样式的文档,它编译成 LaTeX,然后由 pandoc 编译成 pdf。我知道一小部分 LaTeX,我对 RMarkdown 不熟悉,并被要求使用它。所以我在这里有两个问题,提前感谢您的帮助。这些问题可能与 Rmarkdown/Papaya 有关,但也可能与 LaTeX 相关,因此即使您不了解 RMarkdown,您可能仍然知道一些事情。

第一个问题。我的 RMarkdown 文件中有下表,

\begin{center}
    \begin{tabular}{| c | c | c | c | c | c | c |}
    \hline
    Model & Composability & Unboundness & Comm. & Sync.  & Distribution & Mobility\\ \hline
    $\pi$ & explicit & explicit & shared-mem & sync  & NA & NA \\ \hline
    Join & explicit & implicit & shared-mem & sync & implicit & implicit\\ \hline
    Ambient & explicit & explicit  & shared-mem & sync & explicit & explicit\\ \hline
    Actor & NA & implicit & message-pass & async & implicit & implicit \\ \hline
    \end{tabular}
    \captionof{table}{Summary of Properties of Concurrency Models}\label{summary}
\end{center}

我想知道如何使标题成为单行并在生成的 pdf 文件中居中?它现在跨越两行并且不居中(参见此屏幕截图)。

第二个问题。我还想在目录之后生成一个表格列表。当我\listoftables与其他 LaTeX 命令一起添加到 RMarkdown 文件的开头部分时,\listoftables生成的 .tex 文件中丢失了,但下面显示的其他命令(例如,\newcommand保留在 .tex 文件中)。

```{r analysis-preferences}
# Seed for random number generation
set.seed(42)
knitr::opts_chunk$set(cache.extra = knitr::rand_seed)
```
\listoftables

\newcommand{\defeq}{\vcentcolon=}

\newcounter{equationset} 
\newcommand{\equationset}[1]{% \equationset{<caption>}
  \refstepcounter{equationset}% Step counter
  \noindent\makebox[\linewidth]{Equation set~\theequationset: #1}}

\lstset{
  basicstyle=\ttfamily,
  mathescape
}

然后我注意到在 RMarkdown 文件的开头有一个选项

tablelist         : no

我把它改成

tablelist         : yes

但我收到以下新的编译警告:

Warning message:
Package tocloft Warning: \@starttoc has already been redefined; tocloft bailing
 out. on input line 1147. 

我包含在 RMarkdown 文件中的 LaTeX 包是:

header-includes:
   - \usepackage{amsmath}
   - \usepackage{mathtools}
   - \usepackage{listings}
   - \usepackage{caption} 

标签: latexr-markdown

解决方案


推荐阅读