如何使用正确的位置 [h] 将 org-mode table 导出到 LaTeX?
How to export a org-mode table to LaTeX with the correct placement [h]?
我正在尝试将 table 从我的组织文件导出到 LaTeX,它看起来像这样。
#+LATEX_HEADER: \usepackage{adjustbox}
* table test
#+begin_table
#+LATEX: \caption{my caption}
label:tab:mylabel
#+ATTR_LATEX: :placement [h]
#+LATEX: \centering
#+LATEX: \adjustbox{max width=\linewidth}{
#+ATTR_LATEX: :center nil
| | |
| id | Question |
|----+--------------------------|
| | |
| 1 | Does it export with [h]? |
#+end_table
我想让导出的 TeX 看起来像这样:
...
\begin{table}[h]
\caption{my caption}
\label{tab:mylabel}
\centering
\adjustbox{max width=\linewidth}{
\begin{tabular}{ll}
& \
id & Question\
\hline
& \
1 & Does it export with [h]?\
\end{tabular}
\end{table}
...
但只有我才得到
...
\begin{table}
\caption{my caption}
\label{tab:mylabel}
\centering
\adjustbox{max width=\linewidth}{
\begin{tabular}{ll}
& \
id & Question\
\hline
& \
1 & Does it export with [h]?\
\end{tabular}
\end{table}
...
使用以下版本
GNU Emacs 25.1.1(x86_64-apple-darwin15.5.0,NS appkit-1404.47 版本 10.11.5(Build 15F34))2017-01-06
组织模式版本 9.0.5 (release_9.0.5-444-g998576 @ ~/git/org-mode/lisp/)
我也试过了
#+ATTR_LATEX: :float t :placement [h]
#+ATTR_LATEX: :center nil :float t :placement [h]
#+ATTR_LATEX: :center nil :placement [h]
#+begin_table :placement [h]
#+begin_table :float t :placement [h]
我在互联网上的搜索只找到了一些 2010 年的电子邮件,其中存在 org-latex.el。因为它仍然存在于文档中,所以我认为它应该可以正常工作。
所以有人可以帮助我吗?或者泄露我必须用来寻找答案的 Google 的魔法词?
谢谢@Nick,我们走在正确的道路上,遗憾的是没有走到尽头。
好吧,我不想中断解析,它解释了一些事情。
我还有一些要求和事情要解释。
起初我的一些 table 有点宽,像这样:
| id | Question |
|----+---------------------------------------------------------------------------------------------------------------------------|
| 1 | Does it export with [h]? |
| 2 | I have some tables witch are very wide so What if you have a really wide table wich needs to be shrinked to the right size |
Adjustbox 包是我发现的第一个将整个栏缩小到正确宽度的包。我尝试了您建议的 tabulrx
,但它没有缩小 table 的内容。没有缩小我的大部分 table 看起来有线。
第二件事,我正在使用 org-ref
。使用您的版本( 我希望 2 个概率消失时)在我的盒子上导出到:
\caption{\label{tab:org56e3a68}
My caption}
我按照文档中的预期添加了 #+lable: tab:my-label
。在 #+caption:
和 #+name:
之前和之后添加它,但它不会更改 .tex 文件中的任何内容。
有什么想法吗?
我可以做你想做的一切,除了调整框的东西:
#+BIND: org-latex-prefer-user-labels t
* table test
#+caption: My caption
#+name:my-label
#+ATTR_LATEX: :placement [h] :center t
| | |
| id | Question |
|----+--------------------------|
| | |
| 1 | Does it export with [h]? |
我不知道 \adjustbox 是做什么的,也不知道它应该如何使用,也不知道它应该放在哪里;但是,您不能在 #+caption 和 table 之间添加 #+LATEX: 行:它们显然会破坏解析。
您可以向 ATTR_LATEX 行添加另一个属性:
#+ATTR_LATEX: :placement [h] :center t :width \linewidth
但不清楚是否符合您的要求。另外,我刚刚测试过,它什么也没做:那是因为标准环境是 tabular
,它不带宽度参数。以下作品:
#+ATTR_LATEX: :environment tabularx :placement [h] :center t :width \linewidth
但您还必须添加
#+LATEX_HEADER: \usepackage{tabularx}
在文件的顶部。
我正在尝试将 table 从我的组织文件导出到 LaTeX,它看起来像这样。
#+LATEX_HEADER: \usepackage{adjustbox}
* table test
#+begin_table
#+LATEX: \caption{my caption}
label:tab:mylabel
#+ATTR_LATEX: :placement [h]
#+LATEX: \centering
#+LATEX: \adjustbox{max width=\linewidth}{
#+ATTR_LATEX: :center nil
| | |
| id | Question |
|----+--------------------------|
| | |
| 1 | Does it export with [h]? |
#+end_table
我想让导出的 TeX 看起来像这样:
...
\begin{table}[h]
\caption{my caption}
\label{tab:mylabel}
\centering
\adjustbox{max width=\linewidth}{
\begin{tabular}{ll}
& \
id & Question\
\hline
& \
1 & Does it export with [h]?\
\end{tabular}
\end{table}
...
但只有我才得到
...
\begin{table}
\caption{my caption}
\label{tab:mylabel}
\centering
\adjustbox{max width=\linewidth}{
\begin{tabular}{ll}
& \
id & Question\
\hline
& \
1 & Does it export with [h]?\
\end{tabular}
\end{table}
...
使用以下版本
GNU Emacs 25.1.1(x86_64-apple-darwin15.5.0,NS appkit-1404.47 版本 10.11.5(Build 15F34))2017-01-06
组织模式版本 9.0.5 (release_9.0.5-444-g998576 @ ~/git/org-mode/lisp/)
我也试过了
#+ATTR_LATEX: :float t :placement [h]
#+ATTR_LATEX: :center nil :float t :placement [h]
#+ATTR_LATEX: :center nil :placement [h]
#+begin_table :placement [h]
#+begin_table :float t :placement [h]
我在互联网上的搜索只找到了一些 2010 年的电子邮件,其中存在 org-latex.el。因为它仍然存在于文档中,所以我认为它应该可以正常工作。
所以有人可以帮助我吗?或者泄露我必须用来寻找答案的 Google 的魔法词?
谢谢@Nick,我们走在正确的道路上,遗憾的是没有走到尽头。
好吧,我不想中断解析,它解释了一些事情。 我还有一些要求和事情要解释。
起初我的一些 table 有点宽,像这样:
| id | Question |
|----+---------------------------------------------------------------------------------------------------------------------------|
| 1 | Does it export with [h]? |
| 2 | I have some tables witch are very wide so What if you have a really wide table wich needs to be shrinked to the right size |
Adjustbox 包是我发现的第一个将整个栏缩小到正确宽度的包。我尝试了您建议的 tabulrx
,但它没有缩小 table 的内容。没有缩小我的大部分 table 看起来有线。
第二件事,我正在使用 org-ref
。使用您的版本( 我希望 2 个概率消失时)在我的盒子上导出到:
\caption{\label{tab:org56e3a68}
My caption}
我按照文档中的预期添加了 #+lable: tab:my-label
。在 #+caption:
和 #+name:
之前和之后添加它,但它不会更改 .tex 文件中的任何内容。
有什么想法吗?
我可以做你想做的一切,除了调整框的东西:
#+BIND: org-latex-prefer-user-labels t
* table test
#+caption: My caption
#+name:my-label
#+ATTR_LATEX: :placement [h] :center t
| | |
| id | Question |
|----+--------------------------|
| | |
| 1 | Does it export with [h]? |
我不知道 \adjustbox 是做什么的,也不知道它应该如何使用,也不知道它应该放在哪里;但是,您不能在 #+caption 和 table 之间添加 #+LATEX: 行:它们显然会破坏解析。
您可以向 ATTR_LATEX 行添加另一个属性:
#+ATTR_LATEX: :placement [h] :center t :width \linewidth
但不清楚是否符合您的要求。另外,我刚刚测试过,它什么也没做:那是因为标准环境是 tabular
,它不带宽度参数。以下作品:
#+ATTR_LATEX: :environment tabularx :placement [h] :center t :width \linewidth
但您还必须添加
#+LATEX_HEADER: \usepackage{tabularx}
在文件的顶部。