Có cách nào để thực thi mã trong tệp .lhs và đặt kết quả ngay bên dưới chính mã đó trong tệp PDF kết quả không?Đặt kết quả của mã ngay bên dưới mã trong kết quả PDF. Haskell
Ví dụ:
[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Có cách nào để thực thi mã trong tệp .lhs và đặt kết quả ngay bên dưới chính mã đó trong tệp PDF kết quả không?Đặt kết quả của mã ngay bên dưới mã trong kết quả PDF. Haskell
Ví dụ:
[1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Nếu bạn đang sử dụng LaTeX, bạn có thể sử dụng lhs2TeX. Đây là một tài liệu ví dụ đơn giản:
\documentclass{article}
%include polycode.fmt
%options ghci
\begin{document}
< [1,2,3] ++ [4,5,6]
This evaluates to \eval{[1,2,3] ++ [4,5,6]}.
> x = [1 .. 6]
And this evaluates to \eval{x}, too.
\end{document}
Thao tác này sẽ chạy GHCi với tệp nguồn làm đầu vào ở chế độ nền. Do đó, bạn có thể đánh giá các biểu thức bằng cách sử dụng \eval
trong ngữ cảnh của mô-đun Haskell hiện hành (literate Haskell), và kết quả của chúng sẽ được ghép vào các nguồn .tex
kết quả.
Bạn có nghĩa là tự động đánh giá các biểu thức không khai báo và dán kết quả ngược lại vào mã nguồn trước khi nó được chuyển thành một pdf, giống như Mathematica không? – AndrewC
Có, một cái gì đó như thế. Nó cho thấy một ví dụ về cách một hàm hoạt động, và tôi muốn được thực hiện nếu có ai đó chạy mã và cũng được hiển thị nếu có ai đó xem PDF – Jcao02
Chắc chắn, bạn sẽ cần kiểm soát nhiều hơn về những gì sẽ được xuất hoặc bạn sẽ không sử dụng bất kỳ định nghĩa không thể in nào? Tại sao không sử dụng ví dụ: ['HaTeX'] (http://hackage.haskell.org/package/HaTeX), có lẽ cùng với [một quasi-quoter phù hợp] (http://www.haskell.org/pipermail/haskell-cafe/2008- Tháng 10/049244.html) để tránh trùng lặp mã. – leftaroundabout