Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 4– 11 классов, а так же автор поста (рекомендую почитать) о ней. Пишу я ее в LaTeX и считаю, что современный учебник не должен быть черно-белым, а так же должен быть удобен для использования и учеником и учителем. Здесь я собрал базовые фишки, которые я использую (что-то чаще, что-то реже). Надеюсь, вы найдете что-нибудь полезное для себя:)
Постараюсь все подробно описать, но не гарантирую идеального кода. Компиляция в основном с помощью pdflatex, но есть места, где требуется lualatex. Для себя я сделал около 35 стилевых файлов для использования в преамбуле, но тут я написал полный код чтобы в каждом случае можно было запустить "из коробки".
Кстати, в следующем посте будут еще <<круче>> функции.
Основные фишки
Рамки. Возможности tcolorbox
Рамки, теоремы
Пакет tcolorbox — один из самых мощных инструментов для создания
красивых цветных рамок, теорем и выделений в LaTeX.
Что показано в этом примере:
Note — примечание с пунктирной синей рамкой
theo — нумерованная теорема с голубым фоном
frogbox — декоративный бокс с «глазками лягушки»
Rule — простая рамка для правил (желтый фон, красная рамка)
Proof — выделение красной вертикальной линией слева
Ключевые библиотеки tcolorbox:
breakable— разрыв боксов между страницамиskins— расширенные стили (enhanced, overlay)theorems— создание окружений теорем
Полный код тут в разделе 00 Рамки
что дает вот такой результат:

Обведение слов в тексте
Команда \mmark создает встроенные (inline) цветные овалы вокруг текста.
Это полезно для:
Выделения ключевых терминов в учебниках
Цветовой маркировки категорий
Визуального разделения понятий
Создания интерактивных материалов
Полный код тут в разделе 00 Рамки
Что дает

Демонстрация пакета boxes.sty
Три уровня детализации решения с визуальным различием:
solutionTeacher (зелёный) — подробное решение с объяснением каждого шага
solutionStudent (жёлтый) — краткое решение без лишних деталей
solutionMaster (оранжевый) — виртуозное, минимальное решение
Особенности дизайна:
Декоративные уголки — рисуются через
overlayс помощью TikZПолупрозрачный фон —
opacityback=0.6(60% непрозрачности)Маленькая бирка — прикреплена сверху по центру (
attach boxed title)Поддержка разрыва —
breakableдля длинных решений на несколько страниц
Ключевые опции tcolorbox:
Опция | Описание |
|---|---|
| Включает расширенные возможности (overlay, shadow и др.) |
| Скрывает основную рамку |
| Разрешает разрыв бокса между страницами |
| Цвет фона |
| Прозрачность фона (0-1) |
| Код TikZ для неразрывного бокса |
| Код TikZ для частей разрывного бокса |
| Прикрепление заголовка-бирки |
Полный код тут в разделе 00 Рамки
Что дает

Математика
Выделение цветом любых объектов. Пакет colors.sty
Две группы команд для удобного окрашивания:
Математический режим (заглавные команды)
Команда | Цвет |
|---|---|
| Красный |
| Синий |
| Зелёный |
| Оранжевый |
| Фиолетовый |
| Розовый |
| Бирюзовый |
| Коричневый |
| Серый |
Текстовый режим (строчные команды с "c")
Команда | Цвет |
|---|---|
| Красный |
| Синий |
| Зелёный |
и т.д. | ... |
Полный код тут в разделе 01 Математика
Что дает

Выделение цветными прямоугольниками
Команда \BOX создаёт цветной прямоугольник с заливкой и рамкой
вокруг текста или формулы.
Синтаксис:
\BOX{содержимое} % красный по умолчанию
\BOX[blue]{содержимое} % синий
\BOX[green]{содержимое} % зелёныйКоманда использует \tikzmarknode — создаёт TikZ-узел прямо в тексте:
draw— цвет рамки (затемнённый: цвет!30!black)fill— цвет заливки (30% насыщенности: цвет!30)inner sep— отступ внутри рамкиrounded corners— скругление углов
Полный код тут в разделе 01 Математика
Получается:

Опять выделение прямоугольниками с тенью, но другими
Библиотека shadows.blur из TikZ позволяет создавать красивые
прямоугольники с градиентной тенью для выделения формул.
Синтаксис:
\begin{tikzpicture}
\fill[gray!20, blur shadow={shadow blur steps=10}]
(0,0) rectangle (5,1.2);
\node at (2.5,0.6) {$формула$};
\end{tikzpicture}
Параметры blur shadow:
Параметр | Описание |
|---|---|
| Количество шагов размытия (5–20) |
больше шагов | плавнее тень, но дольше компиляция |
Полный код тут в разделе 01 Математика
Что дает

Автоматические цветные скобки
Система команд для окрашивания скобок с автоматическим выбором цвета
по уровню вложенности.
Основные команды:
Команда | Описание |
|---|---|
| Авто-размер (как |
| Маленький размер |
| Средний размер |
| Большой размер |
| Переключение палитры |
4 цветовые палитры:
0. Стандартная: зелёный → синий → оранжевый → пурпурный
Красная: red → tomato → orangered → darkred
Фиолетовая: purple → magenta → violet → darkviolet
Коричневая: brown → saddlebrown → chocolate → maroon
Пример:
\[ \L( a + \L( b + \L( c \R) \R) \R) \]
Каждый уровень вложенности автоматически получает свой цвет.
Принцип работы:
Счётчик
BracketLevelотслеживает уровень вложенности\Lувеличивает счётчик,\RуменьшаетЦвет выбирается из массива по значению счётчика
\SWциклически переключает палитру ВАЖНО
Полный код тут в разделе 01 Математика
Что дает

Подписи сверху к уравнениям
Два способа добавить пояснения к частям формулы:
Пакет annotate-equations
\begin{equation*}
\eqnmarkbox[red]{term1}{x^2} + \eqnmarkbox[blue]{term2}{2x} = 0
\end{equation*}
\annotatetwo[yshift=1em]{above}{term1}{term2}{Пояснение}Важно: требуется 2 компиляции!
Команды:
\eqnmarkbox[цвет]{метка}{формула}— отмечает элемент\annotate[опции]{позиция}{метка}{текст}— одна аннотация\annotatetwo[опции]{позиция}{метка1}{метка2}{текст}— объединяющая
TikZ-диаграммы
Для сложных схем используйте TikZ напрямую:
\node— создание блоков\pathили\draw— стрелки между блокамиСтили задаются в начале tikzpicture
Полезные стили:
right=of node— размещение справа от узлаabove=of node— размещение сверху->— стрелка>=latex— тип наконечника
Полный код тут в разделе 01 Математика
Что дает

Подписи справа к уравнениям при переходе на следующую строку
Пакет witharrows добавляет стрелки с пояснениями справа от формул,
объясняя переходы между строками.
Синтаксис:
\begin{DispWithArrows}[format=ll]
левая часть &= правая часть
\Arrow{пояснение} \\
&= следующий шаг
\Arrow{пояснение} \\
&= результат
\end{DispWithArrows}
Опции окружения:
Опция | Описание |
|---|---|
| Выравнивание left-left |
| Выравнивание right-left |
| Центрирование |
Команда \Arrow:
\Arrow{текст}— стрелка с пояснением\Arrow*{текст}— только текст без стрелки\Arrow[yshift=1em]{текст}— со сдвигом
Полный код тут в разделе 01 Математика
Что дает

Совокупности и системы (не доработано, потом когда-нибудь доделаю)
Удобное написание в .tex файле систем и совокупностей
Полный код тут в разделе 01 Математика
Что дает

Математика внутри section чтобы не было проблем в оглавлении и закладках
Возможно вы сталкивались с проблемой что нельзя добавлять математику в секции и пр разделы, тк есть конфликты с закладками. Вот решение проблемы:
\subsection{Математика в section и оглавлении. The values of \texorpdfstring{$\beta$}{тот текст который будет отображаться в закладках} for which \texorpdfstring{$\omega_i \mid {\omega}\mid^{-\beta}$}{тот текст который будет отображаться в закладках} is defined at the origin}Что дает

Команды-сокращения
Список команд:
Команда | Описание |
|---|---|
| Сокращение «рис.» |
| Двойная стрелка ⟺ с отступами |
| Дробь с вертикальными отступами |
| Показать домножение на n |
| Линия для ответа |
| Заметка для автора |
Полный код тут в разделе 01 Математика
Что дает

Дроби и обводка
Полный код тут в разделе 01 Математика
Что дает

Tikz-рисунки
3D функции
Пакет pgfplots строит трёхмерные графики функций z = f(x,y).
Базовый синтаксис:
\begin{tikzpicture}
\begin{axis}[3d box, xlabel=$x$, ylabel=$y$, zlabel=$z$, colormap/viridis]
\addplot3[surf, domain=-2:2, samples=45] {x^2 + y^2};
\end{axis}
\end{tikzpicture}
Ключевые параметры:
Параметр | Описание |
|---|---|
| Рисовать рамку вокруг графика |
| Тип: сплошная поверхность |
| Тип: сетка без заливки |
| Диапазон X и Y |
| Количество точек (больше = плавнее) |
| Цветовая схема |
Популярные цветовые карты:
viridis— научный стандартjet— радуга (классика)hot— тепловая картаcool— холодные тона
Полный код тут в разделе 02 Tikz
Что дает

3D-рисунки
3D рисунки с tikz-3dplot
Пакет tikz-3dplot позволяет рисовать в трёхмерном пространстве,
задавая углы обзора.
Базовый синтаксис:
\tdplotsetmaincoords{60}{110} % углы θ и φ
\begin{tikzpicture}[tdplot_main_coords]
\draw (0,0,0) -- (2,0,0); % линия в 3D
\draw[->] (0,0,0) -- (0,0,3); % ось Z
\end{tikzpicture}Углы обзора:
θ (первый) — наклон от вертикали (0°=сверху, 90°=сбоку)
φ (второй) — поворот вокруг Z
Полный код тут в разделе 02 Tikz
Что дает

Площадь между графиков
Полный код тут в разделе 02 Tikz
Что дает

Человечки всех видов
Полный код тут в разделе 02 Tikz
Что дает

Анимированный график/пошаговое переключение рисунков
Полный код тут в разделе 02 Tikz
Что дает

Примеры рисунков и графиков. Посложнее
Всякие рисунки
Полный код тут в разделе 02 Tikz
Что дает

Диаграммы Эйлера-Венна
Полный код тут в разделе 02 Tikz
Что дает

Отрезки
Всякие разные рисунки
Полный код тут в разделе 02 Tikz
Что дает

Рисунки посложнее
Полный код тут в разделе 02 Tikz
Что дает

Ссылки, всплывающие подсказки, скрытые подсказки
Гиперссылки внутри текста
Полный код тут в разделе 03 Ссылки
Что дает

QR-код
Полный код тут в разделе 03 Ссылки
Что дает

Подсказки, всплывающий текст при наведении
Полный код тут в разделе 03 Ссылки
Что дает

По мне так иконки не очень. См следующий раздел
Иконки с подсказками
Гораздо лучше чем в прошлом случае
Полный код тут в разделе 03 Ссылки
Что дает

Прикрепленные файлы. ТОПовая технология! очень удобно!
Я считаю что это одно из лучших решений для использования в современных учебниках. Например можно прикреплять большие качественные pdf рисунки геометрических задач или mp3 пояснения оставлять прямо в книге!
Обращаю внимание на несколько очень важных пунктов
Работает только с adobe acrobate reader
Чтобы открыть файл надо дважды кликнуть на иконку внутри основного pdf
Чтобы скомпилировать без ошибок как у меня у вас должен лежать в этой же папке где и .tex файл modal.pdf (вообще любой pdf, просто у меня называется именно так и в коде указан именно он) и в папке audio должен лежать файл Recording0001.wav. Очевидно, вы можете создать свой и расположить его где угодно, у меня прописано audio/Recording0001.wav.

p.s. Почему то моя нарисованная иконка pdf выглядит криво при компиляции pdflatex но нормально с lualatex
Скрытые подсказки. Тоже ТОПовое решение
Полный код тут в разделе 03 Ссылки
Что дает

Очевидно, работает только с adobe acrobat
Устал писать статью, это только половина от того, что я тут хотел описать
Продолжу завтра:)
p.s. ссылка на мой тг канал где я выкладываю кусочки книги по математике
p.s.2 обновил статью, убрал весь код на гугл диск. слишком огромная статья была. многие жаловались
p.s.3 случайно отклонил комментарий от человека о полезности пакета todolist. действительно, можно вывести целый список с напоминалками о том, что надо доработать что-то в конкретных местах. К сожалению, второй комментарий не прочитал(
