2012-03-26 33 views
5

En Org-mode puede hacer comentarios y desde Org-mode puede exportar a LaTeX, pero los comentarios de modo Org no se exportan a los comentarios de LaTeX. ¿Cómo se puede hacer que Org-mode exporte los comentarios del modo Org como comentarios de LaTeX?Exportar comentarios como comentarios

Aquí hay un ejemplo. Los siguientes

* Test 

Text before comment 
# Comment 
Text after comment 

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

exportaciones a

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


Text before comment 
Text after comment 

Text before comment 

Text after comment 

pero quiero los comentarios modo Org a ser exportados como los comentarios de LaTeX. Por lo tanto, quiero que la siguiente salida LaTeX:

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


Text before comment 
% Comment 
Text after comment 

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

Me postulo modo Org 7.6 en Emacs 23.3.1.

+0

AFAIK no es posible. Pero me gusta la idea de que los comentarios se exporten como comentarios en el formato de salida (esos comentarios de soporte en los documentos) – kindahero

Respuesta

4

Según el exportador actual, el único método que puedo pensar que le permitiría exportar comentarios sería específico para el back-end. Usted podría utilizar algo en la línea de:

#+latex: comment 

o

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

Sin embargo ambos son artificiosa y que tendría que hacer el equivalente a HTML, etc, si usted tiene la intención de exportar a más de un formato.

Hay un new exporter en desarrollo, pero donde esto no debería ser demasiado difícil de implementar (los comentarios ya están identificados como bloques en el analizador, por lo que simplemente necesitaría un método para convertirlos en la exportación).

Reenviaré esta solicitud a la lista de distribución para ver si se puede incluir.
Editar: Hilo ubicado here.

Editar: Respuesta del mantenedor de modo Org

los exportadores actuales no permiten esto, pero el nuevo motor de exportación por Nicolas hace que sea posible.

El plan es fusionar el nuevo motor de exportación en el núcleo de Org antes de versión 8.0, así que estén atentos.

+0

Hice una búsqueda y reemplazo en '\ n #' para hacerlo '\ n # + látex:%'. Eso convierte a todas las líneas que comienzan con '#' en org-mode en líneas que comienzan con '%' en emacs, lo que logró lo que creo que es la tarea de N.N. – CPBL

2

Además de la respuesta de Jonathan Leech-Pepin, hay una manera de hacerlo para un backend exportador dado. Los comentarios se manejan en la función org-export-handle-comments, que se llama por org-export-preprocess-string en org-exp.el. Cada backend del exportador es diferente, pero consideremos el backend de LaTeX.

Si observa la función org-export-as-latex en org-latex.el, puede encontrar las llamadas al org-export-preprocess-string. Una de las cosas pasadas a la función org-export-preprocess-string es una lista de parámetros, en particular, contiene un parámetro :comments, que en el caso LaTeX se establece en nil. Este parámetro le dice al exportador de modo orgánico qué hacer con los comentarios. Para más detalles, consulte la llamada y la implementación de org-export-handle-comments en org-exp.el. Esencialmente, el parámetro :comments puede ser una cadena de formato que muestra cómo manejar los comentarios; si es nil, esto significa que no se maneja el formato, por lo que no se imprime nada.Si, en la función org-export-as-latex, reemplaza :comments nil con :comments "%% %s", esto insertará un "%" delante del texto de comentario al exportar. Así, en su caso

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

se exportarían como

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

Ésta no es la forma más conveniente de hacer las cosas, y no estoy seguro de una forma de especificar el parámetro :comments en una por archivo. Tal vez algo en el hilo que Jonathan estableció arroje algo de luz sobre este tema.

Tenga en cuenta que es posible que deba eliminar el archivo org-latex.elc compilado en bytes para ver cómo los cambios en org-latex.el se propagan a la exportación.