Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 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. действительно, можно вывести целый список с напоминалками о том, что надо доработать что-то в конкретных местах. К сожалению, второй комментарий не прочитал(
Комментарии (11)

malkovsky
07.01.2026 07:56Есть предзаказ?

Vitaly1024 Автор
07.01.2026 07:56Добрый день! К сожалению, работа над книгой идёт медленнее чем хотелось бы(
Постараюсь почаще в Telegram канал выкладывать бесплатные методички, являющиеся частью книги

domix32
07.01.2026 07:56Сегодня я узнал, что хабр умеет прикладывать PDF в статью. @boombooroom а вы эту штуку проверяли на предмет RCE? А то ж как вставят щас Doom PDF в статью.

abcdsash
07.01.2026 07:56люблю ТеХ )
но очень длинная статья. Слишком много материала, а в исходниках, порой, много избыточных комментариев... А так - супер просто!

Vitaly1024 Автор
07.01.2026 07:56Сори, следующую сделаю короче. То, что она длинная понял вчера в 3 часа ночи… пришлось вместо кода вставлять ссылки на гугл диск
А комментариев много — согласен, пользователи лишние могут убрать. Было очень сложно генерировать отдельные файлы, поэтому заставил писать ИИ, получилось объемно, но переделывать не стал
рад, что понравилось) завтра след статья

malkovsky
07.01.2026 07:56Еще такой глобальный вопрос: из статьи кажется, что вы хотите учебник и в печатном, и в электронном варианте. Многие вспомогательные штуки в печатном варианте невозможны, что делает сложным иметь один вариант для обоих случаев. Если все-таки предполагается электронный вариант, разве нет каких-нибудь хороших альтернатив latex? Я лично смотрю в сторону jupyter book и подобного, сам использую quarto, по сути они все представлют собой jupyter страницы в разных вариациях, преимущество которых перед техом в том, что большую часть текста можно верстать в markdown, тех поддерживается на достаточном уровне чтобы сверстать IEEE статью и при этом есть возможность исполняемые вставлять фрагменты кода и компилировать не только в пдф.
Отдельно отмечу, что лично я latex перестал работать c чистым latex в основном из-за отсутствия адекватного UX, например в overleaf я не вижу визуально изменения мгновенно, а в MD вижу. Тут еще стоит отметить typst, но с ним я почти не знаком.

Vitaly1024 Автор
07.01.2026 07:56День добрый! Сначала я хотел печатать книгу, но потом понял что это бесполезно и катастрофически дорого.
бОльшая часть фишек заточена под электронный формат книги, при чем такой, который работает и без интернета.
Я настолько освоился в техстудио в латехе, что даже не смотрю на пдф постоянно. Мне в этом помогают макросы для окружений, заготовки + отступы + цвета команд. Я бы рассмотрел другие варианты, но объем моей книги уже «перевалил» за рамки адекватного и работать с полной версией, наоборот, удобнее в латехе.
Typest попробовал, клевая вещь, рендерит быстрее. Но пока не понял почему нужно на него перейти. Слишком много всего надо будет менять и переадаптироваться

malkovsky
07.01.2026 07:56Typest попробовал, клевая вещь, рендерит быстрее. Но пока не понял почему нужно на него перейти. Слишком много всего надо будет менять и переадаптироваться
Вот если бы он просто быстро рендерил латех, то я скорее всего сидел бы на нём
DmitryKolosov
Я список кораблей прочёл до середины. (с) Осип Мандельштам