Org-Modeの翻訳を拒否しないようにする
質問
私はPDFとしてエクスポートしたいorg-mode
文書を持っています。私はLaTeX Listingsパッケージを使用してきたフォーマットのコードリストを作成しています。org:
#+BEGIN_LaTeX
\begin{lstlisting}[language=Java]
/** Comment comment comment
*
* blah blah blah
*
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
#+END_LaTeX
.
javadocコメントraTex itemize
環境として翻訳されているようなものです。
\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}
.
どのようにしてこれを予防し、私が最初に書いたようにJavadocを守ることができますか?#+BEGIN_SRC
ではなく#+BEGIN_LaTeX
を使用している場合、verbatim
環境ですが、verbatim
ではなくリストをスティッキしたり、素晴らしいスタイルのセットをまとめるための努力をしましょう。
解決
あなたが最終的に欲しいものはリテラルの例です。本質的にコードをエクスポートしたいが修正されている。エクスポート時にリスト(またはミントリング)を使用するようにorg-mode
に指示する必要があります。これはあなたの .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"))
また、これにより、listings
パッケージをあなたの文書にheader引数に指定する必要はありません。現在、ソースコードブロックは適切なlstlistings
環境でエクスポートされます。
.
#+begin_src java
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
#+end_src
ラテックスとしてエクスポートされます
.
\lstset{language=java}
\begin{lstlisting}
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
あなたがあなたの例で#+begin_latex
... #+end_latex
ブロックを使用するとき、なぜ私はまったくわかりません。そのことは奇妙に解析されています。原則として、ラテックスブロック内にあるものは、 .tex ファイルに渡されるものは何でも望ましいです。