2012-03-26 40 views
5

Trong chế độ Org, bạn có thể đưa ra nhận xét và từ chế độ Org bạn có thể xuất sang LaTeX nhưng nhận xét chế độ Org không được xuất sang nhận xét LaTeX. Làm cách nào để chế độ Org được thực hiện để xuất các nhận xét chế độ Org làm nhận xét LaTeX?Xuất nhận xét dưới dạng nhận xét

Đây là một ví dụ. Sau đây

* Test 

Text before comment 
# Comment 
Text after comment 

Text before comment 
#+BEGIN_COMMENT 
Comment 
#+END_COMMENT 
Text after comment 

xuất khẩu sang

\section{Test} 
\label{sec-1} 


Text before comment 
Text after comment 

Text before comment 

Text after comment 

Nhưng tôi muốn các ý kiến ​​Org-mode được xuất khẩu như bình luận LaTeX. Do đó, tôi muốn đầu ra LaTeX sau:

\section{Test} 
\label{sec-1} 


Text before comment 
% Comment 
Text after comment 

Text before comment 
\begin{comment} 
Comment 
\end{comment} 
Text after comment 

Tôi đang chạy chế độ Org 7.6 trong Emacs 23.3.1.

+0

AFAIK không thể thực hiện được. Nhưng tôi thích ý tưởng của các bình luận được xuất dưới dạng bình luận ở định dạng đầu ra (những chú thích hỗ trợ trong tài liệu) – kindahero

Trả lời

4

Theo nhà xuất khẩu hiện tại, phương pháp duy nhất tôi có thể nghĩ về điều đó sẽ cho phép bạn xuất nhận xét sẽ là phụ trợ cụ thể. Bạn có thể sử dụng một cái gì đó dọc theo dòng:

#+latex: comment 

hoặc

#+begin_latex 
\begin{comment} 
    comment 
\end{comment} 
#+end_latex 

Tuy nhiên cả hai đều là giả tạo và bạn sẽ cần phải làm như tương đương cho HTML, vv nếu bạn có ý định xuất khẩu sang nhiều định dạng.

Tuy nhiên, có một new exporter trong quá trình phát triển nhưng không quá khó để thực hiện (các nhận xét đã được xác định là các khối trong trình phân tích cú pháp để đơn giản chỉ cần phương thức chuyển đổi chúng khi xuất).

Tôi đang chuyển tiếp yêu cầu này đến danh sách gửi thư để xem liệu điều này có thể được đưa vào hay không.
Chỉnh sửa: Chủ đề nằm ở here.

Edit: Phản hồi từ nhà duy trì Org-Mode

nhà xuất khẩu hiện nay không cho phép điều này, nhưng động cơ xuất khẩu mới bằng cách Nicolas làm cho nó có thể.

Kế hoạch là hợp nhất công cụ xuất mới vào lõi của Org trước phiên bản 8.0, vì vậy hãy chú ý theo dõi.

+0

Tôi đã tìm kiếm và thay thế trên '\ n #' để làm cho nó '\ n # + latex:%'. Điều đó biến tất cả các dòng bắt đầu bằng '#' trong chế độ org thành các dòng bắt đầu bằng '%' trong các emacs, điều này hoàn thành những gì tôi nghĩ là nhiệm vụ của N.N. – CPBL

2

Ngoài câu trả lời của Jonathan Leech-Pepin, có một cách hackish để làm điều đó cho một chương trình phụ trợ xuất khẩu nhất định. Nhận xét được xử lý trong hàm org-export-handle-comments, được gọi là org-export-preprocess-string trong org-exp.el. Mỗi chương trình phụ trợ xuất khẩu khác nhau, nhưng chúng ta hãy xem xét phần phụ trợ LaTeX.

Nếu bạn nhìn vào chức năng org-export-as-latex trong org-latex.el, bạn có thể tìm thấy các cuộc gọi đến org-export-preprocess-string. Một trong những thứ được chuyển đến hàm org-export-preprocess-string là danh sách tham số, cụ thể là nó chứa thông số :comments, trong trường hợp LaTeX được đặt thành nil. Thông số này cho biết nhà xuất khẩu chế độ tổ chức phải làm gì với nhận xét - để xem chi tiết cuộc gọi đến và triển khai org-export-handle-comments trong org-exp.el. Về cơ bản, tham số :comments có thể là chuỗi định dạng hiển thị cách xử lý các nhận xét; nếu nó là nil, điều này có nghĩa là không xử lý định dạng sao cho không có gì được in.Nếu, trong hàm org-export-as-latex, bạn thay thế :comments nil bằng :comments "%% %s", thì điều này sẽ chèn "%" vào trước bất kỳ văn bản nhận xét nào khi xuất. Vì vậy, trong trường hợp của bạn

this is text before a comment 
# this is a comment 
this is text after a comment 

sẽ được xuất khẩu như

this is text before a comment 
% this is a comment 
this is text after a comment 

Đây không phải là cách thuận tiện nhất để làm điều đó, và tôi không chắc chắn về một cách để xác định các tham số :comments trên cho mỗi tệp. Có lẽ một cái gì đó trong chủ đề Jonathan thiết lập sẽ làm sáng tỏ một số chủ đề này.

Lưu ý rằng bạn có thể cần phải xóa tệp org-latex.elc được biên dịch byte để xem các thay đổi của bạn trong org-latex.el truyền cho đến khi xuất.