我正在使用org-mode
生成一个文档,其中包含很多表,使用内置表功能构建。我已经为表格添加了标题,但是当我将它们导出到LaTeX
时,而不是表格下方显示的标题,它会显示在其上方。在手册section on tables和latex 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
将标题导出到生成的表格下方?
答案 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
现在什么都不做。
我在.emacs
或init.el
文件中添加了下一行:
(setq org-latex-caption-above nil)
正如旁注所示,该变量默认包含值(table)
,这是我们覆盖nil
的值。