2017-06-07 2 views
1

J'essaie d'exporter une table à LaTeX à partir de mon fichier org qui ressemble à ceci.Comment exporter une table de mode org à LaTeX avec le placement correct [h]?

#+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 

Je veux obtenir le TeX exporté pour ressembler à ceci:

... 
    \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} 
    ... 

mais je suis juste

... 
    \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} 
    ... 

en utilisant les versions suivantes

GNU Emacs 25.1.1 (x86_64-apple-darwin15.5.0, NS appkit-1404.47 Version 10.11.5 (Build 15F34)) de 2017- 01-06

version en mode Org 9.0.5 (release_9.0.5-444-g998576 @ ~/git/org-mode/Lisp /)

J'ai aussi essayé

#+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]

Ma recherche sur Internet seulement trouvé quelques e-mails à partir de 2010, où existait org-latex.el. Comme il existe encore dans la documentation, je pensais que cela devrait marcher.

Donc, quelqu'un peut-il m'aider? Ou fuir les mots magiques que j'ai pour nourrir Google avec pour trouver ma réponse?


Thx @Nick, nous sommes sur la bonne voie, mais malheureusement pas à la fin.

Eh bien, je ne voulais pas freiner l'analyse, cela explique certaines choses. J'ai encore plus d'exigences et de choses à expliquer.

Tout d'abord quelques de mes tableaux sont un peu plus comme ceci:

| 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 | 

Le paquet Adjustbox est le premier que je trouve que l'ensemble rétrécit tavle à la largeur correcte. J'ai essayé votre suggestion tabulrx mais il ne réduit pas le contenu de la table. Sans le rétrécissement la plupart de mes tables semblent filaires. La deuxième chose, j'utilise org-ref. Avec votre version (sorcière je préfère quand les 2 probs sont partis) exportations sur ma boîte à:

\caption{\label{tab:org56e3a68} 
    My caption} 

J'ai ajouté #+lable: tab:my-label comme prévu dans la documentation. Ajoutez-le avant et après #+caption: et #+name: mais cela ne change rien dans le fichier .tex.

une idée?

+0

Il devrait être ': placement [h]', pas ': plcement [h]'. Non testé – Nick

+0

thx Nick mais la faute de frappe tout en entrant dans la question. Cela ne fonctionne pas avec ': placement [h]' – Dings

+0

Avez-vous ajouté la directive # + BIND comme décrit dans ma réponse? Cela devrait prendre soin des étiquettes générées par l'organisation. En outre, je n'avais aucune idée que vous aviez modifié la question: je ne reçois aucune notification pour cela. Je suis juste arrivé à regarder à nouveau la question et il semblait différent. Donc, si vous voulez que quelqu'un fasse un suivi, s'il vous plaît ajouter un commentaire à la réponse avec quelque chose comme: "S'il vous plaît jeter un oeil à la question modifiée". – Nick

Répondre

1

Je peux faire tout ce que vous voulez, sauf les trucs adjustbox avec ceci:

#+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]? | 

Je ne sais pas ce que \ adjustbox fait ou comment il doit être utilisé et où il doit être placé; cependant, vous ne pouvez pas ajouter de lignes # + LATEX: entre la légende # + et la table: elles rompent apparemment l'analyse.

Vous pouvez ajouter un autre attribut à la ligne ATTR_LATEX:

#+ATTR_LATEX: :placement [h] :center t :width \linewidth 

mais on ne sait pas qui fait ce que vous voulez. En outre, je viens de tester et il ne fait rien: c'est parce que l'environnement standard est tabular qui ne prend pas un argument de largeur. Les travaux suivants:

#+ATTR_LATEX: :environment tabularx :placement [h] :center t :width \linewidth 

mais vous devez également ajouter

#+LATEX_HEADER: \usepackage{tabularx} 

en haut du fichier.