РР-25. Стажировка 6.2. Ход выполнения и вопросы

Предлагаю попробовать под Ваши задачи, но не настаиваю на сём.

Главное

М.б. Вам зайдёт LaTeX? Пробовали?

Пояснение

LaTeX — это не замена Obsidian для ежедневной работы. Это следующий шаг, который решает именно те проблемы (гибкость редактирования + наглядность), которые, кмк, Вы описали выше…

Если только я верно понял, Вам нужен финальный, качественный и легко поддерживаемый графический документ (?)

Обоснование

Проблема

Пусть есть проблема "неудобство редактирования иерархических структур («дерево часть-целое»).

Тогда:

  • таблицы Excel и их аналоги — наглядны, но крайне негибки. Перемещение ветки — это боль.

  • Аутлайны (текст с отступами) — гибкие для редактирования, но теряют в наглядности по сравнению с графической схемой.

LaTeX, кмк, решает эту дилемму, потому что он разделяет содержание (структуру) и представление (внешний вид). Вы описываете логику вложенности, а LaTeX “заботится” о том, чтобы красиво и правильно это нарисовать. Если Вы меняете логику в коде — рисунок перестраивается автоматически.


“Чиста канкретный кейс” (ЧКС) —

Дисклеймер: ЧКС неверифицированный, порождён А2Тцкай-влажными и LLMски-силиконовыми фантазиями.

Приводится в качестве “наглядного пособия” — исключительно как иллюстрация.

Визуализация декомпозиции путепровода

Рискну решить вымышленную задачу, создав наглядную и легко редактируемую схему дерева «часть-целое» для путепровода.

“Передаю слово” LLM:

(текущая редакция текста покритикована AI — точность ответа 9 из 10)

Мы будем использовать LaTeX и специальный пакет для рисования деревьев под названием forest. Он идеально подходит для этой задачи, так как его синтаксис сам похож на дерево.

Цель — получить графическую схему, которую так же легко редактировать, как текстовый аутлайн.

Шаг 1: Описываем структуру в коде LaTeX

Представим, что вместо списка с маркерами мы описываем структуру в квадратных скобках. Каждая открывающая скобка — это начало новой ветки.

Вот как будет выглядеть фрагмент нашей декомпозиции, записанный для LaTeX:

% Это "шапка" документа, ее достаточно написать один раз
\documentclass{article}
\usepackage[utf8]{inputenc} % Поддержка русского языка
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{geometry} % Для управления полями страницы
\geometry{a4paper, margin=1in}

\usepackage{forest} % Подключаем тот самый пакет для рисования деревьев

\begin{document}

% А вот и наша схема. Каждая вложенная скобка [] -- это дочерний элемент.
\begin{forest}
  for tree={
    grow=east,            % Дерево будет расти слева направо
    forked edges,         % Аккуратные "вилочные" соединения
    edge={-latex},        % Стрелочки на концах линий
    l sep=20pt,           % Расстояние между уровнями
    s sep=10pt,           % Расстояние между братьями
    text width=5cm,       % Ширина блока для текста
    anchor=west,          % Выравнивание
  }
  [Путепровод автодорожный...
    [Мостовое полотно
      [Проезжая часть для автомобилей...
        [Выравнивающее основание ж.б.]
        [Покрытие из асфальтобетона...]
      ]
      [Прохожая часть для пешеходов...]
      [Элементы благоустройства
        [Ограждение безопасности]
        [Наружное освещение]
      ]
    ]
    [Опоры пролетного строения
      [Опоры крайние
        [Опора крайняя 1
            [Фундаментная часть]
            [Стойка опоры]
        ]
        [Опора крайняя 4]
      ]
      [Опоры промежуточные
        [Опора промежуточная 2]
        [Опора промежуточная 3]
      ]
    ]
    [Сопряжение с автодорогой]
  ]
\end{forest}

\end{document}

Шаг 2: Результат

После “компиляции” этого кода (это один клик в любом редакторе LaTeX) мы получим не текст, а вот такую идеально выровненную графическую схему:

                                         +--------------------------+
                               +---------+ Выравнивающее основание  |
                               |         +--------------------------+
                  +------------+
+-----------------+ Проезжая   |         +--------------------------+
| Мостовое        | часть...   +---------+ Покрытие из асфальтобетона|
| полотно         +------------+         +--------------------------+
|                 |
|                 +------------+
+-----------------+ Прохожая   |
|                 | часть...   |
|                 +------------+
|                 |
|                 +------------+         +--------------------------+
|                 | Элементы   +---------+ Ограждение безопасности  |
|                 | благоустр. |         +--------------------------+
|                 +------------+
|                              |         +--------------------------+
|                              +---------+ Наружное освещение       |
|                                        +--------------------------+
|
+--------------------------------+
| Путепровод                     |
| автодорожный...                |
+--------------------------------+
|
|                 +------------+         +--------------------------+
|                 | Опоры      +---------+ Опора крайняя 1          |
|                 | крайние    |         +--------------------------+
|                 +------------+
|                              |         +--------------------------+
|                              +---------+ Опора крайняя 4          |
|                                        +--------------------------+
+-----------------+
| Опоры           +------------+         +--------------------------+
| пролетного      | Опоры      +---------+ Опора промежуточная 2    |
| строения        | промежут.  |         +--------------------------+
|                 +------------+
|                              |         +--------------------------+
|                              +---------+ Опора промежуточная 3    |
|                                        +--------------------------+
+-----------------+
|
+-----------------+
| Сопряжение с    |
| автодорогой     |
+-----------------+

(Это ASCII-арт для иллюстрации, реальный результат в PDF будет выглядеть как качественная векторная графика).

Шаг 3: В чём существенное преимущество?

Теперь вернемся к вопросам:

  1. Проблема с таблицами? — Представим, что нужно сделать «Опоры» частью «Мостового полотна». В Excel нам пришлось бы вырезать и вставлять десятки ячеек, рискуя нарушить всю структуру. В LaTeX — Вы просто вырезаете и вставляете блок текста [Опоры пролетного строения [...]] внутрь скобок [Мостовое полотно [...]]. Всё. Диаграмма перерисуется сама автоматически.

  2. Проблема с аутлайном? — Мы получаем и лёгкость редактирования текста, и отличную наглядность полноценной схемы. Мы работаем с кодом, который так же удобен, как и аутлайн в Obsidian, но на выходе получаем профессиональную диаграмму, а не просто список с отступами.


Ответы на Ваши вопросы с учетом LaTeX, если я правильно понял исходный посыл статьи.

  1. Насколько в будущем будет удобно моделировать проекты в обсидиане… или есть смысл делать… в каких-то инстументах максимально доступных для команды?

Obsidian/Markdown — хорош для ежедневной работы, ведения заметок, набросков (как ваш аутлайн). Его главное преимущество — низкий порог входа и скорость.

LaTeX — это инструмент для финализации и формализации. Когда Ваша модель устоялась и Вам нужно создать из нее формальный документ (отчет, часть проектной документации, статью), Вы переносите структуру в LaTeX и получаете, возможно, лучший (?) результат.

Рабочий процесс мог бы выглядеть так:

  1. Вы ведете ежедневные заметки, набрасываете и меняете структуру в Obsidian (я так понял, что Вы так и делаете).

  2. Когда нужно зафиксировать версию модели или поделиться ей в виде формального документа, Вы копируете аутлайн и быстро адаптируете его под синтаксис forest в LaTeX.

  3. Вы делитесь с командой не кодом LaTeX, а итоговым PDF-файлом, который понятен абсолютно всем.

  1. А какие есть инструменты под эти задачи: декомпозиции “часть-целое” ЦС на подсистемы с последующим модульным синтезом?
  • Для быстрой декомпозиции и совместной работы: возможно, Вам пригодятся:
    • Miro (?),
    • XMind (?),
    • Coggle (?).
      • Это онлайн-доски и ментальные карты. Они визуальны и интерактивны, но могут быть менее строгими и формальными.
  • Для формального инженерного моделирования:

    • SysML/UML-редакторы типа:
      • Cameo Systems Modeler (?),
      • Enterprise Architect (?).
        • Это тяжелая артиллерия для системной инженерии. Порог входа очень высокий.
  • Компромисс (Возможно, Ваш случай?) — текстовые инструменты для описания диаграмм. LaTeX с пакетом forest/TikZ — в этой категории для академического и инженерного мира. Аналоги для программистов — Graphviz (DOT language), PlantUML, Mermaid.js (кстати, Mermaid поддерживается в Obsidian!). Они позволяют описывать диаграммы текстом и получать картинку.

2 лайка