Tôi viết (và viết lại) rất nhiều công thức toán học trong LaTeX với Emacs. Tôi thường xuyên gặp phải tình huống tôi muốn thay đổi một cặp dấu ngoặc phù hợp, để cải thiện khả năng đọc. Emacs của tôi đủ tử tế để chỉ cho tôi dấu phân cách phù hợp, nhưng làm cách nào để thay đổi nó theo chương trình?
Ví dụ: thay đổi các dấu phân cách bên ngoài trong một lần:
( (\sqrt{a} + b)^{-1} + c^{-1} )
đến
[ (\sqrt{a} + b)^{-1} + c^{-1} ]
forward-sexp-function
(mà tôi đoán là chế độ TeX có) hoặc nó sẽ sử dụng scan-sexps
để tìm kết quả khớp có thể. Trong trường hợp sau, trận đấu sẽ không luôn luôn chính xác. Vì vậy, nếu tất cả những gì bạn cần là khớp các dấu phân cách khớp, bạn có thể kiểm tra cú pháp của ký tự dưới điểm. Nếu đúng như vậy $
, thì nó phải có một trận đấu và bạn có thể sử dụng forwad-sexp
để đến trận đấu đó.
\bigl(...\bigr)
để\Bigl(...\Bigr)
, vv