[ID CC-CC2022] Цифры, знаки препинания, пробелы

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

Bebs

Топикстартер
20 лет на форуме
Сообщения
466
Реакции
223
Снимок экрана 2020-01-11 в 13.05.16.png
Дано:
Ссылки на список литературы. Набраны в верхнем регистре (символьным стилем "SUPER"). Количество цифр может быть от одной до трех. Возможны варианты:
1) диапазон: 48—50
2) перечень: 48, 50 (до пяти чисел)
3) перечень с диапазоном: 48, 50—52
Нужно поменять местами ссылки и знаки препинания. Здесь тоже варианты
1) точка
2) запятая
3) точка с запятой
4) двоеточие
Часто, но не везде, после знака препинания пробел, который нужно удалить.
Никак не соображу как же составить Grep-запрос (или цепь запросов) на поиск—замену
 
1. Пометить все ссылки, например цветом (можно временно задать в свойствах символьного стиля).
2. Так же пометить все знаки препинания.
3. Замена в помеченном: ([.,;:])\h*(\d.*\d) на $2$1
4. Убрать пометочное форматирование.

(Записано навскидку, не проверялось).
 

Не по теме:
По правилам перед номером сноски в тексте ставится тонкий пробел, 2 пт, (Ctrl+Shift+Alt+M). Кроме случаев, когда перед ним стоят символы "точка", "запятая", "!..", "?.." или многоточие. У вас № 48 через пробел от точки отстоит, А № 47 вообще без пробела.
 
Последнее редактирование:
а так)))

(?<!\d)([.,;:])\h*(\d.*\d?)
 
  • Спасибо
Реакции: Bebs
Но с заменой проблема. Теперь регистр ссылки становится нормальным, а знака препинания — верхним
Снимок экрана 2020-01-11 в 15.12.01.pngСнимок экрана 2020-01-11 в 15.14.14.png
 
ну не вполне. лень до конца продумывать.

если есть конструкция "1985<сноска>1, 2<сноска>." - будет плохо)
 
В конечном итоге получился следующий алгоритм.
Вначале все ссылки на литературу с помощью несложной цепочки замен заключил в квадратные скобки. Затем с помощью конструкции
Код:
(?<!\d)([.,;:])\h*(\[.+\])
поменял их местами с знаками препинания, а затем вернул знакам препинания нормальный вид.
Снимок экрана 2020-01-11 в 16.02.18.png
 
между 35, 36 пробел какой-то огромный, подозреваю что он не superscript