{ "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": [ "" ], "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.12.2" }, "kernelspec": { "name": "julia-1.12", "display_name": "Julia 1.12.2", "language": "julia" } }, "nbformat": 4 }