Hiển thị công thức toán học trong emacs khi mã hóa


8

Có thể là emacs hiển thị các công thức thực trong trình chỉnh sửa nếu chúng được viết bằng latex hoặc tương tự? Tôi đang hỏi bởi vì nó sẽ dễ đọc hơn nhiều nếu bạn đang viết mã (giả sử python hoặc C ++) và các bình luận chứa các công thức thực sự thay vì một cái gì đó như thế này

// Calculate average for $\mu_1 = \frac{1}{n} ~ \sum_{1=i}^n ~ x_i$

Có một plugin nào biên dịch mã latex trong một bình luận thành một hình ảnh và hiển thị nó trong trình chỉnh sửa không?

Câu trả lời:


3

Đúng. Xem pretty-symbolsgói. Nó có thể trông như thế này, ví dụ, khi mã hóa Python hoặc bất kỳ ngôn ngữ nào khác:

nhập mô tả hình ảnh ở đây


2

TeXfrag texfrag hiển thị các công thức doxygen được bao bọc bởi\f[display formula\f]hoặc\f$embedded formula\f$dưới dạng hình ảnh.

Các biểu thức chính quy và các hàm để phân tích công thức có thể được tùy chỉnh.

TeXfrag hoạt động bởi:

  1. sao chép các công thức từ bộ đệm mã nguồn vào bộ đệm LaTeX (ẩn)
  2. chạy tài liệu xem trước ở đó và
  3. di chuyển các lớp phủ trở lại bộ đệm mã nguồn.

Các menu ngữ cảnh previewlàm việc cho các hình ảnh trong bộ đệm mã nguồn. Ngoài ra còn có một menu chế độ nhỏ cho phép bạn tạo hình ảnh cho bộ đệm đầy đủ hoặc chỉ các hình ảnh xung quanh điểm.

Ví dụ: Bộ đệm trên hiển thị một phần của nhận xét doxygen trong tệp c với các hình ảnh được phủ cho các đoạn phương trình, bộ đệm dưới hiển thị cùng một phần với các lớp phủ được loại bỏ.

ảnh chụp màn hình emacs với các công thức được kết xuất trong các bình luận doxygen

EDIT: Lưu ý rằng TeXfragđã được đổi tên thành texfragđể đáp ứng các yêu cầu của melpa. texfragđã được xem xét và chấp nhận bởi melpa. Nếu bạn có melpatrong package-archivesbạn có thể cài đặt texfragqua package-install.


1

Dường như với tôi rằng một hình ảnh thực tế sẽ rắc rối hơn giá trị của nó c++-modehoặc python-mode. org-modeMặc dù vậy, nó có thể hoạt động , có cơ chế lưu trữ hình ảnh và làm mới chúng. Ngay cả khi đó, thật khó để cuộn nếu hình ảnh có chiều cao lớn.

Nhưng bạn vẫn có thể phông chữ bit nếu bạn muốn. Chẳng hạn, đây là thiết lập của tôi cho các thẻ doxygen khóa phông chữ trong C ++:

(defface font-lock-doxygen-face
    '((nil (:foreground "SaddleBrown" :background "#f7f7f7")))
  "Special face to highlight doxygen tags such as <tt>...</tt>
and <code>...</code>."
  :group 'font-lock-highlighting-faces)

(font-lock-add-keywords
 'c++-mode
 '(("\\(<\\(?:code\\|tt\\)>\"?\\)\\([^<]*?\\)\\(\"?</\\(?:code\\|tt\\)>\\)"
    (0 (prog1 ()
         (let* ((expr (match-string-no-properties 2))
                (expr-len (length expr)))
           (if (eq 1 expr-len)
               (compose-region (match-beginning 0)
                               (match-end 0)
                               (aref expr 0))
             (compose-region (match-beginning 1)
                             (1+ (match-end 1))
                             (aref expr 0))
             (compose-region (1- (match-beginning 3))
                             (match-end 3)
                             (aref expr (1- expr-len)))))))
    (0 'font-lock-doxygen-face t))))

Nó sẽ thay thế <tt>foo</tt><code>bar</code>với các biểu tượng màu.


0

Một lựa chọn khác để xem xét là latex-math-previewgói. Nó cho phép một người xem "công thức thực trong trình soạn thảo" trong một bộ đệm riêng (hoặc lưu hình ảnh công thức vào một tệp). Đơn giản chỉ cần gọi latex-math-preview-expressiontrong khi điểm là trên một biểu thức.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.