Здравствуйте, Marty, Вы писали:
M>Вот, например, есть пакет graphviz — позволяет рисовать графы — написал простенькое текстовое описание графа в файлике, запустил dot, и получил вполне годный либо SVG, либо PNG.
Graphviz — это когда у тебя есть структура, а расположение элементов в основном определяет Graphviz.
Твоя задача другая: есть определенное расположение элементов, нужно нарисовать их и расставить сноски; поэтому Graphviz не тот инструмент.
Если схемы должны быть красивыми, то всегда окажется нужно добавить кастомные элементы, поэтому от WYSIWYG на практике уйти малореально.
Я в итоге такие вещи рисую в Google Drawings или в редакторе презентаций Google/Яндекс. Inkscape хвалят, но мне кажется слишком сложным для задачи.
M>SVG руками рисовать неохота, и в каком-то редакторе графическом тоже, хочется текстом в файлик написать и сгенерить картинку в нужном формате.
Хороших не-WYSIWYG программ, похоже, нет, потому что для рисования нужна обратная связь.
Поэтому стоит начать с того, чтобы огранизовать live preview меняющегося SVG.
А дальше всё-таки предложу писать SVG, благо, что координаты и размеры можно задавать в натуральных величинах — буквально перенести с чертежа.
Только не руками, а сделать простейший генератор под конкретную задачу, банально чтобы 48 портов свича не копипастой делать.
Самое мерзкое — расстановка подписей. Лайфхак: на картинке только кружки с номерами, а подписи отдельно (можно тоже генерировать просто как кусок текста).