{ "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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", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "5\n", "\n", "\n", "10\n", "\n", "\n", "15\n", "\n", "\n", "-1.0\n", "\n", "\n", "-0.5\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "1.0\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "y1\n", "\n", "\n", "\n", "y2\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "\n", "5\n", "\n", "\n", "10\n", "\n", "\n", "15\n", "\n", "\n", "-1.0\n", "\n", "\n", "-0.5\n", "\n", "\n", "0.0\n", "\n", "\n", "0.5\n", "\n", "\n", "1.0\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "y1\n", "\n", "\n", "\n", "y2\n", "\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.4.0" }, "kernelspec": { "name": "julia-1.4", "display_name": "Julia 1.4.0", "language": "julia" } }, "nbformat": 4 }