2011-09-07 23 views
27

Biểu thức reftex-view-crossref-extra đặt các mẫu bổ sung cho hàm reftex-view-crossref. Nó bao gồm Macro Regexp, Search Regexp và Highlight Group (như minh họa bên dưới):Làm thế nào để thiết lập reftex-view-crossref-extra trong Emacs?

(MACRO-RE SEARCH-RE HIGHLIGHT).

MACRO-RE được đối sánh với macro. SEARCH-RE là regexp được sử dụng để tìm kiếm các tham chiếu chéo. `% s 'trong regexp này được thay thế bằng đối số macro tại điểm. HIGHLIGHT là một số nguyên cho biết nhóm con nào của trận đấu sẽ được đánh dấu. (Chú thích org-mode)

Tôi đang cố gắng để phù hợp với mô hình sau:

[fn:author2000title:Optional text] 

author2000title là nhãn biblatex rằng tôi muốn có một trận đấu kiếm. Làm thế nào tôi có thể viết MACRO-RESEARCH-RE, sao cho reftex-view-crossref hoạt động trên các loại hồ sơ này?

+2

Bạn có muốn nắm bắt toàn bộ '[fn: author2000title: Tùy chọn văn bản]' hoặc chỉ 'author2000title'? –

Trả lời

2

Có thể điều này sẽ giúp bạn tìm giải pháp cho thiết lập đặc biệt của bạn. Để kiểm tra điều này, tôi thiết lập một org nhỏ testfile

* Heading 1 
    \oinc{mylabel} 
    stuff 
* Heading 2 
    otherstuff [fn:mylabel:Display text] 

Thiết reftex-view-crossref-extra để

(setq reftex-view-crossref-extra '(("\\\\oinc" "\\[fn:%s:[^]]*?\\]" 0))) 

nếu tôi đặt điểm mà tại \oinc{mylabel}, bên trong dấu ngoặc, và nhấn C-c &, [fn...] được nhấn mạnh và xác định là đầu tiên và chỉ phù hợp.

Chỉnh sửa: Thay thế "\\\\oinc" bằng regex đang giữ nhãn xác định macro bạn sử dụng, ví dụ: "\\\\mylabel\\|\\\\oinc". Bạn không thể xác định đối sánh tham chiếu cho các lệnh chuẩn \label, v.v. xử lý của họ là hardcoded; nhưng bạn có thể xác định lệnh mới bí danh tiêu chuẩn¹ và sử dụng lệnh này để xác định nhãn của bạn có thể sử dụng cách thiết lập reftex-view-crossref cách hiển thị ở đây để tìm kiếm tham chiếu tùy chỉnh của bạn.

Để tóm tắt: MACRO-RE là một regexp phù hợp với các macro không có tham số bạn quan tâm đến, SEARCH-RE là một regexp phù hợp với định dạng tài liệu tham khảo mong muốn của bạn, và trong đó bạn nên đặt một %s sẽ được thay thế bởi đối số đến vĩ mô phù hợp với MATCH-RE. Nếu SEARCH-RE của bạn chứa dấu ngoặc đơn, bạn có thể đánh dấu một phần của các kết quả chụp, bằng cách cung cấp phần tử danh sách thứ ba HIGHLIGHT làm số nguyên tham chiếu đến các dấu parens như ususal cho regex, tức là 0 cho toàn bộ trận đấu, 1. 2 cho lần thứ hai, v.v., trong đó thứ tự mở parens xác định việc đánh số các kết quả phù hợp.

loại liên quan, Tom

1: \newcommand{\mylabel}[1]{\label{#1}}

Nota Bene: Nếu bạn muốn chỉ mylabel được đánh dấu trên tìm kiếm/phù hợp, thay đổi điều đó để

(setq reftex-view-crossref-extra '(("\\oinc" "\\[fn:\\(%s\\):[^]]*?\\]" 1))) 

thông báo các dấu ngoặc khớp trong SEARCH-RE, yếu tố thứ hai trong danh sách.

Các vấn đề liên quan