Tôi có một vài dự án mã bằng C++/Python, trong đó mô tả và nhãn định dạng LaTeX được sử dụng để tạo tài liệu PDF hoặc đồ thị được tạo bằng LaTeX + pstricks. Tuy nhiên, chúng tôi cũng có một số kết quả đầu ra văn bản thuần túy, chẳng hạn như phiên bản HTML của tài liệu (tôi đã có mã để viết đánh dấu tối thiểu cho điều đó) và biểu đồ kết xuất đồ họa không có TeX.Mã LaTeX chuyển đổi/phân tích cú pháp thành văn bản thuần túy
Đối với những điều này, tôi muốn loại bỏ đánh dấu TeX cần thiết cho ví dụ: đại diện cho các đơn vị vật lý. Điều này bao gồm các không gian (không) mỏng, \ text, \ mathrm vv Nó cũng sẽ được tốt đẹp để phân tích những thứ như \ frac {# 1} {# 2} thành # 1/# 2 cho đầu ra văn bản thuần (và sử dụng MathJax cho HTML). Do hệ thống mà chúng tôi đã có vào lúc này, tôi cần có khả năng thực hiện điều này từ Python, tức là lý tưởng Tôi đang tìm gói Python, nhưng thực thi không phải Python mà tôi có thể gọi từ Python và bắt chuỗi đầu ra cũng sẽ ổn.
Tôi biết về similar question on the TeX StackExchange site, nhưng không có giải pháp thực sự có lập trình cho điều đó: Tôi đã xem xét detex, plasTeX và pytex, tất cả đều có vẻ hơi chết và không thực sự làm những gì tôi cần: chuyển đổi chương trình của chuỗi TeX thành chuỗi văn bản thuần đại diện.
Tôi có thể thử viết một trình phân tích cú pháp TeX cơ bản bằng cách sử dụng ví dụ: pyparsing, nhưng a) mà có thể là pitfall-laden và giúp đỡ sẽ được đánh giá cao và b) chắc chắn ai đó đã thử rằng trước đây, hoặc biết một cách để móc vào TeX chính nó để có được một kết quả tốt hơn?
Cập nhật: Cảm ơn tất cả các câu trả lời ... nó thực sự dường như là một chút yêu cầu khó xử! Tôi có thể làm ít hơn phân tích cú pháp chung của LaTeX, nhưng lý do xem xét một trình phân tích cú pháp thay vì tải các regex trong một vòng lặp là tôi muốn có thể xử lý macro lồng nhau và macro đa arg một cách độc đáo và có được cú đúp phù hợp để hoạt động đúng. Sau đó, tôi có thể giảm các macro txt-không liên quan như \ text và \ mathrm trước, và xử lý những thứ có liên quan đến txt như \ frac last ... có thể ngay cả với các dấu ngoặc đơn thích hợp! À, tôi có thể mơ ... bây giờ các regex không làm một công việc khủng khiếp như vậy.
Bạn đúng, pyparsing của TeX là một điều tàn bạo, nhưng những người khác đã thực hiện một số tiến triển với điều này. matplotlib chứa một trình phân tích cú pháp TeX pyparsing mà bạn có thể uốn cong theo mục đích của mình. Bạn cũng có thể thử đăng bài trên danh sách thư pyparsing và xem liệu một số người đã thực hiện công việc TeX trong quá khứ có thể giúp đỡ hay không. – PaulMcG
Xem http://stackoverflow.com/questions/3610551/math-in-restructuredtext-with-latex. –
Cảm ơn: Tôi sẽ xem xét đầu tiên trong matplotlib ... đó cũng là một sự phụ thuộc từ trước cho một trong các gói của tôi, vì vậy nếu tôi _very_ may mắn tôi có thể sử dụng nó thông qua API mpl! Chúc mừng :) – andybuckley