导出到LaTeX时,使组织表格标题显示在表格下方

时间:2013-03-26 16:30:57

标签: emacs latex org-mode

我正在使用org-mode生成一个文档,其中包含很多表,使用内置表功能构建。我已经为表格添加了标题,但是当我将它们导出到LaTeX时,而不是表格下方显示的标题,它会显示在其上方。在手册section on tableslatex export documentation中,除了手动摆弄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文件中的表下方是不可能的,因为它定义了 next 表的标题,如manual中所述。有没有办法让org-mode将标题导出到生成的表格下方?

2 个答案:

答案 0 :(得分:8)

link发布的N.N.中,应用了一个补丁,用于实现允许将字幕置于浮点上方或下方的功能。查看github上的组织模式代码,Emacs 24.1的默认行为是在表格上方放置标题。要在表格下方添加标题,请将org-export-latex-table-caption-above变量设置为nil

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

答案 1 :(得分:7)

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

我在.emacsinit.el文件中添加了下一行:

(setq org-latex-caption-above nil)

正如旁注所示,该变量默认包含值(table),这是我们覆盖nil的值。