- Сообщения
- 811
- Реакции
- 726
Есть несколько скриптов, которые позволяют переназначать абзацные стили.
1) setParaStyles v2.1 (Б. Кащеев, @boriskasmoscow ), где можно выстроить строгую очередность следования стилей.
2) ParagraphStyleChanger v2.75 (Stephan Möbius), где можно выстраивать пары "Если за стилем "1" идет стиль "2", то стиль "1" меняется на стиль "3", а стиль "2" меняется на стиль "4"
3) Change Consecutive Paragraphs Pro v2.1.1 (Ariel Walden) - мощный инструмент с возможностями п. 2, но с дополнительной возможностью записывания этих цепочек и компоновки их в батч.
Расстраивало только то, что все они являются обособленными скриптами с интерфейсом. Возникла необходимость сделать подобный инструмент просто выполняемым скриптом.
Каждую функцию выделил в отдельный скрипт и добавил файл для тестирования его возможностей. В каждом скрипте привел пример, как записывать строки поиска и замены абзацных стилей, включая абзацные стили в группе и в "группе-в-группе".
В отдельном архиве полный скрипт (Global_Paragraph_Styles_Remapping_v1.zip). Используя все три функции переназначения и грамотно располагая их иерархически, можно добиться максимально возможного назначения абзацных стилей в тексте.
Скрипт будет полезен для верстки научных журналов, где идут подряд с десяток стилей (doi, название статьи, авторы, место работы, резюме, ключевые слова, конфликты интересов, цитирование, затем то же на английском и проч.)
В комплекте с безинтерфейсным скриптом по "поиску/замене" можно рутинную работу по: а) первоначальной разметке опорных стилей, б) переназначению остальных стилей на основе размеченных, и последующему в) "поиску/замене" в каждом отдельном стиле - превратить в безмятежное чаепитие.
1) setParaStyles v2.1 (Б. Кащеев, @boriskasmoscow ), где можно выстроить строгую очередность следования стилей.
2) ParagraphStyleChanger v2.75 (Stephan Möbius), где можно выстраивать пары "Если за стилем "1" идет стиль "2", то стиль "1" меняется на стиль "3", а стиль "2" меняется на стиль "4"
3) Change Consecutive Paragraphs Pro v2.1.1 (Ariel Walden) - мощный инструмент с возможностями п. 2, но с дополнительной возможностью записывания этих цепочек и компоновки их в батч.
Расстраивало только то, что все они являются обособленными скриптами с интерфейсом. Возникла необходимость сделать подобный инструмент просто выполняемым скриптом.
JavaScript:
// Global Paragraph Styles Remapping
// Глобальное переназначение абзацных стилей
// densen
// v.1 (15.03.2023)
// Присутствуют три функции переназначения абзацных стилей:
// remapDownShort (Вниз на определенное количество абзацей)
// remapDownShort ("Стиль 1", "Стиль 2", "Стиль 3", количество)
// Если после абзаца со "Стиль 1" следует абзац со "Стиль 2", то [количество] абзацей, следующих после абзаца со "Стиль 1" и имеющих "Стиль 2", будут переназначены в "Стиль 3"
// remapDownLong (Вниз, пока не встретится другой стиль)
// remapDownLong ("Стиль 1", "Стиль 2", "Стиль 3")
// Если после абзаца со "Стиль 1" следует абзац со "Стиль 2", то до тех пор, пока абзацы, следующие за абзацем со "Стиль 1", будут иметь "Стиль 2", все они будут переназначены в "Стиль 3"
// remapUpShort (Вверх на определенное количество абзацей)
// remapUpShort ("Стиль 1", "Стиль 2", "Стиль 3", количество)
// Если абзацу со "Стиль 1" предшествует абзац со "Стиль 2", то [количество] абзацей, предшествующих абзацу со "Стиль 1" и имеющих "Стиль 2", будут переназначены в "Стиль 3"
// Если абзацные стили находятся вне групп, то можно подставлять имя стиля в кавычках - "Text", "Head", "Мой стиль" и т.д.
// Если абзацные стили находятся в группах, или в группах, расположенных в группах, то для удобства можно вводить переменные (обязательно прочитайте раздел "ВНИМАНИЕ!!!")
// var MT = app.activeDocument.paragraphStyleGroups.item("Article").paragraphStyles.item("Main Text"); // Переменная имени стиля "Main Text", расположенного в группе "Article"
// var DOI = app.activeDocument.paragraphStyleGroups.item("Article").paragraphStyleGroups.item("Head").paragraphStyles.item("DOI"); // Переменная имени стиля "DOI", расположенного в группе "Head", которая в свою очередь расположена в группе "Article"
// ВНИМАНИЕ!!!
// Если требуется найти какой-либо стиль в тексте ("Стиль 1" или "Стиль 2"), и этот стиль находится в группе, то к переменной стиля добавляется ".name".
// В этом случае, если задана переменная:
// var MT = app.activeDocument.paragraphStyleGroups.item("Article").paragraphStyles.item("Main Text")
// ...то вместо "Стиль 1" и "Стиль 2" нужно подставлять переменные с суффиксом ".name", то есть MT.name и т.п.
// Если требуется заменить на какой-то стиль в тексте, и этот стиль находится в группе, то вместо "Стиль 3" ставится просто переменная MT.
Каждую функцию выделил в отдельный скрипт и добавил файл для тестирования его возможностей. В каждом скрипте привел пример, как записывать строки поиска и замены абзацных стилей, включая абзацные стили в группе и в "группе-в-группе".
В отдельном архиве полный скрипт (Global_Paragraph_Styles_Remapping_v1.zip). Используя все три функции переназначения и грамотно располагая их иерархически, можно добиться максимально возможного назначения абзацных стилей в тексте.
Скрипт будет полезен для верстки научных журналов, где идут подряд с десяток стилей (doi, название статьи, авторы, место работы, резюме, ключевые слова, конфликты интересов, цитирование, затем то же на английском и проч.)
В комплекте с безинтерфейсным скриптом по "поиску/замене" можно рутинную работу по: а) первоначальной разметке опорных стилей, б) переназначению остальных стилей на основе размеченных, и последующему в) "поиску/замене" в каждом отдельном стиле - превратить в безмятежное чаепитие.
Вложения
Последнее редактирование: