Tôi đang cố gắng thực hiện ba điều cơ bản thực sự bên trong một chế độ toán học đa dòng trong Sphinx (phiên bản 1.1.2-1).Giới hạn đánh dấu Sphinx LaTeX
- Viết gạch dưới như một phần của tên biến của tôi ngay cả trong chế độ toán học;
- Sử dụng
\big
,\biggl
, v.v., dấu phân tách để tạo dấu ngoặc đơn lớn và dấu ngoặc đơn; - và bao gồm văn bản thông thường như là một phần của phương trình.
Lưu ý hai điều sau đây. (1) Tôi đang sử dụng một chuỗi thô trong mã Python của tôi cho tài liệu đánh dấu Sphinx, vì vậy các dấu gạch chéo ngược không cần thiết cho ký tự thoát, và (2) Tôi không thực hiện chế độ toán học nội tuyến, được phân tách như thế này trong Sphinx:
:math:`Some math stuff goes here` regular text could go here...
Thay vào đó, tôi đang làm nhiều dòng thứ, thường thích eqnarray
trong LaTeX:
.. math::
DividendYield &=& \frac{DVT(t)}{CurrentMarketCap} \\
Avg_Assets &=& \biggl(A/B \biggr) \textrm { when B is not zero...}
Hiện nay, tôi nhận được lỗi Sphinx (và các trang doc tạo ra trông giống như vô nghia), mà nói những điều như:
Unknown LaTeX command: textrm
Điều tương tự cũng xảy ra với \biggl
. Đối với dấu gạch dưới, nó chỉ luôn luôn diễn giải nó như thể tôi đang biểu thị một chỉ số, nhưng nếu tôi sử dụng \textunderscore
hoặc các thủ thuật khác thì nó sẽ ném cùng một loại lỗi như trên.
Dấu gạch dưới trong chế độ toán học, lệnh textrm
và dấu phân cách lớn là các phần cực kỳ cơ bản của mỗi gói TeX gốc mà tôi từng sử dụng. Vậy tại sao họ không thể tiếp cận được qua Sphinx?
Cập nhật
Một tập tin Python đặc biệt mà tôi đang làm việc trên tính toán dữ liệu Sổ Equity đối với tôi. Vì vậy, dưới đây, khi bạn nhìn thấy những thứ về BookEquity, đó là tài liệu tham khảo. Tôi không thể chạy quá trình xây dựng tài liệu của chúng tôi ngoại trừ thông qua một hệ thống kiểm soát phiên bản, do đó, làm cho một lỗi tái sản xuất là dễ nhất nếu tôi chỉ sửa đổi một tập tin hiện có.
Tuy nhiên, tất cả những gì tôi đã làm là thêm hàm lớp sau vào mã của mình, với một chuỗi tài liệu đơn giản.
def foo(self):
r"""
Sample docstring
.. math::
Ax &=& b \\
Cx &=& \biggl(\frac{x/y}\biggr) \textrm{ if y is not zero.}
"""
pass
Và sau đó hình ảnh bên dưới là đầu ra đến từ việc tạo tài liệu với Nhân sư 1.1.2-1.
Nếu bạn nhấp chuột phải và chọn 'hình ảnh xem' bạn có thể nhìn thấy một phiên bản tốt hơn.
Xin lỗi không biết về Sphinx, nhưng tôi nghĩ dấu gạch dưới cần phải được thoát ra '\ _', và bạn có thể thử sử dụng' \ text {} 'thay vì' \ textrm' (yêu cầu 'amsmath' pacakge) . –
Cảm ơn bạn đã thử. '\ _' và' \ text' là những thứ mà tôi đã ngay lập tức thử lại khi lần đầu tiên tôi gặp lỗi này. Các trang tài liệu Sphinx đặc biệt nói rằng họ sử dụng 'amsmath'. '\ text' thực sự có vẻ hoạt động, nhưng điều này không giúp giải quyết vấn đề thực sự. Đó là một cách giải quyết tốt cho rằng 1/3 của câu hỏi mặc dù. – ely
Bạn có thể đăng một số mã LaTeX đã tạo hay không, ví dụ: cho các ví dụ của bạn? –