2013-03-26 9 views
10

Sto producendo un documento utilizzando org-mode che contiene alcune tabelle, costruito utilizzando la funzionalità della tabella incorporata. Ho aggiunto didascalie alle tabelle, ma quando le esporto su LaTeX, anziché la didascalia che appare sotto la tabella, appare sopra di essa. Nel manuale section on tables e nello latex export documentation, non si fa menzione di alcun metodo per modificare questo, oltre a manipolare manualmente il codice LaTeX. A titolo illustrativo, i seguenti frammenti di codice mostrano cosa viene generato dall'esportazione in una tabella di esempio con una didascalia.Crea sottotitoli della tabella delle modalità org visualizzati sotto la tabella quando esportati in 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 | 

Esportati:

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

Il problema poteva essere risolto in modo molto semplice. La didascalia appare sopra la tabella nel documento perché è sopra la tabella nel codice. Spostando la definizione didascalia sotto la sezione tabella risolve il problema:

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

Posizionando la definizione didascalia sotto la tabella nel file org non è possibile, poiché definisce la didascalia per il prossimo tavolo , come descritto nel manual. C'è un modo che io possa ottenere org-mode per esportare la didascalia sotto la tabella prodotta?

risposta

8

Nel numero link pubblicato da N.N., è stata applicata una patch per implementare le funzionalità per consentire l'inserimento di didascalie sopra o sotto il float. Guardando il codice in modalità org su github, il comportamento predefinito di Emacs 24.1 è di posizionare le didascalie sopra la tabella. Per inserire le didascalie sotto le tabelle, invece, impostare la variabile org-export-latex-table-caption-above-nil:

M-x customize-variable RET org-export-latex-table-caption-above RET nil 

o

M-x set-variable RET org-export-latex-table-caption-above RET nil 
+6

Nelle versioni più recenti di 'org-mode', il nome della variabile qui menzionata è cambiato in' org-latex-table-caption-above'. – itsjeyd

+1

Nella versione più recente (dicembre 2016) della modalità org, dobbiamo usare la variabile 'org-latex-caption-above' – zhxchen17

6

Basta aggiornare la risposta per Org-mode version 8.3.2 perché l'impostazione org-export-latex-table-caption-above-nil non fa nulla ora.

ho aggiunto la riga successiva alla mia .emacs o init.el del file:

(setq org-latex-caption-above nil) 

Proprio come una nota a margine, quella variabile contiene il valore (table) di default, che è quella che stiamo assoluta di nil.

Problemi correlati