13

我正在生成一个文档,org-mode其中包含很多表格,这些表格是使用内置表格功能构建的。我已经为表格添加了标题,但是当我将它们导出到 时LaTeX,而不是出现在表格下方的标题,它出现在它的上方。在表格乳胶导出文档的手册部分中,除了LaTeX手动摆弄代码之外,没有提及任何更改此方法的方法。作为说明,以下代码片段显示了导出在带有标题的示例表上生成的内容。

#+CAPTION: Results using two methods with different parameter settings.
#+LABEL: tbl:rescomp
| Parameter | Result 1 | Result 2 |
|-----------+----------+----------|
|       0.5 |      0.1 |      0.8 |
|         1 |      0.8 |      0.1 |

出口:

\begin{table}[htb]
\caption{Results using two methods with different parameter settings.}
\label{tbl:rescomp}
\begin{center}
\begin{tabular}{rrr}
 Parameter  &  Result 1  &  Result 2  \\
\hline
       0.5  &       0.1  &       0.8  \\
         1  &       0.8  &       0.1  \\
\end{tabular}
\end{center}
\end{table}

这个问题可以很简单地解决。标题出现在文档中的表格上方,因为它在代码中的表格上方。将标题定义移动到表格部分下方可解决此问题:

\begin{table}[htb]

\begin{center}
\begin{tabular}{rrr}
 Parameter  &  Result 1  &  Result 2  \\
\hline
       0.5  &       0.1  &       0.8  \\
         1  &       0.8  &       0.1  \\
\end{tabular}
\end{center}
\caption{Results using two methods with different parameter settings.}
\label{tbl:rescomp}
\end{table}

将标题定义放在 org 文件中的表格下方是不可能的,因为它定义了下一个表格的标题,如手册中所述。有什么方法可以org-mode导出生成的表格下方的标题?

4

2 回答 2

12

只需更新答案,Org-mode version 8.3.2因为设置org-export-latex-table-caption-abovenil现在什么都不做。

我将下一行添加到我的.emacsorinit.el文件中:

(setq org-latex-caption-above nil)

顺便说一句,该变量(table)默认包含值,这是我们要覆盖的值nil

于 2015-12-02T17:08:55.450 回答
10

NN发布的链接中,应用了一个补丁来实现允许将字幕放置在浮动上方或下方的功能。查看github上的 org-mode 代码,Emacs 24.1 的默认行为是在表格上方放置标题。要将标题放在表格下方,请将变量设置为:org-export-latex-table-caption-abovenil

M-x customize-variable RET org-export-latex-table-caption-above RET nil

或者

M-x set-variable RET org-export-latex-table-caption-above RET nil
于 2013-03-26T18:20:33.277 回答