Стили сбрасываются на Default (Базовый) при сохранении

Автор Feonik, 28 сентября 2017, 13:29

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

Feonik

Похоже, остается только два варианта. Или вручную переносить всё форматирование, просматривая исходные файлы. Или использовать какую-то альтернативу. Из всех просмотренных свободных текстовых процессоров мне видится наиболее подходящим LyX. Который не видится лёгким для освоения, так как с TeX-подобными делал только некоторые пробы.

kompilainenn

раз пошла такая пьянка, то не советую LyX, а советую нормальный LaTeX. Найдите конвертер из вашего формата в латех и пробуйте. Страшного ничего нет там
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

После Ctrl+M нужно еще и Ctrl+0 (обычный стиль, Основной текст) - советую такое сочетание назначить, если его нет.

Работал с 700-страничными документами в этих же версиях OpenOffice|LibreOffice. Стили подменялись только если формат файла был DOC или сделан был пересохранением из DOC в ODT. Переделки, скажем, дисеров - делаю вставкой неформатированного текста в пустой ODT. Далее - поглядываем в оригинал DOC в другом приложении (или в PDF) - и быренько ставим стили, благо они уже по ГОСТу в самом odt-файле.       
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Feonik

#18
Попалась идея, которую можно использовать по проблеме.

Нужно найти всё прямое форматирование и отметить его какими-либо тегами, наподобие HTML. Это можно сделать автоматически. Затем скопировать полученный текст без сохранения форматирования в новый документ. Далее заменить теги на соответствующие стили.

Например, текст, набранный одновременно и болдом, и италиком отметить, как вариант, так:
Текст базового формата, текст с {bi}болдом и италиком{/bi} и опять текст базового формата.
(Использую фигурные скобки, чтоб движок форума не съел угловые, хотя в данном случае можно использовать любое обозначение тега.)

В LibreOffice для этого можно использовать уже упомянутый ранее AltSearch.

Еще как вариант - импортировать текст в HTML. Получим тот же тегированный текст. А далее открыть полученный текст как простой текст и сделать аналогичные замены.

Это чтобы не вручную отслеживать.

Feonik

Осталось знать все случаи, наподобие Ctrl+M, при которых в LibreOffice теряются стили, чтобы их избегать.

Feonik

Еще идея. Перед тем, как расставлять нужные стили, заменить стили базовый абзаца и базовый символа на свои, которые основаны на базовых и отличаются от них только названиями. То есть в тексте нигде не должно быть базовых стилей вовсе. Далее расставлять свои стили.

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

mikekaganski

Offtopic: в принципе базовый стиль абзаца по задумке не предназначен для прямого использования напрямую. Это должна быть просто база для остальных (уже используемых) стилей, где можно централизованно задавать параметры, общие для всех дочерних стилей... так что и так по-хорошему в документе не должно быть базового
С уважением,
Михаил Каганский

kompilainenn

Feonik, всё, что Вы предлагаете, - это шаманство, которого просто не должно быть, потому что офисный пакет не должен такого поведения с пропажей форматироания допускать в принципе
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Feonik

Цитата: mikekaganski от  1 октября 2017, 16:46
Offtopic: в принципе базовый стиль абзаца по задумке не предназначен для прямого использования напрямую. Это должна быть просто база для остальных (уже используемых) стилей, где можно централизованно задавать параметры, общие для всех дочерних стилей... так что и так по-хорошему в документе не должно быть базового
Возможна ситуация, когда в стиле абзаца выставили весь формат, в том числе и символов. Но тогда для символов всё равно остается базовый формат. То есть и его нужно заменить.

Feonik

Цитата: kompilainenn от  1 октября 2017, 16:56
Feonik, всё, что Вы предлагаете, - это шаманство, которого просто не должно быть, потому что офисный пакет не должен такого поведения с пропажей форматироания допускать в принципе
Тогда мне остается только взять исходники этого офисного пакета и внести нужные исправления :)

А пока не внёс, приходится искать обходные манёвры.

mikekaganski

Цитата: Feonik от  1 октября 2017, 16:59
Возможна ситуация, когда в стиле абзаца выставили весь формат, в том числе и символов. Но тогда для символов всё равно остается базовый формат. То есть и его нужно заменить.

Не понял, как это относится к сказанному мной, и почему из этого следует необходимость замены стилей символов
С уважением,
Михаил Каганский

Feonik

Цитата: mikekaganski от  1 октября 2017, 15:19Не понял, как это относится к сказанному мной
Извиняюсь, к Вашему, пожалуй, никак. Только как заметка.

kompilainenn

Цитата: Feonik от  1 октября 2017, 15:00Тогда мне остается только взять исходники этого офисного пакета и внести нужные исправления
было бы неплохо
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Форматирование отдельных слов - делается форматами символов и по Ctrl+M оно не сбросится.
По моему опыту доведения до ума Word-документов - никакого спец "разстилевателя" не нужно, даже AltSearch не нужен.

Обычный Ctrl+H прекрасно заменит все стили на "Основной текст", заголовки легко пробиваются по Ctrl+1, 2, 3, 4. В Фильтре "Используемые стили" по F11 в итоге не должно быть ничего лишнего, хотя слово Базовый будет присутствовать.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Feonik

#29
Цитата: economist от  1 октября 2017, 16:37Форматирование отдельных слов - делается форматами символов
Задача как раз том, чтобы сохранить уже сделанное форматирование, изначально выполненное без стилей, прямым форматированием. Его очень много, менять вручную очень долго. Инструментами типа AltSearch заменил его на стили. Но при сбросе всего ненужного прямого форматирования стили теряются при сохранении, причем без видимой зависимости, что будет потеряно в очередной раз. Нашел обходной маневр, который описал выше.