Jupyter 노트북에서 프로그래밍 방식으로 마크 다운 출력을 생성하는 방법은 무엇입니까?


96

Jupyter 노트북에서 수업 보고서를 작성하고 싶습니다. 몇 가지 항목을 세고 결과를 생성하여 마크 다운에 포함하고 싶습니다. 마크 다운으로 해석되도록 셀의 출력을 설정할 수 있습니까?
나는 그러한 명령을 원합니다 : print '$\phi$'마크 다운과 마찬가지로 파이 기호를 생성하십시오.
즉, 마크 다운으로 만든 템플릿을 가지고 노트북에 작성된 프로그램에서 생성 된 값을 삽입하고 싶습니다. 노트북을 다시 계산하면 새 결과가 생성되고 새 값이 삽입 된 새 마크 다운이 생성됩니다. 이 소프트웨어로 가능합니까, 아니면 값을 직접 교체해야합니까?

답변:


140

원하는 기능은 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
고마워요,이게 저에게 큰 도움이 될 것 같아요. 내가 물어볼 수 있다면 코드로 셀을 숨기는 방법이 있습니까? 마크 다운 셀을 "컴파일"하면 "코드"가 사라지고 컴파일 된 마크 다운 출력 만 표시됩니다. 나는 이것을 반복하고 싶지만 display_markdown기능이 있습니다.
fulaphex

2
불행히도 귀하의 코드는 나를 위해 작동하지 않으며 출력을 생성하지 않습니다.
fulaphex

1
이제 실제로 작동합니다. 감사합니다. 이 마크 다운을 생성 할 수 있도록 셀을 숨기는 명령이 있습니까? 그러면 일반 마크 다운 셀처럼 작동합니다.
fulaphex

2
이전 주석의 링크가 더 이상 작동하지 않습니다. 확장은 이제 github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/…
BioGeek

2
나는 인쇄물이 아닌 물체를 얻는다 :<IPython.core.display.Markdown object>
loretoparisi

31

기본적으로 두 가지 다른 것을 요구합니다.

  1. 코드 결과를 출력하는 마크 다운 셀.

    몇 가지 항목을 세고 결과를 생성하여 마크 다운에 포함하고 싶습니다. [...] 마크 다운에 템플릿 을 갖고 프로그램에서 생성 된 값을 노트북에 삽입 하고 싶습니다.

  2. 마크 다운을 출력하는 코드 셀

    나는 그러한 명령을 원합니다 : print '$\phi$'마크 다운과 마찬가지로 파이 기호를 생성하십시오.

2. 이미 다른 답변 (기본적으로 : use Latex()또는 Markdown()import from IPython.display) 이 이미 다루었으므로 첫 번째 답변에 중점을 둘 것입니다.


1. 변수가 삽입 된 마크 다운 템플릿

Jupyter 확장 Python Markdown을 사용 하면 실제로 설명하는 것을 정확하게 수행 할 수 있습니다.

설치 지침 은 nbextensions의 github 페이지에서 찾을 수 있습니다. jupyter 명령 또는 확장 구성 자를 사용하여 python markdown 확장을 활성화해야 합니다 .

확장자를 사용하면 {{var-name}}. 이러한 마크 다운 템플릿의 예는 다음과 같습니다.

마크 다운 셀의 Python 코드

변수 a는 {{a}}입니다.

여기에 LateX : {{b}}를 삽입 할 수도 있습니다!

이미지도 삽입 할 수 있습니다. {{i}}

당연히 모든 변수 나 이미지는 a, b, i이전 코드에서 설정해야합니다. 물론 $\phi$인쇄 명령없이 Markdown-Latex 스타일 식 (예 :)을 사용할 수도 있습니다 . 이 이미지는 확장 기능의 위키에서 가져온 것으로 기능을 보여줍니다.

위키의 예


ipython / jupyter에 통합되는이 기능에 대한 자세한 정보는 ipythonjupyter 의 문제 추적기에서 설명합니다 .


Jupyter Lab에서 사용할 수 있습니까?
BND

나는 그것을 사용하지 않으므로 경험이 없습니다. 그러나 jupyter-lab 확장 목록에서 "Python Markdown"을 찾을 수 없습니다. github.com/topics/jupyterlab-extension?q=&unscoped_q=- 따라서 : 아닐 수도 있습니다.
Honeybear
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.