2011-12-05 27 views
6

Tôi đang sử dụng sphinx với tiện ích mở rộng pngmath để ghi lại mã của tôi có nhiều biểu thức toán học. Làm như vậy trong tệp *.rst đang hoạt động tốt.Làm thế nào để kích hoạt tính toán trong nhân sư?

a \times b trở thành:


works


Tuy nhiên, nếu tôi cố gắng cùng bên trong một tập tin *.py ví dụ như trong một tài liệu mô-đun như vậy:

""" 
a \times b 
""" 

tôi kết thúc với


does not work


Hơn nữa không có chức năng amsmath dường như làm việc, một trong hai.
Tôi cần làm gì, cũng có các công thức toán học trong tài liệu *.py của tôi?

Trả lời

7

Hãy thử đặt một chữ thường 'r' trước khi docstring của bạn - như thế này:

def multiply(a,b): 
    r""" 
    returns a \times b 
    """ 
    return a*b 

Tôi chưa từng thấy một chuỗi chữ thô cho một docstring trước đó, nhưng điều này sẽ giữ cho bạn \ t khỏi bị giải thích dưới dạng ký tự <TAB>.

+0

Tuyệt vời. Điều này giải quyết vấn đề. Có cách nào để nói với nhân sư không tìm ra ' 's? – Woltan

+4

Nhân sư không phải là vấn đề của bạn, nó chính là trình thông dịch Python. Nhà lãnh đạo 'r' là cách bạn thông báo cho người thông dịch không xử lý các dấu gạch chéo ngược khi ký tự thoát ra, nhưng để chúng là dấu gạch chéo ngược. Bạn cũng có thể tăng gấp đôi chúng như trong 'a \\ lần b', nhưng đây thực sự là mục đích mà cú pháp r" sldk \ tlskjdf "được dự định. – PaulMcG

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