[ID CC-CC2021] Отбивка текстового блока, за вычетом его вышины (поиск, помощь)

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Здравствуйте.
Всем здоровья. И здоровья дорогим вам людям.


В скриптах я вообще ноль
Помогите пожалуйста, если возможно, скриптом
отбивки текстового блока, на ХХ к-во строк за вычетом его вышины


Алгоритм-задача:
- по всему документу
- найти текстовой блок между { и }
- посчитать к-во строк между { и } --> в переменную %varLINES%
- далее два варианта:
--- а. добавить строки* перед блоком {
--- b. добавить строки* после блока }
*** к-во добавляемых строк = 15строк -(минус) %varLINES%


Зачем?
Основной текст, следующий например после эпиграфа (или любого другого блока текста)
всегда будет находится на фиксированной строке, относительно начала полосы.
Вне зависимости от высот эпиграфов/блоков добавленных на эту же полосу,
что приводит к единообразию всех страниц, например начала глав.


Заметки
* добавка в начале или в конце - вариативность, в зависимости от выбранной верстки (просто комментируется строка вар. А или В)
* 15 строк и вид скобок - просто пример
* теоретически - по защите от дурака, можно исключить из поиска двойные/тройные скобки, например {{...}}


Заранее, большое спасибо!
Всем откликнувшимся!!



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

Код:
//ПЕРЕМЕННЫЕ
где искать = в всем документе
%varSTR% = ^{
%varEND%   = }
%varLINES% =
%varADD%   = калькуляция: 15-%varLINES%


//ИСЛЮЧЕНИЯ
функция исключения из поиска по двойным и тройным %varSTR% и %varEND%


//СТАРТ
перейти в начало документа
начать поиск по #алгоритму


//АЛГОРИТМ
искать    = %varSTR%
искать    = %varEND% после %varSTR%
функция   = %varLINES% = к-во строк между %varSTR% и %varEND%
обновить  = значений %varADD%
функцияА  = после %varEND% добавить %varADD% строк
//функцияB  = или до %varSTR% добавить %varADD% строк

обнулить значение переменных %varLINES%
продолжить поиск по документу


//ИТОГ
по окончанию вывести "ок" / к-во изменений
 

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213
Вы бы сделали документ с примером "до-после" и вариантами. А то очень абстрактно.
 
  • Спасибо
Реакции: blacksolg

iv-mi

15 лет на форуме
Сообщения
563
Реакции
375
А нельзя оформить первую полосу так, чтобы был отдельный фрейм для эпиграфа, всяких, как вы называете, вариативностей, а под ним фрейм для начала основного текста?
Тогда этих подсчётов строк можно избежать.
 
  • Спасибо
Реакции: blacksolg

densen

15 лет на форуме
Сообщения
751
Реакции
639
Можно посмотреть, не подойдет ли такой вариант для оформления:
 
  • Спасибо
Реакции: blacksolg

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Вы бы сделали документ с примером "до-после" и вариантами. А то очень абстрактно.
Если необходимо - с радостью 'cooll)'
Без имени-1 копия1.png
Без имени-1 копия2.png
Без имени-1 копия3.png

Не по теме:
* - в примере текст не привязан к сетке, поетому соотношения лишь приблизительны
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
А нельзя оформить первую полосу так, чтобы был отдельный фрейм для эпиграфа, всяких, как вы называете, вариативностей, а под ним фрейм для начала основного текста?
Тогда этих подсчётов строк можно избежать.
Спасибо за отклик и предложение.

Нет, к сожалению так вряд ли получится:
один шаблон, один фрейм на страницу
далее импорт портянки текста в фреймы-страницы
 

Любимцев

15 лет на форуме
Сообщения
4 198
Реакции
2 055
Это же явно не на каждой странице? Не думаю, что есть проблема вырезать цитату в отдельный фрейм
Или не вырезать, а сделать (в стиле) отбивку в величину этих 15 строк.
приводит к единообразию всех страниц, например начала глав
Так начало главы зависит от окончания предыдущей...
В вашем случае не 15 стр. отбивки нужны, а начало основного текста, всегда с одной "вышины", но так, что бы до него оставалось свободного пространства заведомо достаточно для любого объема эпиграфа:

2021-07-18_08-43-44.png
 
  • Спасибо
Реакции: blacksolg

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Можно посмотреть, не подойдет ли такой вариант для оформления:
Интересно.
Спасибо.
Попробовал (в переводе гугла)

Получилось сделать лишь
а. отступ от верха фрейма до эпиграфа
б. или, тоже самое + фиксированная отступ-отбивка от эпиграфа до абзаца
(и если добавил строк в эпиграф - основной абзац сдвинулся соответственно вниз)
:( 8*)
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Это же явно не на каждой странице?
Спасибо за ответ и участие!'cooll)'

Вы правы.
4-5 тома, но хз сколько будет таких страниц в итоге...
если среднее 4х20стр = 80... или 120... страниц наверно


Не думаю, что есть проблема вырезать цитату в отдельный фрейм

В отдельный фрейм?
- Может и есть способ быстрого вырезание эпиграфа из потока,
затем вставки отдельным, в нужные координаты... и назначение мастер страницы
но, я о таком не знаю - лишь ручной CTR+C/V +мышь.


тогда быстрее так:
- добавил отбивку после эпиграфа из 20 строк (grep`ом от меток {} )
- и сиди, на всех условных 100 страниц "подтирай руками то что вылезло" 'opa!)',
- 30-40 минут+перекуры

Норм. Никакой скрипт не нужен.
А если все 4-5 тома придется переделывать, и не 1 раз, а 5-10 раз?
Стараясь добиться лучшего качества или исправляя свои же ошибки?
- я же новичок, и понимаю - могу слажать, не один раз слажать, обязательно ошибки будут - придется переделывать.



Так начало главы зависит от окончания предыдущей...
В вашем случае не 15 стр. отбивки нужны, а начало основного текста, всегда с одной "вышины", но так, что бы до него оставалось свободного пространства заведомо достаточно для любого объема эпиграфа:
Не заморочено и логично.




Не по теме:
Хочу пояснить чего я тут так мучаюсь, и вас мучаю.

Идея следующая:
Рукопись может много редакций претерпеть =переделывай.
С первого раза сверстать идеально точно не получится + ошибки =переделывай.
По мере работы над рукописью, если устал - пили версии верстки =учись, совершенствуй.

Поэтому логично автоматизировать "импорт-автоверстка" черновых редакций
Импортнул текст -> grep`ом по меткам разбил на страницы -> назначил стили, отбивки -> удалил метки...
- "не понравилось количество страниц на выходе?" :D:D
- ок - поправил настройки, и вновь импортнул исходинк


Чем больше стараний и усердия - тем меньше ошибок.

 

Любимцев

15 лет на форуме
Сообщения
4 198
Реакции
2 055
ручной CTR+C/V +мышь
Не вижу проблемы... У вас там некий блиц по верстке?
И не С, а скорее Х
Рукопись может много редакций претерпеть =переделывай
не, это к ИнДизайн отношения точно не имеет. Пусть сначала все вычитают. И уж тогда материал на верстку.
Есть как бы момент тройной цены, но честно говоря, лучше 90% от стандарта, чем такой вынос мозга аки мартышка и очки
добавил отбивку после эпиграфа из 20 строк (grep`ом от меток {} )
А почему просто не назначить стиль этм эпиграфам?
И да, все же склоняюсь к варианту, что показал на картинке выше
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
- нет, блица никакого нет
- просто понимание: ошибки могут быть, повторы(!) на переверстку, даже если незначительны, могут выльется в много потерь

Пусть сначала все вычитают. И уж тогда материал на верстку
- повторюсь(из пояснения): текст пишу я, верстаю тоже. и денег тут нет 'opa!)' :(
- поэтому "вынос мозга" и "мартышкин труд" - прямая обязанность для исправления своих же ошибок и качества работы.

А почему просто не назначить стиль этм эпиграфам?
И да, все же склоняюсь к варианту, что показал на картинке выше
- стиль абзаца, эпиграфам, будет назначен однозначно
- но способов компенсации разностей высот, для единой позиции основного текста..

- ваш вариант понял. Понимаю и вашу логигку. Спасибо

но, не совсем подходит:
~100стр по выносу в эпиграфа в фрейм
*(множим) на 30-50 прогонов-переверсток, из-за собственных ошибок в верстке и пере-редактур текста
= 3000-5000 фреймов эпиграфа, вновь и вновь *[[...

Скрипт конечно был бы в помощь
 

Любимцев

15 лет на форуме
Сообщения
4 198
Реакции
2 055