2012-02-21 28 views
12

Tôi đang trong quá trình ghi lại một số chức năng của mình cho một gói R mà tôi đang thực hiện.Làm thế nào để tham chiếu chéo một phương trình trong một tập tin trợ giúp R ​​/ roxygen2

Tôi đang sử dụng đánh dấu roxygen, mặc dù điều đó phần lớn không liên quan đến câu hỏi của tôi.

Tôi đã đặt phương trình vào tài liệu của mình bằng cách sử dụng \deqn{...}. Câu hỏi của tôi là: Có cách nào để tham khảo chéo phương trình này sau này không?

Ví dụ, trong tập tin Rd tôi:

\deqn{\label{test} 
y = mx + b 
} 

Tôi có thể sau đó làm điều gì đó như:

Đề cập đến phương trình \ ref {} kiểm tra, ...

Tôi đã thử \eqref{test}, \ref{test} (cả hai đều nhận được "macro không xác định" và không được liên kết) và cũng có thể \link{test} (trong đó comp lains nó không thể tìm thấy chức năng test bởi vì nó thực sự chỉ để liên kết với các chức năng khác).

Nếu không tôi sợ tôi có thể phải làm một cái gì đó hacky và thêm trong -- (1)Refer to equation (1)tay trong \deqn vv trong file Rd ...

Cập nhật

câu trả lời chung dường như là " Không". (awww ...)

Tuy nhiên, tôi có thể viết họa tiết và sử dụng gói latex/bình thường "" ở đó. Trong mọi trường hợp, tôi đã chỉ nhận thấy rằng các phương trình ma trận tôi đã dành lứa tuổi đưa vào roxygen/Rd tập tin của tôi trông khủng khiếp trong phiên bản ?myFunction của sự giúp đỡ (chúng hiển thị như là chỉ về nguồn latex cao). Đó là một sự xấu hổ, bởi vì họ trông đẹp trong phiên bản pdf của sự giúp đỡ.

@Iterator đã chỉ ra sự tồn tại của conditional text, vì vậy tôi sẽ thực hiện các phép toán ASCII trong tệp .Rd, nhưng tính toán Latex trong hướng dẫn sử dụng pdf/họa tiết.

+0

Câu hỏi thú vị và thực sự, việc tham chiếu phương trình #s là không bền vững. Cho rằng định dạng '.Rd' chỉ là LaTeX cơ bản nhất, và không hỗ trợ phần mở rộng AMS, tôi không chắc liệu điều này có khả thi hay không. Nó có thể là bạn phải sử dụng một họa tiết cho nó. – Iterator

+0

Tại thời điểm này tôi có một loạt các "Trong phương trình trên ..." "Trong phương trình ma trận lớn ..." - đó là một chút khó xử! (Tôi không có quá nhiều phương trình cho mỗi tập tin Rd mặc dù - tôi có thể thấp hơn bản thân mình để hack một "- (1)" vào 'deqn' và sau đó chỉ cần nói" Tham khảo phương trình 1 "trong văn bản .. nhưng nó cảm thấy rất sai!) –

+1

Có lẽ một họa tiết là một cách tốt hơn để đi? Tôi chưa quen thuộc với định dạng .Rd, nhưng tôi không đặc biệt bị thu hút bởi một định dạng tài liệu dường như là một tập hợp con của LaTeX. Câu hỏi của bạn là tốt, nhưng, IMO, đó là bởi vì nó chỉ ra một lỗ hổng trong phương pháp .Rd hoặc một lỗ hổng trong tài liệu hướng dẫn cho phương pháp .Rd. (Tôi cũng sẽ bắt đầu ghi lại rất nhiều mã và phương trình, vì vậy tôi có một câu hỏi tương tự trong hàng đợi các câu hỏi cần điều tra.) – Iterator

Trả lời

5

Tôi đang biên soạn các nhận xét ở trên vào câu trả lời, vì lợi ích của người khác.

Trước tiên, tôi thực sự không biết có hay không .Rd hỗ trợ gắn thẻ phương trình. Tuy nhiên, định dạng .Rd là một tập hợp con nghiêm ngặt của LaTeX, và tạo ra đầu ra văn bản rất thô sơ, mà việc xây dựng các phương trình mở rộng thành định dạng của nó có thể là một cam kết đau đớn mà không có nhiều lợi ích cho người dùng.

Cách khác là sử dụng package vignettes hoặc thậm chí tài liệu được lưu trữ bên ngoài (như được thực hiện bởi Hadley Wickham, đối với một số gói của anh ấy). Điều này sẽ cho phép bạn sử dụng tệp PDF hoặc tài liệu khác, cho nội dung trái tim của bạn. Bằng cách này, bạn có thể bao gồm ảnh chụp màn hình, lô, tất cả các phần mở rộng LaTeX vui nhộn nhất mà bạn chỉ có, và, đáng kể nhất, các phần mở rộng AMS mà chúng ta đều biết và yêu thích. Tuy nhiên, bạn có thể chỉ định kết xuất khác nhau của một phần tài liệu nhất định (trong .Rd) dựa trên giao diện, chẳng hạn như văn bản cho bảng điều khiển, ký tự đẹp cho HTML, v.v. và conditional text hỗ trợ loại biến thể định dạng đó .

Đó là một câu hỏi hay.Tôi không biết câu trả lời liên quan đến tính khả thi, nhưng tôi có những câu hỏi tương tự về chức năng và phương trình ghi lại với nhau, và điều tra này vào những gì khả thi với các tệp .Rd đã thuyết phục tôi sử dụng các họa tiết PDF thay vì tệp .Rd.

+0

Ah, bạn đánh bại tôi với nó - Tôi thấy rằng bản cập nhật có cùng một kết luận. :) – Iterator

+0

Trong khi tôi yêu tài liệu của Hadley, tôi không phải là người hâm mộ thực tế rằng tất cả các tệp trợ giúp của anh ấy đều nói "tham khảo trang web" - nó làm tôi khó chịu khi tôi đi '? Somefunction' và sau đó phải mở một trình duyệt web và sao chép/dán URL vào. Trong trường hợp của 'ggplot2' tôi nghĩ rằng điều này là hợp lý, được đưa ra như thế nào phụ thuộc vào đồ họa tài liệu, nhưng nó không phải là một con đường tôi muốn đi xuống. –

+1

Tôi đồng ý về điều đó cho tài liệu thậm chí tiểu học. Tuy nhiên, tôi hiện đang sử dụng wiki có hỗ trợ LaTeX cho tài liệu phần mềm, với hỗ trợ cho diễn đàn, theo dõi lỗi và hơn thế nữa, vì vậy ngay cả một PDF tĩnh cũng là một bước lùi. :) Có điều gì đó để nói về việc có tài liệu phát triển riêng biệt với mã, chẳng hạn như có thể cung cấp các ví dụ mới về việc sử dụng hoặc sửa đổi tài liệu dựa trên phản hồi. Có một sự cân bằng để được tìm thấy giữa việc cung cấp một tài liệu tham khảo nhanh chóng và hỗ trợ tài liệu toàn diện. – Iterator

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