Pergunta

Eu tenho um org-mode documento que eu quero exportar como PDF.Eu estou usando o LaTeX listagens de pacote para gerar bem formatado as listagens de código, que olhar como este, org:

#+BEGIN_LaTeX
\begin{lstlisting}[language=Java]
    /** Comment comment comment
     * 
     * blah blah blah
     * 
     * @return comment
     */
    public void foo() {
        return;
    }
\end{lstlisting}
#+END_LaTeX

O comentário Javadoc não está a ser traduzido pela org como um Látex itemize ambiente, como este:

\begin{lstlisting}[language=Java]
    /** Comment comment comment
\begin{itemize}
\item 
\item blah blah blah
\item 
\item @return comment
\end{itemize}
     */
    public void foo() {
        return;
    }
\end{lstlisting}

Como posso evitar que isso aconteça e manter o Javadoc como eu escrevi originalmente ele?Se eu usar #+BEGIN_SRC em vez de #+BEGIN_LaTeX o que eu recebo de volta é um verbatim ambiente, mas eu quero ficar com anúncios, em vez de verbatim ou cunhadas, pois eu já fiz o esforço para reunir um bom conjunto de estilos para ele.

Foi útil?

Solução

O que são, em última análise, é um querer literal exemplo.Essencialmente, você deseja que o código a ser exportado, mas fontified.Você precisa dizer org-mode para usar listas (ou cunhadas) na exportação.Isso pode ser feito em sua .emacs arquivo:

;; tell org to use listings with colors                                                     
(setq org-export-latex-listings t)
(add-to-list 'org-export-latex-packages-alist '("" "listings"))
(add-to-list 'org-export-latex-packages-alist '("" "color"))

Também, com isso você não precisa especificar o listings pacote em um cabeçalho de argumento para o seu documento.Agora, o código-fonte blocos serão exportados para o adequado lstlistings ambiente:

#+begin_src java                                                                
  /** Comment comment comment                                                   
   *                                                                            
   * blah blah blah                                                             
   * @return comment                                                            
   */                                                                           
  public void foo() {                                                           
    return;                                                                   
  }                                                                             
#+end_src

fica exportados para o LaTeX

\lstset{language=java}
\begin{lstlisting}
/** Comment comment comment
 *
 * blah blah blah
 * @return comment
 */
public void foo() {
    return;
}
\end{lstlisting}

Não sei bem por que, quando você usar o #+begin_latex...#+end_latex bloco no seu exemplo, que as coisas estão ficando analisado, estranhamente.Em princípio, seria como o que está no bloco de Látex para ser passado como .tex arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top