Saya bekerja dengan tabel LaTeX besar di AucTEX dan akan sangat membantu untuk menampilkannya dalam baris terpotong, seperti di sini:
Tanda merah adalah karakter "&" yang memisahkan kolom dari tabel. Dalam kasus tabel dengan banyak kolom, kode sumber lateks untuk satu baris tabel lebih panjang dari emacs
lebar bingkai dan oleh karena itu akan secara default dibungkus menjadi lebih dari satu baris. Bahkan dengan align-current
, ini akan membuat kode sumber tabel sangat sulit untuk dibaca dan diedit, jadi
- untuk tabel saya lebih suka baris kode sumber dipotong (memaksa saya untuk menggulir secara horizontal)
- sedangkan untuk semua
latex
sumber lain , saya lebih sukaword wrap
membuatnya sesuai dengan lebar bingkai
Namun untuk teks asli dalam dokumen LaTeX saya, saya lebih suka memiliki word-wrap
pengaturan normal .
Pertanyaan:
Apakah mungkin untuk digunakan word-wrap
sebagai standar Emacs
dan masih memiliki beberapa lingkungan lateks dalam buffer yang sama seperti table
, longtable
dan sidewaystable
ditampilkan truncate
d pada saat yang sama?
Juga untuk beberapa lingkungan lain seperti equation
, pycode
atau tikzpicture
pemotongan tampaknya lebih tepat. Jadi mungkin ide yang baik untuk dapat mendefinisikan daftar lingkungan yang tidak dibungkus tetapi terpotong.
Pembungkus harus pembungkus lunak (Yaitu, teks dibungkus untuk mengisi-kolom di buffer, tetapi itu tidak mencerminkan dalam file) dan pembungkus garis indentasi harus mengikuti lekukan garis.
Solusi juga harus bekerja untuk emacs tetapi juga untuk Aquamacs 2.5.
Ada posting blog yang menyarankan untuk memiliki solusi (parsial), tetapi saya tidak menemukan implementasinya: http://endlessparentheses.com/longlines-mode-in-latex.html
sumber
(setq word-wrap t
) dan(setq truncate-lines t)
di buffer yang sama. Jika Anda inginword-wrap
aktif, maka yang terbaik yang mungkin dapat Anda capai adalah menempatkan overlay tak terlihat di atas teks yang ingin Anda potong - dapat dilakukan, tetapi tidak sepele - kode untuk ini akan membutuhkan penggunaanvertical-motion
setelah setiap perintah dengan penghapusan / pergerakan / penempatan overlay.truncate-lines
mungkin hanya untuk bagian tertentu dari teks (lingkungan tertentu di LaTeX) tetapi saya melihat bahwa ini mungkin sulit untuk dicapai. Sepertinya saya harus belajar cara beralihword wrap
/truncate
cepat. :)toggle-truncate-lines
.longlines-mode
. Lihat posting ini sebagai contoh. Saya akan menulis jawaban lengkap nanti jika saya punya waktu.Jawaban:
Tergantung pada apa yang ingin Anda lakukan.
Dalam komentar, Malabarba menautkan ke posting blog yang mungkin menunjukkan jalannya. Namun, saya pikir pendekatan ini bergantung pada (secara terprogram) memodifikasi teks buffer. Jika itu berhasil untuk Anda - hebat!
Jika Anda ingin meninggalkan teks yang tidak dimodifikasi, maka saya pikir Anda kurang beruntung.
Untuk masalah seperti ini, saya biasanya mulai dengan membaca bagian manual elisp pada properti "display". Ini menjelaskan properti yang dapat diterapkan ke karakter dalam buffer untuk memengaruhi tampilan mereka.
Membaca ini, saya tidak melihat apa pun yang mengontrol apakah garis dibungkus atau tidak - hanya bagaimana menampilkan indentasi dan semacamnya ketika pembungkus tidak terjadi.
Jadi untuk saat ini saya yakin jawabannya adalah "tidak". Ada beberapa pembicaraan di emacs-devel baru-baru ini tentang menambahkan fitur pembungkus untuk ditampilkan kembali, jadi mungkin ada beberapa harapan untuk masa depan.
sumber
'invisible t
atau'display ""
properti tidak mengubah teks buffer dan overlay itu dapat secara efektif memotong garis apa pun di buffer - ini dapat dilakukan secara selektif. Dengan kata lain,word-wrap
tetap aktif sementara pemotongan yang ditargetkan dapat dilakukan dengan overlay.