sni*_*im2 3 latex org-mode listings
我有一个org-mode
文档,我想以PDF格式导出.我正在使用LaTeX列表包生成格式良好的代码清单,在org中看起来像这样:
#+BEGIN_LaTeX
\begin{lstlisting}[language=Java]
/** Comment comment comment
*
* blah blah blah
*
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
#+END_LaTeX
Run Code Online (Sandbox Code Playgroud)
那里的Javadoc评论被org翻译为LaTeX 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}
Run Code Online (Sandbox Code Playgroud)
我怎样才能防止这种情况发生并像我最初写的一样保留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"))
Run Code Online (Sandbox Code Playgroud)
此外,使用此功能,您无需listings
在文档的标头参数中指定包.现在,源代码块将在适当的lstlistings
环境中导出:
#+begin_src java
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
#+end_src
Run Code Online (Sandbox Code Playgroud)
被导出到LaTeX
\lstset{language=java}
\begin{lstlisting}
/** Comment comment comment
*
* blah blah blah
* @return comment
*/
public void foo() {
return;
}
\end{lstlisting}
Run Code Online (Sandbox Code Playgroud)
我不太清楚为什么,当你在你的例子中使用#+begin_latex
... #+end_latex
块时,事情会被奇怪地解析.原则上,人们希望将LaTeX块中的任何内容原样传递给.tex文件.
归档时间: |
|
查看次数: |
712 次 |
最近记录: |