Domanda

Ho un documento org-mode che voglio esportare come PDF.Sto usando il pacchetto di elenchi di lattice per generare annunci di codice ben formattati, che assomigliano a questo in Org:

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

Il commento Javadoc viene utilizzato da Org come ambiente itemize in lattice, in questo modo:

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

Come posso impedire che ciò accada e mantenere Javadoc come originariamente lo scrivevo?Se utilizzo #+BEGIN_SRC anziché #+BEGIN_LaTeX quello che ottengo è un ambiente verbatim, ma voglio attaccare con gli elenchi piuttosto che verbatim o coniata da quando ho già fatto lo sforzo di mettere insieme un bel set di stili per questo.

È stato utile?

Soluzione

Cosa ti vede in definitiva è un esempio letterale .Essenzialmente vuoi che il codice venga esportato, ma fontificato.È necessario raccontare org-mode per utilizzare gli elenchi (o coniati) all'esportazione.Questo può essere fatto nel tuo file .emacs :

;; 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"))
.

Inoltre, con ciò non è necessario specificare il pacchetto listings in un argomento di intestazione al documento.Ora, i blocchi di codice sorgente verranno esportati nell'ambiente lstlistings appropriato:

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

viene esportato in lattice come

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

Non sono sicuro del motivo per cui, quando usi il #+begin_latex ... #+end_latex Block nel tuo esempio, che le cose vengono analizzate stranamente.In linea di principio, uno vorrebbe che qualunque cosa sia nel blocco di lattice da passare come è il file .tex .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top