منع الوضع التنظيمي من ترجمة التعليق كبيئة تفصيلية

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

  •  12-12-2019
  •  | 
  •  

سؤال

انا لدي org-mode المستند الذي أريد تصديره بصيغة PDF.أنا أستخدم حزمة قوائم LaTeX لإنشاء قوائم تعليمات برمجية منسقة بشكل جيد، والتي تبدو هكذا في المؤسسة:

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

تتم ترجمة تعليق 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}

كيف يمكنني منع حدوث ذلك والحفاظ على 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 package في وسيطة رأس للمستند الخاص بك.الآن، سيتم تصدير كتل التعليمات البرمجية المصدر في الملف المناسب lstlistings بيئة:

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

يتم تصديره إلى LaTeX كـ

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

لست متأكدًا تمامًا من السبب، عند استخدام #+begin_latex...#+end_latex block في المثال الخاص بك، يتم تحليل الأمور بشكل غريب.من حيث المبدأ، يرغب المرء في أن يتم تمرير كل ما هو موجود في كتلة LaTeX كما هو إلى .تكس ملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top