Verhindert, dass der Organisationsmodus einen Kommentar als Itemize-Umgebung übersetzt

StackOverflow https://stackoverflow.com//questions/9664648

  •  12-12-2019
  •  | 
  •  

Frage

ich habe ein org-mode Dokument, das ich als PDF exportieren möchte.Ich verwende das LaTeX-Listings-Paket, um schön formatierte Code-Listings zu generieren, die in org so aussehen:

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

Der dortige Javadoc-Kommentar wird von org als LaTeX übersetzt itemize Umgebung, etwa so:

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

Wie kann ich das verhindern und das Javadoc so beibehalten, wie ich es ursprünglich geschrieben habe?Wenn ich es benutze #+BEGIN_SRC statt #+BEGIN_LaTeX Was ich zurückbekomme, ist ein verbatim Umgebung, aber ich möchte eher bei den Auflistungen bleiben als verbatim oder geprägt, da ich mir bereits die Mühe gemacht habe, ein schönes Set an Stylings dafür zusammenzustellen.

War es hilfreich?

Lösung

Was Sie letztendlich wollen, ist ein wörtliches Beispiel.Im Wesentlichen möchten Sie, dass der Code exportiert, aber in Schriftarten umgewandelt wird.Du musst es erzählen org-mode um beim Export Auflistungen (oder Prägungen) zu verwenden.Dies kann in Ihrem erfolgen .emacs Datei:

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

Außerdem müssen Sie hiermit nicht angeben listings Paket in einem Header-Argument zu Ihrem Dokument.Nun werden Quellcodeblöcke in die entsprechenden exportiert lstlistings Umfeld:

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

wird nach LaTeX exportiert als

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

Ich bin mir nicht ganz sicher, warum, wenn Sie das verwenden #+begin_latex...#+end_latex Blockieren Sie in Ihrem Beispiel, dass die Dinge seltsam analysiert werden.Im Prinzip möchte man, dass alles, was sich im LaTeX-Block befindet, unverändert an den übergeben wird .tex Datei.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top