<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 NbConvert
Command line usage
NbConvert is the library, and the command line tool that allow to convert from notebook to other formats.
It is a technological preview in 1.0 but is already usable and highly configurable.
It ships already with many default available formats 
Step1:  Html is the default value (that can be configured) , so the verbose form would be
Step2:  You can also convert to latex, which will take care of extractin the embeded base64 encoded png, or the svg and call inkscape to convert those svg to pdf if necessary 
Step3:  You should just have to compile the generated .tex file. If you get the required packages installed, if should compile out of the box.
For convenience we allow to run extra action after the conversion has been done, in particular for latex we have a pdf post-processor. 
You can define the postprocessor tu run with the --post flag.
Step4:  Have a look at 04 - Custom Display Logic.pdf, toward the end, where we compared display() vs display_html() and returning the object.
See how the cell where we use display_html was not able to display the circle, whereas the two other ones were able to select one of the oher representation they know how to display.
Customizing template
let's look at the first 20 lines of the python exporter
Step5:  We see that the non-code cell are exported to the file. To have a cleaner script, we will export only the code contained in the code cells.
To do so, we will inherit the python template, and overwrite the markdown blocks to be empty.
<ASSISTANT_TASK:>
Python Code:
!ipython nbconvert  'Working With Markdown Cells.ipynb'
Explanation: NbConvert
Command line usage
NbConvert is the library, and the command line tool that allow to convert from notebook to other formats.
It is a technological preview in 1.0 but is already usable and highly configurable.
It ships already with many default available formats : html, latex, markdown, python, rst and  slides
which are fully base on Jinja templating engine, so writing a converter for your custom format or tweeking the existing 
one should be extra simple.
You can invoke nbconvert by doing
bash
$ ipython nbconvert &lt;options and arguments&gt;
Call ipython nbconvert with the --help flag or no aruments to get basic help on how to use it.
For more information about configuration use the --help-all flag
Basic export
We will be converting Custom Display Logic.ipynb. 
Be sure to have runed some of the cells in it to have output otherwise you will only see input in nbconvert.
Nbconvert do not execute the code in the notebook files, it only converts what is inside.
End of explanation
!ipython nbconvert  --to=html 'Working With Markdown Cells.ipynb'
Explanation: Html is the default value (that can be configured) , so the verbose form would be
End of explanation
!ipython nbconvert  --to=latex 'Working With Markdown Cells.ipynb'
Explanation: You can also convert to latex, which will take care of extractin the embeded base64 encoded png, or the svg and call inkscape to convert those svg to pdf if necessary :
End of explanation
!ipython nbconvert  --to=latex 'Working With Markdown Cells.ipynb' --post=pdf
Explanation: You should just have to compile the generated .tex file. If you get the required packages installed, if should compile out of the box.
For convenience we allow to run extra action after the conversion has been done, in particular for latex we have a pdf post-processor. 
You can define the postprocessor tu run with the --post flag.
End of explanation
pyfile = !ipython nbconvert --to python 'Working With Markdown Cells.ipynb' --stdout
for l in pyfile[20:40]:
    print l
Explanation: Have a look at 04 - Custom Display Logic.pdf, toward the end, where we compared display() vs display_html() and returning the object.
See how the cell where we use display_html was not able to display the circle, whereas the two other ones were able to select one of the oher representation they know how to display.
Customizing template
let's look at the first 20 lines of the python exporter
End of explanation
%%writefile simplepython.tpl
{% extends 'python.tpl'%}
{% block markdowncell -%}
{% endblock markdowncell %}
## we also want to get rig of header cell
{% block headingcell -%}
{% endblock headingcell %}
## and let's change the appearance of input prompt
{% block in_prompt %}
# This was input cell with prompt number : {{ cell.prompt_number if cell.prompt_number else ' ' }}
{%- endblock in_prompt %}
pyfile = !ipython nbconvert --to python 'Working With Markdown Cells.ipynb' --stdout --template=simplepython.tpl
for l in pyfile[4:40]:
    print l
print '...'
Explanation: We see that the non-code cell are exported to the file. To have a cleaner script, we will export only the code contained in the code cells.
To do so, we will inherit the python template, and overwrite the markdown blocks to be empty.
End of explanation
<END_TASK>