Làm thế nào để tạo lập trình đầu ra đánh dấu trong sổ ghi chép Jupyter?


93

Tôi muốn viết báo cáo cho các lớp học trong sổ ghi chép Jupyter. Tôi muốn đếm một số thứ, tạo một số kết quả và đưa chúng vào mục đánh dấu. Tôi có thể đặt đầu ra của ô được hiểu là đánh dấu không?
Tôi muốn lệnh như vậy: print '$\phi$'để tạo biểu tượng phi, giống như trong markdown.
Nói cách khác, tôi muốn có một mẫu được tạo trong đánh dấu và chèn các giá trị được tạo bởi chương trình được viết trong sổ ghi chép. Việc tính toán lại sổ ghi chép sẽ tạo ra kết quả mới và đánh dấu mới với các giá trị mới đó được chèn vào. Điều đó có thể thực hiện được với phần mềm này không hay tôi cần tự thay thế các giá trị?

Câu trả lời:


135

Các chức năng bạn muốn có trong mô-đun IPython.display .

from IPython.display import display, Markdown, Latex
display(Markdown('*some markdown* $\phi$'))
# If you particularly want to display maths, this is more direct:
display(Latex('\phi'))

1
Cảm ơn rất nhiều, tôi đoán điều này sẽ giúp tôi đáng kể. Nếu tôi có thể hỏi, có cách nào để ẩn ô bằng mã không? Ý tôi là, khi tôi "biên dịch" ô đánh dấu, "mã" sẽ biến mất và chỉ hiển thị đầu ra đánh dấu đã biên dịch. Tôi muốn có thể lặp lại điều này, nhưng với display_markdownchức năng.
fulaphex,

2
Rất tiếc, mã của bạn không hoạt động với tôi, nó không tạo ra bất kỳ đầu ra nào.
fulaphex,

1
Bây giờ nó thực sự hoạt động, cảm ơn. Có lệnh ẩn một ô để tôi có thể tạo ra dấu xuống này và điều này sẽ hoạt động, giống như một ô đánh dấu bình thường không?
fulaphex,

2
Liên kết trong nhận xét trước không hoạt động nữa, tiện ích mở rộng hiện có thể được tìm thấy tại: github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/…
BioGeek

1
Tôi nhận được đối tượng không phải là bản in:<IPython.core.display.Markdown object>
loretoparisi

30

Về cơ bản, bạn đang yêu cầu hai điều khác nhau:

  1. Đánh dấu ô xuất ra kết quả mã.

    Tôi muốn đếm một số thứ, tạo một số kết quả và đưa chúng vào mục đánh dấu. [...] Tôi muốn có một mẫu trong phần đánh dấu và chèn các giá trị do chương trình tạo vào sổ tay

  2. Các ô mã xuất ra dấu xuống

    Tôi muốn lệnh như vậy: print '$\phi$'để tạo biểu tượng phi, giống như trong markdown.

Vì 2. đã được bao phủ bởi một câu trả lời khác (về cơ bản: sử dụng Latex()hoặc Markdown()nhập từ IPython.display), tôi sẽ tập trung vào câu đầu tiên:


1. Mẫu Markdown với các biến được chèn

Với Python Markdown mở rộng Jupyter, bạn có thể thực hiện chính xác những gì bạn mô tả.

Hướng dẫn cài đặt có thể được tìm thấy trên trang github của nbextensions. Đảm bảo rằng bạn sẽ bật tiện ích mở rộng đánh dấu python bằng lệnh jupyter hoặc trình cấu hình tiện ích mở rộng .

Với phần mở rộng, các biến được truy cập thông qua {{var-name}}. Ví dụ cho một mẫu đánh dấu như vậy có thể trông như thế này:

Mã Python trong các ô đánh dấu

Biến a là {{a}}

Bạn cũng có thể nhúng LateX: {{b}} vào đây!

Thậm chí có thể nhúng hình ảnh: {{i}}

Đương nhiên tất cả các biến hoặc hình ảnh a, b, inên được đặt trong mã trước. Và tất nhiên, bạn cũng có thể sử dụng các biểu thức kiểu Markdown-Latex (như $\phi$) mà không cần lệnh in. Hình ảnh này là từ wiki của phần mở rộng, thể hiện khả năng.

ví dụ từ wiki


Thông tin thêm về chức năng này được tích hợp vào ipython / jupyter được thảo luận trong trình theo dõi sự cố cho ipythonjupyter .


Điều này có sẵn trong Phòng thí nghiệm Jupyter không?
BND

Tôi không sử dụng nó, do đó không có kinh nghiệm. Tuy nhiên, tôi không thể tìm thấy "Python Markdown" trong danh sách tiện ích mở rộng jupyter-lab: github.com/topics/jupyterlab-extension?q=&unscoped_q= - do đó: có thể không?
Honeybear
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.