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

heu*_*cus 11 emacs latex org-mode

我正在制作一个文档,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 |
Run Code Online (Sandbox Code Playgroud)

出口:

\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}
Run Code Online (Sandbox Code Playgroud)

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

\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}
Run Code Online (Sandbox Code Playgroud)

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

heu*_*cus 8

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

M-x customize-variable RET org-export-latex-table-caption-above RET nil
Run Code Online (Sandbox Code Playgroud)

要么

M-x set-variable RET org-export-latex-table-caption-above RET nil
Run Code Online (Sandbox Code Playgroud)

  • 在组织模式的最新版本(2016年12月)中,我们需要使用变量`org-latex-caption-above` (4认同)

sil*_*gon 7

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

我加入了下一行我.emacsinit.el文件:

(setq org-latex-caption-above nil)
Run Code Online (Sandbox Code Playgroud)

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