{
"cells": [
{
"cell_type": "markdown",
"source": [
"# **8.** Example"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"cell_type": "markdown",
"source": [
"This is an example generated with Literate based on this\n",
"source file: [`example.jl`](https://github.com/fredrikekre/Literate.jl/blob/master/examples/example.jl).\n",
"You are seeing the\n",
"generated notebook output. The corresponding markdown (HTML) output\n",
"can be found here: [`example.html`](https://fredrikekre.github.io/Literate.jl/dev/generated/example.html),\n",
"and the plain script output can be found here: [`example.jl`](./example.jl)."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"cell_type": "markdown",
"source": [
"To view this notebook as a slideshow, install the [RISE plugin](https://rise.readthedocs.io/en/stable/installation.html)\n",
"and press `alt-r` to start. Use spacebar to advance."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"cell_type": "markdown",
"source": [
"It is recommended to have the [source file](https://github.com/fredrikekre/Literate.jl/blob/master/examples/example.jl)\n",
"available when reading this, to better understand how the syntax in the source file\n",
"corresponds to the output you are seeing."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"cell_type": "markdown",
"source": [
"### Basic syntax\n",
"The basic syntax for Literate is simple, lines starting with `# ` is interpreted\n",
"as markdown, and all the other lines are interpreted as code. Here is some code:"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "2//5"
},
"metadata": {},
"execution_count": 1
}
],
"cell_type": "code",
"source": [
"x = 1//3\n",
"y = 2//5"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
},
"execution_count": 1
},
{
"cell_type": "markdown",
"source": [
"In markdown sections we can use markdown syntax. For example, we can\n",
"write *text in italic font*, **text in bold font** and use\n",
"[links](https://www.youtube.com/watch?v=dQw4w9WgXcQ)."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
}
},
{
"cell_type": "markdown",
"source": [
"It is possible to filter out lines depending on the output using the\n",
"`#md`, `#nb`, `#jl` and `#src` tags (see Filtering Lines):\n",
"- This line starts with `#nb` and is thus only visible in the notebook output."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"cell_type": "markdown",
"source": [
"The source file is parsed in chunks of markdown and code. Starting a line\n",
"with `#-` manually inserts a chunk break. For example, if we want to\n",
"display the output of the following operations we may insert `#-` in\n",
"between. These two code blocks will now end up in different\n",
"`@example`-blocks in the markdown output, and two different notebook cells\n",
"in the notebook output."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "11//15"
},
"metadata": {},
"execution_count": 2
}
],
"cell_type": "code",
"source": [
"x + y"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
},
"execution_count": 2
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "2//15"
},
"metadata": {},
"execution_count": 3
}
],
"cell_type": "code",
"source": [
"x * y"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
},
"execution_count": 3
},
{
"cell_type": "markdown",
"source": [
"### Output Capturing\n",
"Code chunks are by default placed in Documenter `@example` blocks in the generated\n",
"markdown. This means that the output will be captured in a block when Documenter is\n",
"building the docs. In notebooks the output is captured in output cells, if the\n",
"`execute` keyword argument is set to true. Output to `stdout`/`stderr` is also\n",
"captured."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This string is printed to stdout.\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "4-element Array{Int64,1}:\n 1\n 2\n 3\n 4"
},
"metadata": {},
"execution_count": 4
}
],
"cell_type": "code",
"source": [
"function foo()\n",
" println(\"This string is printed to stdout.\")\n",
" return [1, 2, 3, 4]\n",
"end\n",
"\n",
"foo()"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
},
"execution_count": 4
},
{
"cell_type": "markdown",
"source": [
"Just like in the REPL, outputs ending with a semicolon hides the output:"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"1 + 1;"
],
"metadata": {},
"execution_count": 5
},
{
"cell_type": "markdown",
"source": [
"Both Documenter's `@example` block and notebooks can display images. Here is an example\n",
"where we generate a simple plot using the\n",
"[Plots.jl](https://github.com/JuliaPlots/Plots.jl) package"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.GRBackend() n=2}",
"image/png": "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1dbWvv32201NTVar9Vvf+hZpiyhX0CgQ2mw2WZanUm29vb20tk23TDXa3rlzZ1JSUnV1NVl7KHOTmpra39/v+/Pw8LDX67XZbGRNoszI1G8Wz/N/93d/V15eTtYeyhQaBcLExMSSkpJDhw75/nro0KEtW7Zo82pK0HR3d/f396elpZE2hDIXW7ZsOXTokK/8+9ChQ0uXLrVaraSNosxDZWUl/c3SD9pVjX7zm9/8yle+0tfXd+HChcHBwY997GOavZriP8ePH3/uuefWrVsnCMILL7xw77330vJRXXHw4MHDhw+fOnXKYDA8+eSTt9122549e7773e9+6lOfWrNmzQ9+8IMf//jHCCHSZlJg79695eXl9fX1kiQ5nc4HHnjgl7/8ZWJiot1ur6ioeOWVV6YmBhTiaHr6xLvvvrtv376UlJTPfOYzdNCqT1wu1yuvvFJfX28ymdavX797927qVXXF+fPnz58/P/XXdevWrVixYmBg4IUXXujr67v99tt37NhB0DzKFEeOHGloaJj6644dO3p7ew8fPuxyudLS0u6///6pfggU4tBjmCgUCoWyqKG9XSgUCoWyqKGBkEKhUCiLGhoIKRQKhbKo+f8rH0HLm9wyFgAAAABJRU5ErkJggg==",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 6
}
],
"cell_type": "code",
"source": [
"using Plots\n",
"x = range(0, stop=6π, length=1000)\n",
"y1 = sin.(x)\n",
"y2 = cos.(x)\n",
"plot(x, [y1, y2])"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
},
"execution_count": 6
},
{
"cell_type": "markdown",
"source": [
"### Custom processing\n",
"\n",
"It is possible to give Literate custom pre- and post-processing functions.\n",
"For example, here we insert a placeholder value `y = 321` in the source, and use a\n",
"preprocessing function that replaces it with `y = 321` in the rendered output."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "123"
},
"metadata": {},
"execution_count": 7
}
],
"cell_type": "code",
"source": [
"x = 123"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "subslide"
}
},
"execution_count": 7
},
{
"cell_type": "markdown",
"source": [
"In this case the preprocessing function is defined by"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "pre (generic function with 1 method)"
},
"metadata": {},
"execution_count": 8
}
],
"cell_type": "code",
"source": [
"function pre(s::String)\n",
" s = replace(s, \"x = 123\" => \"y = 321\")\n",
" return s\n",
"end"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
},
"execution_count": 8
},
{
"cell_type": "markdown",
"source": [
"### Documenter.jl interaction\n",
"\n",
"In the source file it is possible to use Documenter.jl style references,\n",
"such as `@ref` and `@id`. These will be filtered out in the notebook output.\n",
"For example, here is a link, but it is only\n",
"visible as a link if you are reading the markdown output. We can also\n",
"use equations:"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "slide"
}
}
},
{
"cell_type": "markdown",
"source": [
"$$\n",
"\\int_\\Omega \\nabla v \\cdot \\nabla u\\ \\mathrm{d}\\Omega = \\int_\\Omega v f\\ \\mathrm{d}\\Omega\n",
"$$"
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"cell_type": "markdown",
"source": [
"using Documenters math syntax. Documenters syntax is automatically changed to\n",
"`\\begin{equation} ... \\end{equation}` in the notebook output to display correctly."
],
"metadata": {
"name": "A slide ",
"slideshow": {
"slide_type": "fragment"
}
}
},
{
"cell_type": "markdown",
"source": [
"---\n",
"\n",
"*This notebook was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*"
],
"metadata": {}
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.5.4"
},
"kernelspec": {
"name": "julia-1.5",
"display_name": "Julia 1.5.4",
"language": "julia"
}
},
"nbformat": 4
}