在 Pandoc Markdown 中引用内联 Latex 表

在 Pandoc Markdown 中引用内联 Latex 表

我已在 Pandoc Markdown 文档中使用内联 Latex 定义表格。原因是我需要对表格行进行分组(仅在某些行之间使用水平线)。

我正在尝试pandoc-tablenos通过执行以下操作来使用此内联 Latex 表:

  • Table: Caption. {#tbl:id}在表格下方添加(此文本与内联 Latex 的最后一行之间有一个换行符)(如上所述这里
    • 结果:输出 PDF 中存在逐字文本Table: Caption. {#tbl:id}(表格下方),但tbl:id未被识别为有效 ID

带有内联 Latex 表的 Pandoc markdown 文档示例:

# Expressions

Test 123. Table:

\begin{footnotesize}
   \begin{tabular}{ | l l l | } \hline
      \textbf{Expression}        & \textbf{Meaning}            & \textbf{Associativity}     \\ \hline
      \texttt{e1 grouped by e2}  & Add a group to a grouping   & left    \\
      \texttt{e1 where e2}       & Filter a grouping           & left    \\ \hline
   \end{tabular}
\end{footnotesize}

Some more text. *I would like to reference the table here.*

我执行pandoc如下操作来构建一个 Latex 文档:

pandoc --standalone --from markdown -F pandoc-tablenos --pdf-engine=xelatex <input-file>.md -o <output-file>.tex

答案1

您需要在 latex 表中添加标题和表 ID。由于您正在使用tabular且没有浮动环境,因此您必须\captionof从包中使用caption。您可以在 yaml-header 中加载它:

---
header-includes: \usepackage{caption}
---

# Expressions

Test 123. Table:

\begin{footnotesize}
  \captionof{table}{A \LaTeX-table. \label{tbl:latex}}
  \begin{tabular}{ | l l l | } \hline
    \textbf{Expression}        & \textbf{Meaning}            & \textbf{Associativity} \\ \hline
    \texttt{e1 grouped by e2}  & Add a group to a grouping   & left                   \\
    \texttt{e1 where e2}       & Filter a grouping           & left                   \\ \hline
  \end{tabular}
\end{footnotesize}

Some more text. See table @tbl:latex

在此处输入图片描述

您可以忽略该警告:

pandoc-tablenos:错误引用:@tbl:latex。

这只是意味着你没有在pandoc-tablenos语法中定义标签

相关内容