Prevenire la modalità di traduzione di un commento come un ambiente in dettaglio
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.
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 .