Переносы -- как запретить для отдельных слов?

Автор McAaron, 8 февраля 2018, 20:58

0 Пользователи и 1 гость просматривают эту тему.

McAaron

Добрый день!

Встретился с неприятной проблемой -- в слове "С++" второй крест отрывается от первого и переносится на новую строку (первая строка в примере). В каждом отдельном случае можно с этоим справиться, откорректировав интервал между символами (вторая строка в примере), но в общем случае перелом можно не заметить и облажаться.
Можно ли запретить переносы в предопределенных словах?

Yakov

В данном случае текст переносится даже при отключённом автоматическом переносе.

mikekaganski

У каждого символа UNICODE есть закреплённые стандартом свойства, например, когда можно разрывать строку перед/после символа. Плюс не является "буквой слова" и допускает разрывы перед/после, если не стоит рядом с буквой слова. Поэтому, в частности, невозможно задать "слово" C++ (потому что это не слово с т.з. классификации символов UNICODE). Но можно вставить между нужными символами (двумя плюсами) специальный символ "No-width no break" (Insert->Formatting Mark), и добавить соответствующую запись автозамены.
С уважением,
Михаил Каганский

McAaron

#3
Цитата: mikekaganski от  9 февраля 2018, 09:23
Но можно вставить между нужными символами (двумя плюсами) специальный символ "No-width no break" (Insert->Formatting Mark), и добавить соответствующую запись автозамены.
В русском офисе в меню (Вставка->Символ форматирования) есть только один пункт, котороый "склеивает" кресты -- это "невидимый мягкий разделитель".

Спасибо. Все получилось.

Вообще, автозамена -- очень полезная штука.
Скорее всего, все пользователи LO знают, что при анализе источника автозамены поддерживаются регулярные выражения, но меня это приятно удивило и я с радости понаделал разного рода ускорителей, типа стрелочек, степеней, градусов и прочих верхних индексов.

economist

Кстати, огромное спасибо разработчикам OpenOffice|LibreOffice, что они "разбивают" все символы: и кресты, и полумесяцы - посимвольно. Благодаря этому даже Поля базы данных и Пользовательские поля - переносятся, выравниваются, участвуют в выключке - как обычный текст, не приводят к жидким строкам. Word XP/97/2k/2k3 этого не умел. Вот еще и бы орфография по ним проверялась - вообще было здорово...

А название языка С++ - пример крайне неудачного нейминга. Си-шарп, C# - вы спросите у 1000 выпускников вузов о связи этих понятий: будете разочарованы.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

McAaron

#5
Цитата: economist от  9 февраля 2018, 14:50
А название языка С++ - пример крайне неудачного нейминга.
В смысле, "плюс-плюс"? Согласен -- в оригинале было "кросс-кросс". Отсюда и суффикс ".cc".
А '#' в переводе на русский не "шарп", а "диез". Приходят в отрасль люди с ДК-комплексом, в результате появляются "директории" и "шарпы".