Составной документ -- что ни делал, не выходит каменный цветок

Автор McAaron, 16 мая 2017, 13:44

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

McAaron

Добрый день, уважаемое сообщество!
Есть у меня документ (отчет о НИР), сверстанный в соответствии с ГОСТ 7. Структура типа следующей

Титульный лист
Перечень исполнителей
Реферат
Содержание
Введение
1. Раздел
1.1 Подраздел
1.1.1 Подподраздел
1.1.2 Подподраздел
1.1.3 Подподраздел
1.2 Подраздел
1.2.1 Подподраздел
1.2.2 Подподраздел
1.2.3 Подподраздел
1.3 Подраздел
...
3.2.5 Подподраздел
Заключение
Перечень литературы
Приложение А
Приложение Б
Приложение В
Заключительный лист

Есть три задачи:

(Первая)

Нужно документ разбить на части с тем, чтобы несколько людей могли над ним работать. Документ нужно разбить на основной (M) и поддокументы (I-VII) следующим образом:

--- M -------------------
Титульный лист
Перечень исполнителей
Реферат
Содержание
Введение
--- I -------------------
   1. Раздел
   1.1 Подраздел
   1.1.1 Подподраздел
   1.1.2 Подподраздел
   1.1.3 Подподраздел
--- II ------------------
1.2 Подраздел
1.2.1 Подподраздел
1.2.2 Подподраздел
1.2.3 Подподраздел
Текст
1.3 Подраздел
--- III -----------------
2. Раздел
Текст
...
--- IV -----------------
3. Раздел
Текст
...
3.2.5 Подподраздел
Текст
--- M -------------------
Заключение
Перечень литературы
--- VI -----------------
   Приложение А
   Приложение Б
--- VII -----------------
   Приложение В
--- M -------------------
Заключительный лист

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

(Вторая)
Импорт изменений стилей из основной части в подчиненные при открытии или по запросу

Третья)
Сборку структуры из всех поддокументов в оглавление, перечень рисунков и перечень таблиц (в основном документе)

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


mikekaganski

#1
https://help.libreoffice.org/Writer/Master_Documents_and_Subdocuments/ru

Вторая задача может решаться использованием "Sticky styles". Создайте соответствующий шаблон, и изменения в нём могут быть загружены в документы автоматически или по требованию.

Первая и третья, кмк, решаются просто использованием составного документа - см. приложенный пример.
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 16 мая 2017, 13:48
см. приложенный пример.
Спасибо за пример -- он таки подвинул меня разобраться с составным документом, однако обошлось не без сюрпризов.

1) Сначала попробовал разбить документ с существующей  структурой, но не нашел, как  можно указать конкретное деление документа на части. Выбрал первый пункт выпадающего перечня "Стили: [Структура: уровень 1]". Результат оказался ужасным.

2) Тогда я попытался создать составной документ с нуля (Файл -> Создать -> Составной документ).
Как выбрать шаблон мастер-документа я не разобрался, а шаблон, установленный по умолчанию, как оказалось, не используется. В результате  создается мастер-документ непонятно из чего -- поле "Файл -> Свойства -> Общие -> Шаблон:" пусто. Соответственно, никаких настроек, сохраненных в шаблонах, в документе нет.
Наверное это ошибка.
При разбиении же существующего документа мастер-документ наследует шаблон из исходного документа, что б.м. спасает положение.

Получается следующее -- чтобы создать нормальный составной документ из имеющегося в наличии, нужно:
1) создать простой документ на основе того шаблона, который требуется.
2) создать из него составной документ, при этом сформируется мастер без каких либо компонентов.
3) разобрать исходный документ на части, соответсвующие компонентам
4) используя возможности навигатора, собрать из файлов, содержащих компоненты, составной документ.

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



kompilainenn

Цитата: McAaron от 19 мая 2017, 15:02Перекрестные ссылки на уровне мастер-документа работают только в пределах компоненты. Перекрестные ссылки из одной компоненты в другую не работают. Т.е., если раздел разделить на две компоненты, перекрестные ссылки по разделу развалятся
да
Цитата: McAaron от 19 мая 2017, 15:02Ускорения пользовательского интерфейса в составном документе не наблюдается. Это тоже не слишком радует.
с чего Вы взяли, что должно быть ускорение ГУИ?
Составной документ позволяет работать с большими документами разбивая их на части, над которыми могут работать разные люди, а затем сливать их в один документ, автоматически применяя стили составного документа ко всем вложенным файлам
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

McAaron

Цитата: kompilainenn от 19 мая 2017, 19:09
с чего Вы взяли, что должно быть ускорение ГУИ?
Ностальгия:-) В свое время пришлось плотно поработать с большими составными документами LWP, которые просто не влезали целиком в 80 мегабайт памяти, котороые были у меня на компе. Там ускорение имело место в разы. Кстати, все компоненты редактировались из мастер-документа также, как и отдельно, если они не были открыты для записи. И перекрестные ссылки между компонентами работали. Вместо отдельного окна навигатора использовалась полоска с табами, что не в пример удобнее.