{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Набор отчета в Jupyter Notebook"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Есть два типа ячеек - с кодом (на языке Питон) и с форматированным текстом на языке разметки Markdown. \"Выполнение\" ячеек первого типа приводит к выполнению кода, второго типа - к обработке команд разметки и отображению отформатированного текста.\n",
    "\n",
    "![](menu.png)\n",
    "\n",
    "В ячейке типа Code приводим фрагменты кода (если нужно их тестировать) и окончательное решение задачи. Отчет сохраняем вместе с результатами выполнения всех ячеек с кодом."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Подробнее о правилах разметки ячеек типа Markdown можно посмотреть, например, здесь  \n",
    "* [Исчерпывающая шпаргалка по синтаксису разметки Markdown](https://texterra.ru/blog/ischerpyvayushchaya-shpargalka-po-sintaksisu-razmetki-markdown-na-zametku-avtoram-veb-razrabotchikam.html)\n",
    "* [Шпаргалка по Markdown](http://bustep.ru/markdown/shpargalka-po-markdown.html)\n",
    "* [Шпаргалка Markdown синтаксис в 2020](https://ax.digital/markdown/)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Для составления отчета нужно уметь:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Вставлять заголовки\n",
    "\n",
    "# 1 уровень\n",
    "## 2 уровень\n",
    "### 3 уровень\n",
    "#### 4 уровень"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Менять шрифты\n",
    "\n",
    "обычный *наклонный*  **полужирный**  ***наклонный полужирный***"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Вставлять таблицы (это неудобно, да!)\n",
    "\n",
    "|Вариант вызова |Ожидаемый результат|\n",
    "|:--|--:|\n",
    "|`findSubstr(s, 'загадка', -5, 'физики', 5)`|-2,\"| \n",
    "|`findSubstr(s, 'загадка', 5, 'физики', 5) `|-1,\"| \n",
    "|`findSubstr(s, 'загадка', 58, 'физика', 5)`|-1,\"| \n",
    "|`findSubstr(s, 'мы', 25, 'не', 50) `|104, 'мы не в состоянии понять '| \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Вставлять в текст фрагменты кода\n",
    "\n",
    "Внимание, это важно: все команда языка Питон в тексте Markdown-ячейки, например, `print(f'x={x}')`, должны обязательно быть выделены именно стилем ***код***. Так писать **нельзя**: print(f'x={x}')\n",
    "\n",
    "В Markdown-ячейку можно вставить и целый блок кода на Питон\n",
    "```python\n",
    "def f_recur(i, n): \n",
    "    if i==n: \n",
    "        return math.sqrt(n) \n",
    "    else: \n",
    "        return math.sqrt(i+f_recur(i+1,n)) \n",
    "```\n",
    "\n",
    "Почувствуйте разницу:\n",
    "\n",
    "def f_recur(i, n): \n",
    "    if i==n: \n",
    "        return math.sqrt(n) \n",
    "    else: \n",
    "        return math.sqrt(i+f_recur(i+1,n)) \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5. Набирать формулы, используя нотацию LaTEX\n",
    "\n",
    "|Код|Результат|\n",
    "|:----|-----|\n",
    "| `$x^2$`| $x^2$|\n",
    "| `$x^{y+z}$`| $x^{y+z}$|\n",
    "| `$\\frac{x}{y+z}$`| $\\frac{x}{y+z}$|\n",
    "| `$$\\frac{x}{y+z}$$`| $$\\frac{x}{y+z}$$|\n",
    "| `$\\sin x$`| $\\sin x$|\n",
    "| `$\\cos x$`| $\\cos x$|\n",
    "| `$\\lg x$`| $\\lg x$|\n",
    "| `$\\ln x$`| $\\ln x$|\n",
    "| `$\\sqrt{x+y}$`| $\\sqrt{x+y}$|\n",
    "| `$\\tg x$`| $\\tg x$|\n",
    "| `$\\tan x$`| $\\tan x$|\n",
    "| `$\\rm{tg}\\,x$`| $\\rm{tg}\\,x$|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "|Код|Результат|\n",
    "|:----|-----|\n",
    "| `$$\\frac{e^{3x}+\\cos x}{1-x^5\\sin x+e^x\\,{\\rm tg}\\, x}$$`| $$\\frac{e^{3x}+\\cos x}{1-x^5\\sin x+e^x\\,{\\rm tg}\\, x}$$|\n",
    "| `$$g(0)=\\sin\\left(\\pi\\frac{\\lg 5}{2}\\right)\\approx0.8902$$`| $$g(0)=\\sin\\left(\\pi\\frac{\\lg 5}{2}\\right)\\approx0.8902$$|\n",
    "| `$f(n)=\\sqrt{1+\\sqrt{2+\\sqrt{3+\\ldots+\\sqrt{n}}}}$`| $$f(n)=\\sqrt{1+\\sqrt{2+\\ldots+\\sqrt{n}}}$$|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6. Разрывать строку там, где нам хочется (неожиданно...)\n",
    "\n",
    "* Автоматика:\n",
    "\n",
    "Вот моя деревня:\n",
    "Вот мой дом родной;\n",
    "Вот качусь я в санках\n",
    "По горе крутой; \n",
    "\n",
    "* Три способа ручного управления\n",
    "\n",
    "Вот моя деревня:  \n",
    "Вот мой дом родной;\\\n",
    "Вот качусь я в санках<br>\n",
    "По горе крутой; \n",
    "\n",
    "\n",
    "два пробела в конце первой строки\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
