Empêcher le mode organisation de traduire un commentaire en tant qu'environnement détaillé
Question
j'ai un org-mode
document que je souhaite exporter au format PDF.J'utilise le package de listes LaTeX pour générer des listes de codes bien formatées, qui ressemblent à ceci dans org :
#+BEGIN_LaTeX
\begin{lstlisting}[language=Java]
/** Comment comment comment
*
* blah blah blah
*
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
#+END_LaTeX
Le commentaire Javadoc est en cours de traduction par l'organisation en LaTeX itemize
environnement, comme ceci :
\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}
Comment puis-je empêcher que cela ne se produise et conserver le Javadoc tel que je l'ai écrit à l'origine ?Si j'utilise #+BEGIN_SRC
plutôt que #+BEGIN_LaTeX
ce que je reçois est un verbatim
environnement, mais je veux m'en tenir aux listes plutôt qu'à verbatim
ou frappé puisque j'ai déjà fait l'effort de lui concocter un bel ensemble de styles.
La solution
Ce que vous voulez en fin de compte, c'est un exemple littéral.Essentiellement, vous souhaitez que le code soit exporté, mais typifié.Tu dois dire org-mode
pour utiliser des listings (ou frappés) lors de l'exportation.Cela peut être fait dans votre .emacs déposer:
;; 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"))
De plus, vous n'avez pas besoin de spécifier le listings
package dans un argument d’en-tête de votre document.Désormais, les blocs de code source seront exportés dans le format approprié lstlistings
environnement:
#+begin_src java
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
#+end_src
est exporté vers LaTeX en tant que
\lstset{language=java}
\begin{lstlisting}
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
Je ne sais pas vraiment pourquoi, lorsque vous utilisez le #+begin_latex
...#+end_latex
bloquez dans votre exemple, que les choses sont analysées bizarrement.En principe, on aimerait que tout ce qui se trouve dans le bloc LaTeX soit transmis tel quel au bloc LaTeX. .Texas déposer.