[ID CC-CC2021] Найти слово в начале строки

Статус
Закрыто для дальнейших ответов.

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Всем привет. Вопрос в том, что найти надо слово в начале строки, но в том случае, когда оно туда попало без моего участия, волей Индизайна. В смысле не начало ни фрейма, ни абзаца, не принудительный обрыв строки, середина абзаца, слово попало в начало строки просто потому что на предыдущей строке место закончилось. Соответственно там нет никаких дополнительных символов, маркеров, ничего.
Есть ли такая возможность? Заранее спасибо
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 187
Реакции
10 844
Скриптом
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Жаль. Но если у кого есть мысли, как это сделать, каким-нибудь неявным способом, буду благодарен за идеи. Спасибо
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
2_МВК_: Каким? Подробности можно?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 187
Реакции
10 844

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Эх, это очень долго и сложно объяснять. Если коротко, то это булетированный список, но булетированным он сделан не стилем абзаца, а стилем символа. Назначается он греп стилем тем строчкам, где есть булет. И есть строчки, которые в ширину столбца не уложились, и вот им надо сделать отступ, а для этого их надо найти. Звучит малопонятно, но всему есть причина и варианты переназначить стиль по-другому не подходят
И да, это действительно относится к любой строке кроме первой. В итоге мне нужна любая такая строка с конкретным стилем символа.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 187
Реакции
10 844
Да понятно все
Нет грепом IMHO никак, однозначно скрипт писать придется
 

MT

15 лет на форуме
Сообщения
246
Реакции
93
Если вам поможет поиск целой не первой строки, то это возможно без скрипта.
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
2MT: Можно подробнее? Отсчёт идёт от чего? В смысле, не первая строка от начала абзаца или от любого принудительного обрыва строки?
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
А вот я пока не понял самого принципа форматирования.

Левый отступ – это свойство абзаца, а не отдельной строки.

Найти строку от буллета до любого обрыва строки так:
PHP:
(?m)\x{2022}.+
 

MT

15 лет на форуме
Сообщения
246
Реакции
93
Не первая строка от начала абзаца.
Можно в стиле задать Nested Line Style.
Например:
1-я -- Стиль 1
2-я -- Стиль 2
и т.д.
В этих символьных стилях надо задать какое-то отличие,
я обычно задаю цвет.
Ищем текст заданного цвета -- получаем строку.
 
  • Спасибо
Реакции: NNN5

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
2MT:Не, так не выйдет. Булет не первая строка абзаца. На работе не могу выложить картинку, чтобы пояснить, только вечером
2simideus: Булет мне как раз искать не нужно. Искать нужно следующую за булетом строку, если строка с булетом не поместилась целиком.
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Про строку за буллетом я понял, но что вы потом будете с ней делать?

Если задать ей левый отступ, то он распространится на весь абзац.

Вы вручную можете добиться нужного результата? Тогда процесс можно автоматизировать, но я пока не понимаю что должно получиться в итоге.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 187
Реакции
10 844
Я так вангую хотят такое:
  • строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка 1 строка
  • строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка 2 строка
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
О чем и речь, отступ задать нельзя, иначе и искать бы ничего не пришлось. В искомом месте надо поставить принудительный обрыв строки и табуляцию. Вечером выложу скрин с пояснением
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
2_MBK_: В смысле внешнего вида правильно. А речь о том, что настройками отступа это не задать, потому что и строки с отступом и строки без него, находятся в пределах одного абзаца и отличаются стилем символа
 

Gadalka

R.I.P.
Сообщения
2 530
Реакции
868

similideus

12 лет на форуме
Сообщения
671
Реакции
349
PHP:
#target indesign
var grepString = "^~8.+";
var addString = "\n\t";

// Возвращает массив [Object Text] всех пунктов списка
function getBulletStrings(regExp){
    app.findGrepPreferences.findWhat = regExp;
    return app.findGrep();
}
// Возвращает текстовый массив из вторых строк
function getSecondLines(arr) {
    var result = [];  
    for (var i=0; i < arr.length; i++) {
        if (arr[i].lines.length > 1) {result.push(arr[i].lines[1].contents)}
    }
    return result;
}
// Добавляет перевод строки и табуляцию в начало подстроки
function doGrep(arr, prefix) {
     for (var i=0; i < arr.length; i++) {
        app.findTextPreferences.findWhat = arr[i];
        app.changeTextPreferences.changeTo = prefix + arr[i];
        app.changeText();
    }
    return true;
}

var bulletArr = getBulletStrings(grepString);
var textsArr = getSecondLines(bulletArr);
doGrep(textsArr, addString);

alert("All Done!");
 
Статус
Закрыто для дальнейших ответов.