{ "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 Vector{Int64}:\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", "\n", "\n", "\n", "\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", "\n", "\n", "\n", "\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.6.1" }, "kernelspec": { "name": "julia-1.6", "display_name": "Julia 1.6.1", "language": "julia" } }, "nbformat": 4 }