2013-03-11 33 views
15

Tôi muốn sử dụng Maxima để đánh giá tài liệu. Thật dễ dàng để chuyển đổi đầu ra Maxima vào TeX:Tạo LaTeX từ đầu vào Maxima

(%i1) tex(5*x^2+sin(x)+c)$ 
$$\sin x+5\,x^2+c$$ 

Tuy nhiên, nó không làm việc cho trước dòng đầu vào:

(%i2) 5*x^2+sin(x)+c; 
              2 
(%o2)       sin(x) + 5 x + c 
(%i3) tex(%i2); 

\begin{verbatim} 
(%i2)sin(x)+5*x^2+c; 
\end{verbatim} 

(%o3)        (%i2) 

Sau nhiều nghiên cứu (bao gồm here mà là gần nhưng không có điếu xì gà) tôi đã trở nên trống rỗng. Bất kỳ thông tin chi tiết nào?

+1

Ngẫu nhiên, sử dụng '$$ ... $$ 'để phân toán trong LaTeX là không nên. Có một số khoảng cách không nhất quán với các môi trường toán học khác và thường được khuyến khích sử dụng '\ [… \]' hoặc một trong các môi trường AMSmath mở rộng như 'align' vv (tương tự với' $… $ 'so với' \ (… \) 'nhưng vì các lý do khác nhau). –

+0

Cảm ơn. Tôi có kế hoạch để dải các dấu hiệu đồng đô la và làm một chút sau chế biến. –

Trả lời

17

Hãy thử điều này.

tex (''%i2); 

hoặc

apply (tex, [%i2]); 
+1

Sẽ rất tuyệt nếu một số giải thích được thêm vào. Đối với chúng tôi, những người không thể tự nghĩ ra những giải pháp đó (tôi là một trong số họ), nó sẽ rất có tính hướng dẫn. –

+1

@AlbertvanderHorst Vâng, vấn đề là 'tex' kiểm tra đối số của nó để xem nếu nó là một nhãn đầu vào hoặc đầu ra và nếu như vậy, nó xử lý những đặc biệt. Để đánh bại việc kiểm tra, bạn phải đảm bảo rằng 'tex' thấy giá trị của'% i2' hoặc bất kỳ đối số nào. Hai cách để thực hiện điều đó là sử dụng trích dẫn trích dẫn (nghĩa là hai dấu nháy đơn) để làm cho giá trị được nội suy vào đầu vào trước khi đánh giá hoặc 'áp dụng' để áp dụng hàm cho giá trị của nhãn. 'áp dụng' là tổng quát hơn, như quote-quote chỉ hoạt động trên giao diện điều khiển đầu vào, nhưng quote-quote là thuận tiện hơn. –