Bagaimana cara memperbesar fragmen lateks dalam mode org pada saat yang sama dengan teks buffer?


12

Saya menggunakan org-modeemacs, tapi saya pikir pertanyaannya juga relevan untuk auctexpengguna.

Di org-modedalamnya Anda dapat menampilkan fragmen lateks, seperti yang diperlihatkan manual .

Tetapi: fragmen-fragmen ini (kebanyakan rumus matematika) tampaknya memiliki ukuran yang konstan . Ketika saya mengetik C-x C-+atau C-x C-- hanya ukuran teks buffer berubah. Bagaimana saya bisa mengubah ukuran fragmen dari buffer?

(Saya tahu saya dapat membuat fragmen lebih besar atau lebih kecil dengan org-format-latex-options, tapi ini permanen. Saya ingin mengubah ukuran fragmen (file png) seperti teks.)

Jawaban:


4

Jawaban yang diperbarui: (terima kasih atas umpan baliknya)

(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)

Jawaban lama:

Inilah awalnya: menghubungkan ke text-scale-mode-hookdan memperbarui org-format-latex-optionssesuai.

(menolak pembaruan-org-lateks-fragmen ()
  (org-toggle-latex-fragment '(16))
  (plist-put org-format-lateks-opsi: skala teks-skala-mode-jumlah)
  (org-toggle-latex-fragment '(16)))
(tambahkan-kait 'skala-mode-mode-kait' perbarui-org-lateks-fragmen)

Faktor penskalaan mungkin diperlukan sebelum text-scale-mode-amount...


Tidak ada org-toggle-latex-fragmentfungsi dalam mode org terbaru.
Leu_Grady

@ user3173715 Terbaru Anda bukan yang terbaru saya kemudian ...
thisirs

Anda menggunakan pengembangan mode-org?
Leu_Grady

@ user3173715 Gunakan org-preview-latex-fragment(usang sejak Agustus 2014)
thisirs

org-toggle-latex-fragmentsudah usang sejak org 9.3. Gunakan org-latex-previewsebagai gantinya. Selain itu, setidaknya di sisiku, yang pertama org-toggle-latex-fragmentharus diambil '(64). '(64)menghapus gambar dalam buffer, dan '(16)menampilkannya (lih. dokumen).
Firmin Martin

2

Berdasarkan jawaban dari thisirs, saya menggunakan yang berikut dengan sukses. Faktor skala dalam contoh ini adalah 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)

Perhatikan bahwa saya telah menghapus kode yang mengubah pratinjau, karena saya lebih suka melakukannya secara manual, dan itu bisa memakan waktu cukup lama jika ada banyak fragmen untuk pratinjau. Kode ini hanya menyesuaikan skala fragmen yang dipratinjau, sehingga saat berikutnya mereka ditampilkan menggunakan C-c C-x C-l, mereka akan memiliki ukuran yang sesuai yang cocok dengan teks.


Apakah hardcoding faktor yang diperlukan?
T. Verron

@ T. Verron faktor skala adalah sesuatu yang memengaruhi seberapa besar atau kecil fragmen yang dipratinjau terkait dengan ukuran teks. Rasio antara keduanya mungkin tergantung pada font yang Anda gunakan, dan mungkin dpi layar Anda. Dimungkinkan untuk mengotomatiskan perhitungan faktor-skala, tetapi saya lebih suka hanya mengotak-atiknya sampai terlihat sesuai dengan keinginan saya. Perhatikan bahwa "faktor skala kode-keras" tidak sama dengan faktor skala-teks, yang secara otomatis berubah ketika Anda memperbesar teks Anda.
Tandai

Oh, ok, memang saya pikir itu akan menjadi faktor pembesaran. Maaf!
T. Verron

0

Itu sudah built-in jika Anda menggunakan texfrag-modedalam Orgmode alih-alih dukungan fragmen LaTeX bawaan dari Orgmode.

Cukup buat ulang fragmen LaTeX dengan C-c C-p C-dsetelah mengubah ukurannya C-x C-+ C-+ .... Ukuran fragmen LaTeX akan sesuai dengan ukuran teks di sekitarnya.

Ukuran teks normal:

Ukuran teks normal

Setelah menekan C-x C-+ C-+ C-xdan C-c C-p C-d:

masukkan deskripsi gambar di sini

Sidenote: Dengan texfrag versi terakhir, Anda juga dapat mengaktifkannya texfrag-show-last-mode. Dengan mode kecil yang diaktifkan, Texfrag menampilkan fragmen LaTeX yang terakhir diberikan sebagai pegangan jika Anda mengedit rumus:

texfrag-show-last-mode

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.