{ "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.7.2" }, "kernelspec": { "name": "julia-1.7", "display_name": "Julia 1.7.2", "language": "julia" } }, "nbformat": 4 }