[ID CC-CC2022] Стили, как автоматом убрать + во всех фреймах

  • Автор темы Автор темы Sergy
  • Дата начала Дата начала

Sergy

Топикстартер
10 лет на форуме
Сообщения
35
Реакции
10
Добрый день коллеги, столкнулся с тем что стиль присвоенный сноскам стоит везде (почти везде) со знаком"+" (и кегль крупнее на 2 пункта. character style везде none).
Да. щелчек по + с нажатием ALT исправляет ситуацию но щелкнуть по 1000+ сносок…
Поиск/замена с повторным присвоением стиля (переименование, создание стиля с другим названием) теперь не работает (в прежних версиях точно работала).
Я что-то упустил на старости лет и пора на пенсию? И есть ли некий способ победить упрямые стили.
Пока пришло в голову только одно - одновременно присваивать всем текстам одновременно character style и paragraf style но это как-то … есть более правильные решения?
 
Поиск/замена с повторным присвоением стиля … теперь не работает.
Не правда Ваша.
Вот это
120461
включено в поиске?

120462
 
Последнее редактирование:
конечно включено, ищет он прекрасно, он при замене не убирает знак + со стиля, если character style везде none
 
вообще говоря, стиль сносок здесь надо менять

Screenshot 2019-07-26 01.44.20.png
 
Добрый день коллеги, столкнулся с тем что стиль присвоенный сноскам стоит везде (почти везде) со знаком"+" (и кегль крупнее на 2 пункта. character style везде none).
Да. щелчек по + с нажатием ALT исправляет ситуацию но щелкнуть по 1000+ сносок…
Поиск/замена с повторным присвоением стиля (переименование, создание стиля с другим названием) теперь не работает (в прежних версиях точно работала).
Я что-то упустил на старости лет и пора на пенсию? И есть ли некий способ победить упрямые стили.
Пока пришло в голову только одно - одновременно присваивать всем текстам одновременно character style и paragraf style но это как-то … есть более правильные решения?
Для массовой чисти давно накидывал скриптик - убирает переназначение текстовых стилей в выделенных объектах.
Для конкретной задачи можно подпилить напильником
Код:
#target "Indesign"
/**
Сбрасывает изменения стилей для выбранных текстовых блоков
(c) 2014 Евгений Борисов.
*/

try {
    var mySel = app.activeDocument.selection;
    var l = mySel.length;
} catch (err) {
     exit();
}  

var i=0;
while (i++ < l ) {
     try {
        mySel[i].paragraphs.everyItem().clearOverrides(OverrideType.ALL);
      } catch (err) {}
}
 
В масштабе всего документа можно обойтись без цикла.
Данный пример захватывает еще и тексты в таблицах (3 строка)
JavaScript:
var als = app.activeDocument.stories.everyItem();
als.clearOverrides(OverrideType.ALL); // обычные тексты
if (als.tables.length) { als.tables.everyItem().cells.everyItem().texts[0].clearOverrides(OverrideType.ALL) } // таблицы
 
Подскажите для тупых, как соединить два скрипта: чтоб обрабатывать и текст и таблицы, но не во всем документе, а только выделенном куске?
 
еще раз хочу заметить, что в случае сносок все это не нужно, достаточно применить, либо заменить стиль в Document Footnote Options, и оверрайды уходят.

до: Screenshot 2019-07-27 14.09.48.png

применяем:Screenshot 2019-07-27 14.10.13.png

после:Screenshot 2019-07-27 14.10.21.png
 
Последнее редактирование:
скрин в сообщении #2:Третий выпадающий список — выбрать Selection ("выбранное" (Каламбур-с :)
я ж другое спрашивал... с поиском и заменой понятно, только стилей может быть штук 20 например.
 
ммм....может, временно, вытащить этот кусок в отдельный док? (если я правильно понял)
 
да просто речь про скрипт к выделенному тексту (или цепочке фреймов) с таблицами.... чтоб не поиском заменой два десятка стилей проходить
 
Вот так должно работать
JavaScript:
#target "Indesign"

main();

function main(){
    if (app.activeDocument.selection.length){
        var mySel = app.activeDocument.selection;
        var l = mySel.length;
        
        for (var i = 0; i < l; i++) {
            var tf = mySel[i];
            tf.paragraphs.everyItem().clearOverrides(OverrideType.ALL); // обычные тексты
            if (tf.tables.length) { tf.tables.everyItem().cells.everyItem().texts[0].clearOverrides(OverrideType.ALL) } // таблицы
        }
    }
}
 
  • Спасибо
Реакции: RIKITIKI
Для массовой чисти давно накидывал скриптик - убирает переназначение текстовых стилей в выделенных объектах.
Для конкретной задачи можно подпилить напильником
Код:
while (i++ < l ) {
     try {
        mySel[i].paragraphs.everyItem().clearOverrides(OverrideType.ALL);
      } catch (err) {}
}
Минут 10 не мог понять, почему при попытке скрестить мой скрипт с вашим вылезает ошибка. Оказалось, у вас цикл while с самого старта начинает передавать внутрь i = 1, а не 0, как положено. Если выделен только один фрейм, ничего не сбрасывается. Советую переделать на банальный for