2025-10-03

vak: (Знайка)
Как нарисовать дерево Штерна—Броко? Задействуем TeX для прикола. Вот такой малопонятный код мне Грок насоветовал.
\documentclass{standalone}
\usepackage{forest}

\begin{document}
\begin{forest}
  Stern Brocot/.style n args={5}{%
    content=$\frac{\number\numexpr#1+#3\relax}{\number\numexpr#2+#4\relax}$,
    if={#5>0}{% true
      append={[,Stern Brocot={#1}{#2}{#1+#3}{#2+#4}{#5-1}]},
      append={[,Stern Brocot={#1+#3}{#2+#4}{#3}{#4}{#5-1}]}
    }{}}% false (empty)
[,Stern Brocot={0}{1}{1}{0}{5}]
\end{forest}
\end{document}
Давно не брал я в руки шашки ТеХ. Когда-то по молодости много ним занимался, и всегда с ТеХом было сложно. Но давеча появился новый инструмент: Tectonic. Народ упёрся и наваял (на Rust!) поверх старого доброго кнутовского ТеХа удобную обёртку. Ставится командой brew install tectonic на маке, или sudo snap install tectonic в Линуксе. Превращаем .tex в .pdf:
tectonic tree.tex
Полученный файл PDF можно для удобства превратить в векторный рисунок SVG. Его можно смотреть любым браузером или вставлять в документы:
pdftocairo -svg tree.pdf tree1.svg
svgcleaner tree1.svg tree2.svg
Здесь pdftocairo создаёт SVG, а svgcleaner его оптимизирует, уменьшая размер. Вот такое пятиуровневое дерево получается:



Если в теховском исходнике в третьей строчке с конца заменить {5} на {8}, получим восемь уровней. Кликайте на картинку, зумьте и проворачивайте вправо-влево:

vak: (Українець)
Сварганил козака в формате SVG: пользуйтесь кому надо.