2012-03-26 27 views
5

In modalità organizzazione è possibile effettuare commenti e dalla modalità organizzazione è possibile esportare in LaTeX ma i commenti in modalità org non vengono esportati nei commenti LaTeX. Come può essere eseguita la modalità Org per esportare commenti in modalità Org come commenti LaTeX?Esportare commenti come commenti

Ecco un esempio. I seguenti

* Test 

Text before comment 
# Comment 
Text after comment 

Text before comment 
#+BEGIN_COMMENT 
Comment 
#+END_COMMENT 
Text after comment 

esportazioni verso

\section{Test} 
\label{sec-1} 


Text before comment 
Text after comment 

Text before comment 

Text after comment 

ma voglio i commenti che Org-mode da esportare come commenti LaTeX. Così, voglio che il seguente output LaTeX:

\section{Test} 
\label{sec-1} 


Text before comment 
% Comment 
Text after comment 

Text before comment 
\begin{comment} 
Comment 
\end{comment} 
Text after comment 

Sono in esecuzione Org-mode in Emacs 7.6 23.3.1.

+0

AFAIK non è possibile. Ma mi piace l'idea che i commenti vengano esportati come commenti nel formato di output (quelli supportano i commenti nei documenti) – kindahero

risposta

4

Nell'esportatore corrente, l'unico metodo che posso pensare che consentirebbe di esportare i commenti sarebbe specifico del backend. Si potrebbe usare qualcosa sulla falsariga di:

#+latex: comment 

o

#+begin_latex 
\begin{comment} 
    comment 
\end{comment} 
#+end_latex 

Tuttavia entrambi sono sforzati e si avrebbe bisogno di fare l'equivalente per HTML ecc se avete intenzione di esportare in più di un formato.

C'è uno sviluppo new exporter tuttavia dove questo non dovrebbe essere eccessivamente difficile da implementare (i commenti sono già identificati come blocchi nel parser quindi sarebbe semplicemente necessario un metodo per convertirli all'esportazione).

Sto inoltrando questa richiesta alla mailing list per vedere se questo può essere incluso.
Modifica: filettatura situata here.

Edit: Risposta dal manutentore di Org-Mode

esportatori attuali non consentono questo, ma il nuovo motore di esportazione da Nicolas rende possibile.

Il piano è di unire il nuovo motore di esportazione nel core di Org prima della versione 8.0, quindi resta sintonizzato.

+0

Ho fatto una ricerca e li ho sostituiti con '\ n #' per renderlo '\ n # + latex:%'. Ciò trasforma tutte le righe che iniziano con '#' in org-mode alle righe che iniziano con '%' in emacs, il che ha portato a termine quello che penso sia il compito di N.N. – CPBL

2

In aggiunta alla risposta di Jonathan Leech-Pepin, c'è un modo hacker di farlo per un determinato backend di esportatore. I commenti vengono gestiti nella funzione org-export-handle-comments, che viene chiamata da org-export-preprocess-string in org-exp.el. Ogni backend di esportatore è diverso, ma consideriamo il backend LaTeX.

Se si guarda nella funzione org-export-as-latex in org-latex.el, è possibile trovare chiamate a org-export-preprocess-string. Una delle cose passate alla funzione org-export-preprocess-string è un elenco di parametri, in particolare contiene un parametro :comments, che nel caso LaTeX è impostato su nil. Questo parametro indica all'export in modalità org cosa fare con i commenti - per i dettagli guarda la chiamata e l'implementazione di org-export-handle-comments in org-exp.el. In sostanza, il parametro :comments può essere una stringa di formato che mostra come gestire i commenti; se è nil, ciò significa che non viene gestita la formattazione, quindi non viene stampato nulla.Se, nella funzione org-export-as-latex, si sostituisce :comments nil con :comments "%% %s", quindi verrà inserita una "%" davanti a qualsiasi testo di commento all'esportazione. Quindi nel tuo caso

this is text before a comment 
# this is a comment 
this is text after a comment 

sarebbe essere esportati come

this is text before a comment 
% this is a comment 
this is text after a comment 

Questo non è il modo più conveniente di fare le cose, e non sono sicuro di un modo per specificare il parametro su un :comments per file. Forse qualcosa nel thread che Jonathan ha creato farà luce su questo argomento.

Nota che potrebbe essere necessario rimuovere il file org-latex.elc compilato in byte per vedere le modifiche apportate a org-latex.el durante l'esportazione.