Làm cách nào để phóng to các đoạn latex trong chế độ org cùng lúc với văn bản đệm?


12

Tôi đang sử dụng org-modetrong emacs, nhưng tôi nghĩ rằng câu hỏi cũng phù hợp với auctexngười dùng.

Trong org-modebạn có thể hiển thị các mảnh latex, như hướng dẫn chứng minh.

Nhưng: những mảnh này (chủ yếu là các công thức toán học) dường như có kích thước không đổi . Khi tôi gõ C-x C-+hoặc C-x C-- chỉ kích thước văn bản bộ đệm thay đổi. Làm thế nào tôi có thể thay đổi kích thước mảnh từ bộ đệm?

(Tôi biết tôi có thể làm cho các mảnh lớn hơn hoặc nhỏ hơn org-format-latex-options, nhưng điều này là vĩnh viễn. Tôi muốn thay đổi kích thước của các mảnh (tệp png) như văn bản.)

Câu trả lời:


4

Cập nhật câu trả lời: (cảm ơn đã phản hồi)

(defun update-org-latex-fragments ()
  (org-latex-preview '(64))
  (plist-put org-format-latex-options :scale text-scale-mode-amount)
  (org-latex-preview '(16)))
(add-hook 'text-scale-mode-hook 'update-org-latex-fragments)

Câu trả lời cũ:

Đây là một khởi đầu: móc vào text-scale-mode-hookvà cập nhật cho org-format-latex-optionsphù hợp.

(defun update-org-latex-Fragment ()
  (org-toggle-latex-Fragment '(16))
  (plist-put org-format-latex-Options: scale text-scale-mode-lượng)
  (org-toggle-latex-Fragment '(16)))
(add-hook 'text-scale-mode-hook' update-org-latex-Fragment)

Một yếu tố tỷ lệ có thể cần thiết trước khi text-scale-mode-amount...


Không có org-toggle-latex-fragmentchức năng trong chế độ org mới nhất.
Leu_Grady

@ user3173715 Mới nhất của bạn không phải là mới nhất của tôi sau đó ...
đây là

Bạn đang sử dụng chế độ org phát triển?
Leu_Grady

@ user3173715 Sử dụng org-preview-latex-fragment(lỗi thời kể từ tháng 8 năm 2014)
đây là

org-toggle-latex-fragmentđã lỗi thời kể từ đó org 9.3. Sử dụng org-latex-previewthay thế. Hơn nữa, ít nhất là ở bên tôi, người đầu tiên org-toggle-latex-fragmentnên '(64)thay thế. '(64)xóa hình ảnh trong bộ đệm và '(16)hiển thị chúng (xem tài liệu).
Firmin Martin

2

Dựa trên câu trả lời từ thisirs, tôi đang sử dụng thành công sau đây. Hệ số tỷ lệ trong ví dụ này là 2,3:

(defun update-org-latex-fragment-scale ()
  (let ((text-scale-factor (expt text-scale-mode-step text-scale-mode-amount)))
    (plist-put org-format-latex-options :scale (* 2.3 text-scale-factor)))
)
(add-hook 'text-scale-mode-hook 'update-org-latex-fragment-scale)

Lưu ý rằng tôi đã xóa mã bật tắt chế độ xem trước, vì tôi thích làm thủ công hơn và có thể mất một lúc nếu có nhiều đoạn để xem trước. Mã này chỉ điều chỉnh tỷ lệ của các đoạn được xem trước, để lần sau chúng được hiển thị bằng cách sử dụng C-c C-x C-l, chúng sẽ có kích thước phù hợp với văn bản.


Là mã hóa yếu tố cần thiết?
T. Verron

@ T.Verron hệ số tỷ lệ là một cái gì đó ảnh hưởng đến mức độ lớn hay nhỏ của đoạn được xem trước đối với kích thước văn bản. Tỷ lệ giữa hai cái này có thể phụ thuộc vào phông chữ bạn đang sử dụng và có thể là dpi của màn hình của bạn. Có thể tự động hóa tính toán của một yếu tố tỷ lệ, nhưng tôi thích chỉ mân mê nó cho đến khi nó theo ý thích của tôi. Lưu ý rằng "hệ số tỷ lệ mã hóa cứng" không giống với hệ số tỷ lệ văn bản, tự động thay đổi khi bạn phóng to văn bản của mình.
Đánh dấu

Ồ, ok, thực sự tôi nghĩ rằng nó sẽ là yếu tố zoom. Lấy làm tiếc!
T. Verron

0

Điều đó đã được tích hợp sẵn nếu bạn sử dụng texfrag-modetrong Orgmode thay vì hỗ trợ phân đoạn LaTeX tích hợp của Orgmode.

Chỉ cần tạo lại các mảnh LaTeX C-c C-p C-dsau khi thay đổi kích thước với C-x C-+ C-+ .... Kích thước của các đoạn LaTeX sẽ phù hợp với kích thước của văn bản xung quanh.

Kích thước văn bản bình thường:

Kích thước văn bản bình thường

Sau khi nhấn C-x C-+ C-+ C-xC-c C-p C-d:

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

Sidenote: Với phiên bản cuối cùng của texfrag, bạn cũng có thể kích hoạt texfrag-show-last-mode. Với chế độ nhỏ đó, Texfrag được kích hoạt hiển thị đoạn LaTeX được hiển thị cuối cùng dưới dạng xử lý nếu bạn chỉnh sửa công thức:

texfrag-show-last-mode

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.