{ "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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bn3vvfegZaFcQ3t7e0VFhfffMTEx6enpdNaohF27dmVnZ9977700Xg1FSBrCyclJnU6n1X66nY2KipqYmIAViYIQeuihh44dO3bx4sW9e/d+8YtfPH/+PLRElM+wWCyzI29RUVH05hY18PLLL586deqjjz4ymUy7d+92u93QEoUjIWkIExISXC4Xz/PeH61Wa1JSEqxIFITQli1bioqKUlJS9u7de+eddx44cABaIspnxMfHT09PX/3RarUmJiYCykPxcscdd6SlpeXl5b300ktDQ0P0glUQQtIQpqWlRUVFXb582ftjfX19cXExrEiUOWBMu/epi5KSkqtTZnx8fGhoqKioCFYkymwwxnTWQBGShpDjuAcffPDHP/6xxWL58MMPjx49+uCDD0ILRUG/+c1venp6RkdHX3nllbfffntOmThFMUZGRurq6oaHh8fHx+vq6gYHBxFCd91118jIyMsvv2yz2X74wx/u3LkzMzMTWtIwYnp6uq6urqenZ2Zmpq6urqOjAyHU0tJy8ODB4eHh3t7eRx55JDk5ubq6GlrScCRUHRCbzfb4449/8MEHiYmJzz333J133gktEQV94QtfuHDhgsvlKioqevrpp2+//XZoicKU11577cUXX7z640MPPfTYY48hhE6fPv3EE090dnZu3rz517/+dWpqKpyMYceZM2dmHxPctm3bz3/+84aGhkcffbSjo0On023cuPG5554rKCgAFDJsCVVDSKFQKBSKLIRkaJRCoVAoFLmghpBCoVAoYQ01hBQKhUIJa6ghpFAoFEpYQw0hhUKhUMIaaggpFAqFEtZQQ0ihUCiUsIYaQgqFQqGENdQQUigUCiWsoYaQQqFQKGENNYQUCoVCCWuoIaRQKBRKWPP/Aez5SFSItmAqAAAAAElFTkSuQmCC", "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 }